X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fapi%2FAlignViewControllerI.java;h=d379553563a2abbecc848371c7bd5ffcd8fe4166;hb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;hp=be845bc5e1666bf336e664f89349a65db2c5e2c4;hpb=47168f025aefdaa044802bd5f8f510ffe43a4808;p=jalview.git diff --git a/src/jalview/api/AlignViewControllerI.java b/src/jalview/api/AlignViewControllerI.java index be845bc..d379553 100644 --- a/src/jalview/api/AlignViewControllerI.java +++ b/src/jalview/api/AlignViewControllerI.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) + * Copyright (C) 2015 The Jalview Authors * * This file is part of Jalview. * @@ -22,13 +22,18 @@ package jalview.api; /** * prototype abstract controller for a Jalview alignment view + * * @author jimp * - * All operations should return true if the view has changed as a result of the operation - * @param - * + * All operations should return true if the view has changed as a result + * of the operation + * + * The controller holds methods that operate on an alignment view, + * modifying its state in some way that may result in side effects + * reflected in an associated GUI + * */ -public interface AlignViewControllerI +public interface AlignViewControllerI { public boolean makeGroupsFromSelection(); @@ -39,16 +44,55 @@ public interface AlignViewControllerI public boolean deleteGroups(); - public void setViewportAndAlignmentPanel(AlignViewportI viewport, AlignmentViewPanel alignPanel); + public void setViewportAndAlignmentPanel(AlignViewportI viewport, + AlignmentViewPanel alignPanel); /** - * Mark columns in the current column selection according to positions of sequence features - * @param invert - when set, mark all but columns containing given type - * @param extendCurrent - when set, do not clear existing column selection - * @param toggle - rather than explicitly set, toggle selection state - * @param featureType - feature type string + * Mark columns in the current column selection according to positions of + * sequence features + * + * @param invert + * - when set, mark all but columns containing given type + * @param extendCurrent + * - when set, do not clear existing column selection + * @param toggle + * - rather than explicitly set, toggle selection state + * @param featureType + * - feature type string * @return true if operation affected state */ - boolean markColumnsContainingFeatures(boolean invert, boolean extendCurrent, boolean clearColumns, String featureType); + boolean markColumnsContainingFeatures(boolean invert, + boolean extendCurrent, boolean clearColumns, String featureType); + + /** + * sort the alignment or current selection by average score over the given set + * of features + * + * @param typ + * list of feature names or null to use currently displayed features + */ + void sortAlignmentByFeatureScore(String[] typ); + + /** + * sort the alignment or current selection by distribution of the given set of + * features + * + * @param typ + * list of feature names or null to use currently displayed features + */ + void sortAlignmentByFeatureDensity(String[] typ); + + /** + * add a features file of some kind to the current view + * + * @param file + * @param protocol + * @param relaxedIdMatching + * if true, try harder to match up IDs with local sequence data + * @return true if parsing resulted in something being imported to the view or + * dataset + */ + public boolean parseFeaturesFile(String file, String protocol, + boolean relaxedIdMatching); }