Interface EditableAlignment

  • All Known Implementing Classes:
    FlexibleAlignment

    public interface EditableAlignment

    EditableAlignment is an interface that defines methods for shifting bases within an Alignment.

    Shift should work as follows. Bases within a sequence can be shifted to the right with offset > 1 to the left with offset < 1. Shifting bases will be allowed if:

  • 1: Shift would remove only gaps on one side, they will be replace with gaps on the other.
  • 2: Shift is at the end of a sequence. It will add gaps if the range location is less than the whole sequence.
  • Shifts that would delete bases will throw a IllegalEditException

    If the Alignment is an UnequalLengthAlignment it should be acceptable to shift bases in such a way as to increase (or decrease) the size of the overall length of the alignment, i.e. shift them over the edge.

Author:
David Waring