boolean colourText = false;
/**
+ * after Olivier's non-conserved only character display
+ */
+ boolean showUnconserved = false;
+
+ /**
* group members
*/
private Vector sequences = new Vector();
while (sq.hasMoreElements()) {
sequences.addElement(sq.nextElement());
};
- groupName = new String(seqsel.groupName);
+ if (seqsel.groupName!=null)
+ {
+ groupName = new String(seqsel.groupName);
+ }
displayBoxes = seqsel.displayBoxes;
displayText = seqsel.displayText;
colourText = seqsel.colourText;
cs =seqsel.cs;
if (seqsel.description!=null)
description = new String(seqsel.description);
- groupName = new String(seqsel.groupName);
hidecols = seqsel.hidecols;
hidereps = seqsel.hidereps;
idColour = seqsel.idColour;
/**
*
- * 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)
{
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;
}
}
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;
+ }
}