Merge branch 'merge/develop_JAL-1780_JAL-653_JAL-1892' into develop
[jalview.git] / src / jalview / controller / AlignViewController.java
index 972b6ab..3be32bb 100644 (file)
@@ -33,6 +33,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;
@@ -379,4 +380,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;
+
+  }
 }