endRes = end;
recalcConservation();
}
+ /**
+ * copy constructor
+ * @param seqsel
+ */
+ public SequenceGroup(SequenceGroup seqsel)
+ {
+ if (seqsel!=null)
+ {
+ sequences=new Vector();
+ Enumeration sq = seqsel.sequences.elements();
+ while (sq.hasMoreElements()) {
+ sequences.addElement(sq.nextElement());
+ };
+ if (seqsel.groupName!=null)
+ {
+ groupName = new String(seqsel.groupName);
+ }
+ displayBoxes = seqsel.displayBoxes;
+ displayText = seqsel.displayText;
+ colourText = seqsel.colourText;
+ startRes = seqsel.startRes;
+ endRes = seqsel.endRes;
+ cs =seqsel.cs;
+ if (seqsel.description!=null)
+ description = new String(seqsel.description);
+ hidecols = seqsel.hidecols;
+ hidereps = seqsel.hidereps;
+ idColour = seqsel.idColour;
+ outlineColour = seqsel.outlineColour;
+ seqrep = seqsel.seqrep;
+ textColour = seqsel.textColour;
+ textColour2 = seqsel.textColour2;
+ thresholdTextColour = seqsel.thresholdTextColour;
+ width = seqsel.width;
+ if (seqsel.conserve!=null)
+ {
+ recalcConservation(); // safer than
+ // aaFrequency = (Vector) seqsel.aaFrequency.clone(); // ??
+ }
+ }
+ }
public SequenceI[] getSelectionAsNewSequences(AlignmentI align)
{
{
return hidecols;
}
+ /**
+ * create a new sequence group from the intersection of this group
+ * with an alignment Hashtable of hidden representatives
+ *
+ * @param alignment (may not be null)
+ * @param hashtable (may be null)
+ * @return new group containing sequences common to this group and alignment
+ */
+ public SequenceGroup intersect(AlignmentI alignment, Hashtable hashtable)
+ {
+ SequenceGroup sgroup = new SequenceGroup(this);
+ Enumeration en = getSequences(hashtable).elements();
+ while (en.hasMoreElements())
+ {
+ SequenceI elem = (SequenceI) en.nextElement();
+ if (alignment.getSequences().contains(elem))
+ {
+ sgroup.addSequence(elem, false);
+ }
+ }
+ return sgroup;
+ }
}