sortbytree parameter added and undo re-instated for sort by tree and sort by id
[jalview.git] / src / jalview / datamodel / SequenceGroup.java
index 561a43d..49f270d 100755 (executable)
@@ -47,6 +47,11 @@ public class SequenceGroup
 
   boolean colourText = false;
   /**
+   * after Olivier's non-conserved only character display
+   */
+  boolean showUnconserved = false;
+  
+  /**
    * group members
    */
   private Vector sequences = new Vector();
@@ -686,11 +691,12 @@ public class SequenceGroup
 
   /**
    * 
-   * returns the sequences in the group ordered by the ordering given by al
-   * 
+   * returns the sequences in the group ordered by the ordering given by al.
+   * this used to return an array with null entries regardless, new behaviour is below.
+   * TODO: verify that this does not affect use in applet or application
    * @param al
    *                Alignment
-   * @return SequenceI[]
+   * @return SequenceI[] intersection of sequences in group with al, ordered by al, or null if group does not intersect with al
    */
   public SequenceI[] getSequencesInOrder(AlignmentI al)
   {
@@ -707,7 +713,20 @@ public class SequenceGroup
         seqs[index++] = al.getSequenceAt(i);
       }
     }
-
+    if (index==0)
+    {
+      return null;
+    }
+    if (index<seqs.length)
+    {
+      SequenceI[] dummy = seqs;
+      seqs = new SequenceI[index];
+      while (--index>=0)
+      {
+        seqs[index] = dummy[index];
+        dummy[index] = null;
+      }
+    }
     return seqs;
   }
 
@@ -816,4 +835,27 @@ public class SequenceGroup
     }
     return sgroup;
   }
+
+  /**
+   * @return the showUnconserved
+   */
+  public boolean getShowunconserved()
+  {
+    return showUnconserved;
+  }
+
+  /**
+   * @param showUnconserved the showUnconserved to set
+   */
+  public void setShowunconserved(boolean displayNonconserved)
+  {
+    this.showUnconserved = displayNonconserved;
+  }
+
+  public AlignmentAnnotation getConsensus()
+  {
+    // TODO get or calculate and get consensus annotation row for this group
+    this.conserve.getConsSequence();
+    return null;
+  }
 }