Only set the sequence oncecvs diff datamodel/Alignment.java
[jalview.git] / src / jalview / datamodel / SequenceGroup.java
index 2bdd5f8..76a350f 100755 (executable)
@@ -49,6 +49,10 @@ public class SequenceGroup
     int startRes = 0;\r
     int endRes = 0;\r
     Color outlineColour = Color.black;\r
+    public int thresholdTextColour = 0;\r
+    public Color textColour = Color.black;\r
+    public Color textColour2 = Color.white;\r
+\r
 \r
     /**\r
      * Creates a new SequenceGroup object.\r
@@ -119,6 +123,7 @@ public class SequenceGroup
       SequenceI [] seqs = new SequenceI[iSize];\r
       SequenceI [] inorder = getSequencesInOrder(align);\r
 \r
+\r
     for (int i = 0; i < iSize; i++)\r
     {\r
       SequenceI seq = inorder[i];\r
@@ -173,25 +178,27 @@ public class SequenceGroup
       return eres;\r
     }\r
 \r
-    public Vector getSequences(boolean includeHidden)\r
+    public Vector getSequences(Hashtable hiddenReps)\r
     {\r
-      if(!includeHidden)\r
+      if(hiddenReps == null)\r
         return sequences;\r
       else\r
       {\r
         Vector allSequences = new Vector();\r
-        SequenceI seq;\r
+        SequenceI seq, seq2;\r
         for (int i = 0; i < sequences.size(); i++)\r
         {\r
           seq = (SequenceI) sequences.elementAt(i);\r
           allSequences.addElement(seq);\r
-          if (seq.getHiddenSequences() != null)\r
+          if (hiddenReps.containsKey(seq) )\r
           {\r
-            for (int h = 0; h < seq.getHiddenSequences().getSize(false); h++)\r
+            SequenceGroup hsg = (SequenceGroup)hiddenReps.get(seq);\r
+            for (int h = 0; h < hsg.getSize(); h++)\r
             {\r
-              allSequences.addElement(\r
-                  seq.getHiddenSequences().getSequenceAt(h)\r
-                  );\r
+              seq2 = hsg.getSequenceAt(h);\r
+              if (seq2 != seq\r
+                  && !allSequences.contains(seq2))\r
+                allSequences.addElement(seq2);\r
             }\r
           }\r
         }\r
@@ -200,9 +207,9 @@ public class SequenceGroup
       }\r
     }\r
 \r
-    public SequenceI[] getSequencesAsArray(boolean includeHidden)\r
+    public SequenceI[] getSequencesAsArray(Hashtable hiddenReps)\r
     {\r
-      Vector tmp = getSequences(includeHidden);\r
+      Vector tmp = getSequences(hiddenReps);\r
       if(tmp==null)\r
         return null;\r
       SequenceI [] result = new SequenceI[tmp.size()];\r
@@ -316,7 +323,7 @@ public class SequenceGroup
      */\r
     public void addSequence(SequenceI s, boolean recalc)\r
     {\r
-        if (!sequences.contains(s))\r
+        if (s!=null && !sequences.contains(s))\r
         {\r
             sequences.addElement(s);\r
         }\r
@@ -337,7 +344,7 @@ public class SequenceGroup
 \r
         try\r
         {\r
-          cs.setConsensus(AAFrequency.calculate(sequences, 0, getWidth()));\r
+          cs.setConsensus(AAFrequency.calculate(sequences, startRes, endRes+1));\r
 \r
           if (cs instanceof ClustalxColourScheme)\r
           {\r
@@ -348,7 +355,7 @@ public class SequenceGroup
           {\r
             Conservation c = new Conservation(groupName,\r
                                               ResidueProperties.propHash, 3, sequences,\r
-                                              0, getWidth());\r
+                                              startRes, endRes+1);\r
             c.calculate();\r
             c.verdict(false, 25);\r
 \r
@@ -447,24 +454,9 @@ public class SequenceGroup
      *\r
      * @return DOCUMENT ME!\r
      */\r
-    public int getSize(boolean includeHidden)\r
+    public int getSize()\r
     {\r
-      if(!includeHidden)\r
         return sequences.size();\r
-      else\r
-      {\r
-        int total = sequences.size();\r
-        SequenceI seq;\r
-        for (int i = 0; i < sequences.size(); i++)\r
-        {\r
-          seq = (SequenceI) sequences.elementAt(i);\r
-          if (seq.getHiddenSequences() != null)\r
-          {\r
-            total += seq.getHiddenSequences().getSize(false);\r
-          }\r
-        }\r
-        return total;\r
-      }\r
     }\r
 \r
     /**\r