import jalview.util.MapList;
import java.util.BitSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Vector;
public int[] gapMap();
/**
+ * Build a bitset corresponding to sequence gaps
+ *
+ * @return a BitSet where set values correspond to gaps in the sequence
+ */
+ public BitSet gapBitset();
+
+ /**
* Returns an int array where indices correspond to each position in sequence
* char array and the element value gives the result of findPosition for that
* index in the sequence.
*/
public List<DBRefEntry> getPrimaryDBRefs();
- 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();
- void setHasInfo(boolean status);
-
/**
* Returns a (possibly empty) list of sequence features that overlap the given
* alignment column range, optionally restricted to one or more specified
*/
BitSet getInsertionsAsBits();
- void mapToReference(AlignmentAnnotation rf);
-
/**
* Replaces every occurrence of c1 in the sequence with c2 and returns the
* number of characters changed
*/
void setGeneLoci(String speciesId, String assemblyId,
String chromosomeId, MapList map);
+
+
+ /**
+ * Returns the sequence string constructed from the substrings of a sequence
+ * defined by the int[] ranges provided by an iterator. E.g. the iterator
+ * could iterate over all visible regions of the alignment
+ *
+ * @param it
+ * the iterator to use
+ * @return a String corresponding to the sequence
+ */
+ String getSequenceStringFromIterator(Iterator<int[]> it);
+
+ /**
+ * Locate the first position in this sequence which is not contained in an
+ * iterator region. If no such position exists, return 0
+ *
+ * @param it
+ * iterator over regions
+ * @return first residue not contained in regions
+ */
+ int firstResidueOutsideIterator(Iterator<int[]> it);
+
+ /**
+ * Answers true if this sequence has an associated Hidden Markov Model
+ *
+ * @return
+ */
+ boolean hasHMMProfile();
}