Merge branch 'develop' into trialMerge
[jalview.git] / src / jalview / datamodel / SequenceI.java
index 8dce31e..9045735 100755 (executable)
@@ -46,6 +46,10 @@ public interface SequenceI extends ASequenceI
    */
   public void setName(String name);
 
+  public HiddenMarkovModel getHMM();
+
+  public void setHMM(HiddenMarkovModel hmm);
+
   /**
    * Get the display name
    */
@@ -496,6 +500,24 @@ public interface SequenceI extends ASequenceI
   public List<DBRefEntry> getPrimaryDBRefs();
 
   /**
+   * Updates mapping of Hidden Markov Model nodes to aligned sequence positions
+   * (e.g. after an alignment edit). The nodes of the HMM (excluding the first
+   * node, with model average values), are associated in turn with non-gapped
+   * sequence positions.
+   */
+  public void updateHMMMapping();
+
+  boolean isHMMConsensusSequence();
+
+  void setIsHMMConsensusSequence(boolean isHMMConsensusSequence);
+
+  /**
+   * Answers true if the sequence has annotation for Hidden Markov Model
+   * information content, else false
+   */
+  boolean hasHMMAnnotation();
+
+  /**
    * Returns a (possibly empty) list of sequence features that overlap the given
    * alignment column range, optionally restricted to one or more specified
    * feature types. If the range is all gaps, then features which enclose it are
@@ -525,6 +547,8 @@ public interface SequenceI extends ASequenceI
    */
   BitSet getInsertionsAsBits();
 
+  void mapToReference(AlignmentAnnotation rf);
+
   /**
    * Replaces every occurrence of c1 in the sequence with c2 and returns the
    * number of characters changed
@@ -532,7 +556,7 @@ public interface SequenceI extends ASequenceI
    * @param c1
    * @param c2
    */
-  public int replace(char c1, char c2);
+  int replace(char c1, char c2);
 
   /**
    * Answers the GeneLociI, or null if not known