isAligned method added
[jalview.git] / src / jalview / datamodel / SequenceGroup.java
index de746ba..4d7509d 100755 (executable)
 package jalview.datamodel;\r
 \r
-import jalview.jbgui.*;\r
 import jalview.schemes.*;\r
 import jalview.analysis.*;\r
 import jalview.datamodel.*;\r
-\r
 import java.util.Vector;\r
-import java.awt.*;\r
-\r
-public class SequenceGroup {\r
-    boolean isSelected;\r
-    boolean displayBoxes;\r
-    boolean displayText;\r
-    boolean colourText;\r
-    boolean display;\r
-    Conservation conserve;\r
-    Vector   aaFrequency;\r
-    boolean     aaFrequencyValid = false;\r
-    Vector sequences = new Vector();\r
-    int         width = -1;\r
-\r
-\r
-  public SequenceGroup() {\r
-    this.isSelected = false;\r
+\r
+public class SequenceGroup\r
+{\r
+  String groupName;\r
+  Conservation conserve;\r
+  Vector aaFrequency;\r
+  boolean displayBoxes;\r
+  boolean displayText;\r
+  boolean colourText;\r
+  boolean aaFrequencyValid = false;\r
+  public Vector sequences = new Vector();\r
+  int width = -1;\r
+  public ColourSchemeI cs;\r
+  int startRes = 0;\r
+  int endRes = 0;\r
+\r
+  public SequenceGroup()\r
+  {\r
+    groupName = "Group";\r
     this.displayBoxes = true;\r
     this.displayText = true;\r
     this.colourText = false;\r
-    this.display = true;\r
+    cs = null;\r
   }\r
 \r
-  public SequenceGroup( ColourSchemeI scheme, boolean isSelected,\r
-                        boolean displayBoxes, boolean displayText,\r
-                        boolean colourText,\r
-                        boolean display) {\r
+  public SequenceGroup(String groupName, ColourSchemeI scheme,\r
+                       boolean displayBoxes, boolean displayText,\r
+                       boolean colourText,\r
+                       int start,\r
+                       int end)\r
+  {\r
 \r
-    this.isSelected = isSelected;\r
+    this.groupName = groupName;\r
     this.displayBoxes = displayBoxes;\r
     this.displayText = displayText;\r
     this.colourText = colourText;\r
-    this.display = display;\r
+    this.cs = scheme;\r
+    startRes = start;\r
+    endRes = end;\r
+  }\r
+\r
+  public String getName()\r
+  {\r
+    return groupName;\r
+  }\r
+\r
+  public void setName(String name)\r
+  {\r
+    groupName = name;\r
+  }\r
+\r
+  public Conservation getConservation()\r
+  {\r
+    return conserve;\r
   }\r
 \r
-  public Conservation getConservation() {\r
-     return conserve;\r
+  public void setConservation(Conservation c)\r
+  {\r
+    conserve = c;\r
   }\r
-  public void addSequence(SequenceI s) {\r
-    sequences.addElement(s);\r
+\r
+  public void addSequence(SequenceI s)\r
+  {\r
+    if(!sequences.contains(s))\r
+      sequences.addElement(s);\r
+  }\r
+\r
+  public void addOrRemove(SequenceI s)\r
+  {\r
+    if(sequences.contains(s))\r
+      deleteSequence(s);\r
+    else\r
+      addSequence(s);\r
   }\r
 \r
-  public void deleteSequence(SequenceI s) {\r
+  public void deleteSequence(SequenceI s)\r
+  {\r
     sequences.removeElement(s);\r
   }\r
 \r
-  public void setColourText(boolean state) {\r
+\r
+  public int getStartRes()\r
+  {\r
+    return startRes;\r
+  }\r
+\r
+  public int getEndRes()\r
+  {\r
+    return endRes;\r
+  }\r
+\r
+  public void setStartRes(int i)\r
+  {\r
+    startRes = i;\r
+  }\r
+\r
+  public void setEndRes(int i)\r
+  {\r
+    endRes = i;\r
+  }\r
+\r
+  public int getSize()\r
+  {\r
+    return sequences.size();\r
+  }\r
+\r
+  public SequenceI getSequenceAt(int i)\r
+  {\r
+    return (SequenceI) sequences.elementAt(i);\r
+  }\r
+\r
+  public void setColourText(boolean state)\r
+  {\r
     colourText = state;\r
   }\r
-  public boolean getColourText() {\r
+\r
+  public boolean getColourText()\r
+  {\r
     return colourText;\r
   }\r
 \r
-  public void setDisplayText(boolean state) {\r
+  public void setDisplayText(boolean state)\r
+  {\r
     displayText = state;\r
   }\r
 \r
-  public boolean getDisplayText() {\r
+  public boolean getDisplayText()\r
+  {\r
     return displayText;\r
   }\r
 \r
-  public void setDisplayBoxes(boolean state) {\r
+  public void setDisplayBoxes(boolean state)\r
+  {\r
     displayBoxes = state;\r
   }\r
 \r
-  public boolean getDisplayBoxes() {\r
+  public boolean getDisplayBoxes()\r
+  {\r
     return displayBoxes;\r
   }\r
 \r
-    public int getSize() {\r
-       return sequences.size();\r
-    }\r
-    public SequenceI  getSequenceAt(int i) {\r
-       return (SequenceI)sequences.elementAt(i);\r
+  public Vector getAAFrequency()\r
+  {\r
+    if (aaFrequency == null || aaFrequencyValid == false)\r
+    {\r
+      aaFrequency = AAFrequency.calculate(sequences, 0, getWidth());\r
+      aaFrequencyValid = true;\r
     }\r
+    return aaFrequency;\r
+  }\r
 \r
-    public Vector getAAFrequency() {\r
-       if (aaFrequency == null || aaFrequencyValid == false) {\r
-           aaFrequency = AAFrequency.calculate(sequences,1,getWidth());\r
-           aaFrequencyValid = true;\r
-       }\r
-       return aaFrequency;\r
-    }\r
-    public int getWidth() {\r
-       // MC This needs to get reset when characters are inserted and deleted\r
-       if (width == -1) {\r
-           for (int i = 0; i < sequences.size(); i++) {\r
-               SequenceI seq = (SequenceI)sequences.elementAt(i);\r
-               if (seq.getLength() > width) {\r
-                   width = seq.getLength();\r
-               }\r
-           }\r
-       }\r
-\r
-       return width;\r
+  public int getWidth()\r
+  {\r
+    System.out.println("it is called");\r
+    // MC This needs to get reset when characters are inserted and deleted\r
+    for (int i = 0; i < sequences.size(); i++)\r
+    {\r
+      SequenceI seq = (SequenceI) sequences.elementAt(i);\r
+      if (seq.getLength() > width)\r
+        width = seq.getLength();\r
     }\r
+    return width;\r
+  }\r
 }\r
-\r
-\r