/* * 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.FeatureColourI; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.AlignmentI; import jalview.datamodel.features.FeatureMatcherSetI; import jalview.util.MessageManager; 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(AlignmentI seqs, Map featureColours, Map featureFilters) { return aacons_annotation(seqs.getWidth(), seqs, null); } private List aacons_annotation(int alWidth, AlignmentI alignViewport, boolean[] gapMap) { Map> scoremap = scoremanager.asMap(); 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, null, ourAnnot, getCalcId(), scr.getScores().size(), scr); } } } return ourAnnot; } }