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);
- }
+ SequenceI[] insect=getSequencesInOrder(alignment);
+ sgroup.sequences = new Vector();
+ for (int s=0;insect!=null && s<insect.length;s++) {
+ if (hashtable==null || hashtable.containsKey(insect[s]))
+ {
+ sgroup.sequences.addElement(insect[s]); }
}
+ //Enumeration en =getSequences(hashtable).elements();
+ //while (en.hasMoreElements())
+ // {
+ // SequenceI elem = (SequenceI) en.nextElement();
+ // if (alignment.getSequences().contains(elem))
+ // {
+ // sgroup.addSequence(elem, false);
+ // }
+ // }
return sgroup;
}