X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fdatamodel%2FSequence.java;h=293528d13c186a1ef6db43720f0e8b615e0d4be1;hb=3ccc8045265bf23335df3c4b7448e0d91cb7c4df;hp=b0969b5cdf686aa08a809435e17a65707d2a1bd9;hpb=797df64fa2a0a30773d0f48f5494d4155e5a8be3;p=jalview.git diff --git a/src/jalview/datamodel/Sequence.java b/src/jalview/datamodel/Sequence.java index b0969b5..293528d 100755 --- a/src/jalview/datamodel/Sequence.java +++ b/src/jalview/datamodel/Sequence.java @@ -17,9 +17,10 @@ */ package jalview.datamodel; -import java.util.*; +import jalview.analysis.AlignSeq; -import jalview.analysis.*; +import java.util.Enumeration; +import java.util.Vector; /** * @@ -53,6 +54,11 @@ public class Sequence implements SequenceI * to the residues of this sequence */ Vector annotation; + + /** + * The index of the sequence in a MSA + */ + int index = -1; /** array of seuqence features - may not be null for a valid sequence object */ public SequenceFeature[] sequenceFeatures; @@ -895,8 +901,10 @@ public class Sequence implements SequenceI { this.annotation = new Vector(); } - - this.annotation.addElement(annotation); + if (!this.annotation.contains(annotation)) + { + this.annotation.addElement(annotation); + } annotation.setSequenceRef(this); } @@ -1172,4 +1180,17 @@ public class Sequence implements SequenceI } } + /** + * @return The index (zero-based) on this sequence in the MSA. + * It returns {@code -1} if this information is not available. + */ + public int getIndex() { return index; } + + /** + * Defines the position of this sequence in the MSA. + * Use the value {@code -1} if this information is undefined. + * + * @param The position for this sequence. This value is zero-based (zero for this first sequence) + */ + public void setIndex(int value) { index = value; } }