X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcontroller%2FAlignViewController.java;h=3c766172b9b30fc6fadb48d8e8a226a35ea764a9;hb=8edebdd9789b2d93fb8f9db24b8be2c1e6317690;hp=92bd14dbc647ee1904355c05f9fcecc9a8d6839c;hpb=b13f521553582ef2fbfd7815ae25e23284babdea;p=jalview.git diff --git a/src/jalview/controller/AlignViewController.java b/src/jalview/controller/AlignViewController.java index 92bd14d..3c76617 100644 --- a/src/jalview/controller/AlignViewController.java +++ b/src/jalview/controller/AlignViewController.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-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,6 +21,7 @@ package jalview.controller; import jalview.analysis.AlignmentSorter; +import jalview.analysis.Grouping; import jalview.api.AlignViewControllerGuiI; import jalview.api.AlignViewControllerI; import jalview.api.AlignViewportI; @@ -33,6 +34,7 @@ import jalview.datamodel.SequenceCollectionI; import jalview.datamodel.SequenceFeature; import jalview.datamodel.SequenceGroup; import jalview.datamodel.SequenceI; +import jalview.io.FeaturesFile; import jalview.util.MessageManager; import java.awt.Color; @@ -85,14 +87,14 @@ public class AlignViewController implements AlignViewControllerI if (sg != null && (cs == null || cs.getSelected() == null || cs.size() == 0)) { - gps = jalview.analysis.Grouping.makeGroupsFrom( + gps = Grouping.makeGroupsFrom( viewport.getSequenceSelection(), viewport.getAlignmentView(true).getSequenceStrings( viewport.getGapCharacter()), viewport.getAlignment() .getGroups()); } else { if (cs!=null) { - gps = jalview.analysis.Grouping.makeGroupsFromCols( + gps = Grouping.makeGroupsFromCols( (sg == null) ? viewport.getAlignment().getSequencesArray() : sg.getSequences().toArray(new SequenceI[0]), cs, viewport.getAlignment().getGroups()); @@ -379,4 +381,38 @@ public class AlignViewController implements AlignViewControllerI { sortBy(typ, "Sort by Feature Score", AlignmentSorter.FEATURE_SCORE); } + + @Override + public boolean parseFeaturesFile(String file, String protocol, + boolean relaxedIdMatching) + { + boolean featuresFile = false; + try + { + featuresFile = new FeaturesFile(file, protocol).parse(viewport + .getAlignment().getDataset(), alignPanel.getFeatureRenderer() + .getFeatureColours(), false, relaxedIdMatching); + } catch (Exception ex) + { + ex.printStackTrace(); + } + + if (featuresFile) + { + avcg.refreshFeatureUI(true); + if (alignPanel.getFeatureRenderer() != null) + { + // update the min/max ranges where necessary + alignPanel.getFeatureRenderer().findAllFeatures(true); + } + if (avcg.getFeatureSettingsUI() != null) + { + avcg.getFeatureSettingsUI().discoverAllFeatureData(); + } + alignPanel.paintAlignment(true); + } + + return featuresFile; + + } }