Feature Groups added
[jalview.git] / src / jalview / appletgui / AlignFrame.java
index fbe21b5..6d70bf7 100755 (executable)
@@ -153,6 +153,7 @@ public class AlignFrame extends Frame implements ActionListener,
       SequenceFeature sf;\r
       FeatureRenderer fr = alignPanel.seqPanel.seqCanvas.getFeatureRenderer();\r
       int lineNo = 0;\r
+      String featureGroup = null;\r
       while ( (line = in.readLine()) != null)\r
       {\r
         lineNo++;\r
@@ -160,8 +161,22 @@ public class AlignFrame extends Frame implements ActionListener,
         if (st.countTokens() == 2)\r
         {\r
           type = st.nextToken();\r
-          UserColourScheme ucs = new UserColourScheme(st.nextToken());\r
-          fr.setColour(type, ucs.findColour("A"));\r
+          if(type.equalsIgnoreCase("startgroup"))\r
+          {\r
+            featureGroup = st.nextToken();\r
+          }\r
+          else if(type.equalsIgnoreCase("endgroup"))\r
+          {\r
+            //We should check whether this is the current group,\r
+            //but at present theres no way of showing more than 1 group\r
+            st.nextToken();\r
+            featureGroup = null;\r
+          }\r
+          else\r
+          {\r
+            UserColourScheme ucs = new UserColourScheme(st.nextToken());\r
+            fr.setColour(type, ucs.findColour("A"));\r
+          }\r
           continue;\r
         }\r
 \r
@@ -184,8 +199,6 @@ public class AlignFrame extends Frame implements ActionListener,
           end = Integer.parseInt(st.nextToken());\r
 \r
           seq = viewport.alignment.getSequenceAt(index);\r
-          start = seq.findIndex(start) - 1;\r
-          end = seq.findIndex(end) - 1;\r
 \r
           type = st.nextToken();\r
 \r
@@ -197,6 +210,7 @@ public class AlignFrame extends Frame implements ActionListener,
           }\r
 \r
           sf = new SequenceFeature(type, desc, "", start, end);\r
+          sf.setFeatureGroup(featureGroup);\r
 \r
           seq.addSequenceFeature(sf);\r
         }\r
@@ -213,6 +227,7 @@ public class AlignFrame extends Frame implements ActionListener,
     }\r
     catch (Exception ex)\r
     {\r
+      ex.printStackTrace();\r
       System.out.println("Error parsing groups file: " + ex);\r
     }\r
   }\r