JAL-1367 promote the existing representative sequence attribute to SequenceCollectionI
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Fri, 30 Aug 2013 10:53:02 +0000 (11:53 +0100)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Fri, 30 Aug 2013 10:53:02 +0000 (11:53 +0100)
src/jalview/datamodel/Alignment.java
src/jalview/datamodel/SequenceCollectionI.java

index 7b545c4..8e3fdf9 100755 (executable)
@@ -1488,4 +1488,36 @@ public class Alignment implements AlignmentI
      hasRNAStructure = true;
    }
  }
+
+ private SequenceI seqrep=null;
+
+ /**
+  * 
+  * @return the representative sequence for this group
+  */
+ public SequenceI getSeqrep()
+ {
+   return seqrep;
+ }
+
+ /**
+  * set the representative sequence for this group. Note - this affects the
+  * interpretation of the Hidereps attribute.
+  * 
+  * @param seqrep
+  *          the seqrep to set (null means no sequence representative)
+  */
+ public void setSeqrep(SequenceI seqrep)
+ {
+   this.seqrep = seqrep;
+ }
+
+ /**
+  * 
+  * @return true if group has a sequence representative
+  */
+ public boolean hasSeqrep()
+ {
+   return seqrep != null;
+ }
 }
index c5cee01..95afb3d 100644 (file)
@@ -26,7 +26,21 @@ public interface SequenceCollectionI
 
   List<SequenceI> getSequences(
           Map<SequenceI, SequenceCollectionI> hiddenReps);
-
   int getWidth();
-
+  /**
+   * 
+   * @return true if getSeqrep doesn't return null
+   */
+  boolean hasSeqrep();
+  /**
+   * get the reference or representative sequence within this collection
+   * @return null or the current reference sequence
+   */
+  SequenceI getSeqrep();
+  /**
+   * set the reference or representative sequence for this collection. 
+   * Reference is assumed to be present within the collection.
+   * @return
+   */
+  void setSeqrep(SequenceI refseq);
 }