X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2Fjabaws2%2FAAConClient.java;fp=src%2Fjalview%2Fws%2Fjws2%2Fjabaws2%2FAAConClient.java;h=f0a4b67248981b81e4779a924e62de653ba2bf20;hb=47ecacc91ed5d80b59b42d255ef5c13e79d3dfa0;hp=0000000000000000000000000000000000000000;hpb=128f413cad94e4675d241f8079dd275a4199b6d8;p=jalview.git diff --git a/src/jalview/ws/jws2/jabaws2/AAConClient.java b/src/jalview/ws/jws2/jabaws2/AAConClient.java new file mode 100644 index 0000000..f0a4b67 --- /dev/null +++ b/src/jalview/ws/jws2/jabaws2/AAConClient.java @@ -0,0 +1,102 @@ +/* + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors + * + * This file is part of Jalview. + * + * Jalview is free software: you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * Jalview is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty + * of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jalview. If not, see . + * The Jalview Authors are detailed in the 'AUTHORS' file. + */ +package jalview.ws.jws2.jabaws2; + +import jalview.api.AlignViewportI; +import jalview.datamodel.AlignmentAnnotation; +import jalview.util.MessageManager; +import jalview.ws.gui.AnnotationWsJob; +import jalview.ws.uimodel.AlignAnalysisUIText; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import compbio.data.sequence.Score; + +public class AAConClient extends JabawsAnnotationInstance +{ + // configuration for factory + public static String getServiceActionText() + { + return "calculating Amino acid consensus using AACon service"; + } + + + + private static String CALC_ID = "jabaws2.AACon"; + + public static AlignAnalysisUIText getAlignAnalysisUIText() + { + return new AlignAnalysisUIText( + compbio.ws.client.Services.AAConWS.toString(), + AAConClient.class, CALC_ID, false, true, true, true, + true, 2, MessageManager.getString("label.aacon_calculations"), + MessageManager.getString("tooltip.aacon_calculations"), + MessageManager.getString("label.aacon_settings"), + MessageManager.getString("tooltip.aacon_settings")); + } + + // instance + public AAConClient(Jws2Instance handle) + { + super(handle); + } + + @Override + List annotationFromScoreManager( + AnnotationWsJob running, AlignViewportI alignViewport, + boolean[] gapMap) + { + + Map> scoremap = scoremanager.asMap(); + int alWidth = alignViewport.getAlignment().getWidth(); + ArrayList ourAnnot = new ArrayList<>(); + for (String score : scoremap.keySet()) + { + Set scores = scoremap.get(score); + for (Score scr : scores) + { + if (scr.getRanges() != null && scr.getRanges().size() > 0) + { + /** + * annotation in range annotation = findOrCreate(scr.getMethod(), + * true, null, null); Annotation[] elm = new Annotation[alWidth]; + * Iterator vals = scr.getScores().iterator(); for (Range rng : + * scr.getRanges()) { float val = vals.next().floatValue(); for (int i + * = rng.from; i <= rng.to; i++) { elm[i] = new Annotation("", "", ' + * ', val); } } annotation.annotations = elm; + * annotation.validateRangeAndDisplay(); + */ + } + else + { + createAnnotationRowsForScores(alignViewport, gapMap, ourAnnot, + getCalcId(), alWidth, scr); + } + } + } + return ourAnnot; + } + +}