- * Adjusts position and extent of features to allow for cut of the specified
- * (inclusive) column range. Returns a list of {originalFeature,
- * amendedFeature} for
- * <ul>
- * <li>features that have been deleted (as within the cut) - amendedFeature is
- * null</li>
- * <li>truncated features (as overlapping or spanning the cut)</li>
- * </ul>
- * Contact features that overlap the cut region are deleted. Contact features
- * that enclose the cut region are shortened.
+ * Answers the GeneLociI, or null if not known
+ *
+ * @return
+ */
+ GeneLociI getGeneLoci();
+
+ /**
+ * Sets the mapping to gene loci for the sequence
+ *
+ * @param speciesId
+ * @param assemblyId
+ * @param chromosomeId
+ * @param map
+ */
+ 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
+ */
+
+ public int firstResidueOutsideIterator(Iterator<int[]> it);
+
+
+ /**
+ * Answers true if this sequence has an associated Hidden Markov Model