package jalview.datamodel;
import java.util.*;
+import java.util.List;
import java.awt.*;
/**
* group members
*/
- private Vector sequences = new Vector();
+ private Vector<SequenceI> sequences = new Vector<SequenceI>();
/**
* representative sequence for this group (if any)
* consensus calculation property
*/
private boolean showSequenceLogo = false;
+
/**
* flag indicating if logo should be rendered normalised
*/
private boolean normaliseSequenceLogo;
-
/**
* @return the includeAllConsSymbols
*/
if (seqsel != null)
{
sequences = new Vector();
- Enumeration sq = seqsel.sequences.elements();
+ Enumeration<SequenceI> sq = seqsel.sequences.elements();
while (sq.hasMoreElements())
{
sequences.addElement(sq.nextElement());
return eres;
}
- public Vector getSequences(Hashtable hiddenReps)
+ public List<SequenceI> getSequences()
+ {
+ return sequences;
+ }
+
+ public List<SequenceI> getSequences(
+ Map<SequenceI, SequenceCollectionI> hiddenReps)
{
if (hiddenReps == null)
{
else
{
Vector allSequences = new Vector();
- SequenceI seq, seq2;
+ SequenceI seq;
for (int i = 0; i < sequences.size(); i++)
{
seq = (SequenceI) sequences.elementAt(i);
allSequences.addElement(seq);
if (hiddenReps.containsKey(seq))
{
- SequenceGroup hsg = (SequenceGroup) hiddenReps.get(seq);
- for (int h = 0; h < hsg.getSize(); h++)
+ SequenceCollectionI hsg = hiddenReps.get(seq);
+ for (SequenceI seq2 : hsg.getSequences())
{
- seq2 = hsg.getSequenceAt(h);
if (seq2 != seq && !allSequences.contains(seq2))
{
allSequences.addElement(seq2);
}
}
- public SequenceI[] getSequencesAsArray(Hashtable hiddenReps)
+ public SequenceI[] getSequencesAsArray(
+ Map<SequenceI, SequenceCollectionI> map)
{
- Vector tmp = getSequences(hiddenReps);
+ List<SequenceI> tmp = getSequences(map);
if (tmp == null)
{
return null;
}
- SequenceI[] result = new SequenceI[tmp.size()];
- for (int i = 0; i < result.length; i++)
- {
- result[i] = (SequenceI) tmp.elementAt(i);
- }
-
- return result;
+ return tmp.toArray(new SequenceI[tmp.size()]);
}
/**
{
return;
}
- if (cs!=null)
+ if (cs != null)
{
- cs.alignmentChanged(this);
+ cs.alignmentChanged(this, null);
}
try
{
if (cs != null)
{
cs.setConsensus(cnsns);
-
- if (cs instanceof ClustalxColourScheme)
- {
- ((ClustalxColourScheme) cs).resetClustalX(sequences, getWidth());
- }
+ cs.alignmentChanged(this, null);
}
if ((conservation != null)
if (cs.conservationApplied())
{
cs.setConservation(c);
-
- if (cs instanceof ClustalxColourScheme)
- {
- ((ClustalxColourScheme) cs).resetClustalX(sequences,
- getWidth());
- }
+ cs.alignmentChanged(this, null);
}
}
}
*
* @param alignment
* (may not be null)
- * @param hashtable
+ * @param map
* (may be null)
* @return new group containing sequences common to this group and alignment
*/
- public SequenceGroup intersect(AlignmentI alignment, Hashtable hashtable)
+ public SequenceGroup intersect(AlignmentI alignment,
+ Map<SequenceI, SequenceCollectionI> map)
{
SequenceGroup sgroup = new SequenceGroup(this);
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]))
+ if (map == null || map.containsKey(insect[s]))
{
sgroup.sequences.addElement(insect[s]);
}
/**
* set flag indicating if logo should be normalised when rendered
+ *
* @param norm
*/
public void setNormaliseSequenceLogo(boolean norm)
{
- normaliseSequenceLogo=norm;
+ normaliseSequenceLogo = norm;
}
+
public boolean isNormaliseSequenceLogo()
{
return normaliseSequenceLogo;
}
+
@Override
/**
* returns a new array with all annotation involving this group
*/
public AlignmentAnnotation[] getAlignmentAnnotation()
{
- // TODO add in other methods like 'getAlignmentAnnotation(String label), etc'
+ // TODO add in other methods like 'getAlignmentAnnotation(String label),
+ // etc'
ArrayList<AlignmentAnnotation> annot = new ArrayList<AlignmentAnnotation>();
- for (SequenceI seq:(Vector<SequenceI>)sequences)
+ for (SequenceI seq : (Vector<SequenceI>) sequences)
{
- for (AlignmentAnnotation al: seq.getAnnotation())
+ for (AlignmentAnnotation al : seq.getAnnotation())
{
- if (al.groupRef==this)
+ if (al.groupRef == this)
{
annot.add(al);
}
}
}
- if (consensus!=null)
+ if (consensus != null)
{
annot.add(consensus);
}
- if (conservation!=null)
+ if (conservation != null)
{
annot.add(conservation);
}
return annot.toArray(new AlignmentAnnotation[0]);
}
+
@Override
public Iterable<AlignmentAnnotation> findAnnotation(String calcId)
{
- ArrayList<AlignmentAnnotation> aa=new ArrayList<AlignmentAnnotation>();
- for (AlignmentAnnotation a:getAlignmentAnnotation())
+ ArrayList<AlignmentAnnotation> aa = new ArrayList<AlignmentAnnotation>();
+ for (AlignmentAnnotation a : getAlignmentAnnotation())
{
- if (a.getCalcId()==calcId)
+ if (a.getCalcId() == calcId)
{
aa.add(a);
}
}
return aa;
}
+
+ public void clear()
+ {
+ sequences.clear();
+ }
}