import java.util.List;
import java.util.Map;
import java.util.Set;
-import java.util.function.Consumer;
/**
* Data structure to hold and manipulate a multiple sequence alignment
* - null or specific sequence reference
* @param groupRef
* - null or specific group reference
- * @param method
- * - CalcId for the annotation (must match)
*
* @return existing annotation matching the given attributes
*/
*/
AlignedCodonFrame getMapping(SequenceI mapFrom, SequenceI mapTo);
+ /**
+ * Set the hidden columns collection on the alignment
+ *
+ * @param cols
+ */
public void setHiddenColumns(HiddenColumns cols);
- public void forEachSequence(Consumer<SequenceI> c, int start, int end);
+ /**
+ * Insert a sequence at a position in an alignment
+ *
+ * @param i
+ * The index of the position.
+ * @param snew
+ * The new sequence.
+ */
+ void insertSequenceAt(int i, SequenceI snew);
+ /**
+ * Set the first sequence as representative and hide its insertions. Typically
+ * used when loading JPred files.
+ */
+ public void setupJPredAlignment();
+
+ /**
+ * Add gaps into the sequences aligned to profileseq under the given
+ * AlignmentView
+ *
+ * @param profileseq
+ * sequence in al which sequences are aligned to
+ * @param input
+ * alignment view where sequence corresponding to profileseq is first
+ * entry
+ * @return new HiddenColumns for new alignment view, with insertions into
+ * profileseq marked as hidden.
+ */
+ public HiddenColumns propagateInsertions(SequenceI profileseq,
+ AlignmentView input);
}