Package org.biojava.bio.alignment
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
-
-
Field Summary
Fields Modifier and Type Field Description static ChangeType
GAPS
static ChangeType
LOCATION
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
edit(Object label, Edit edit)
edit() allows edits on an individual sequence, they should be reflected back to the underlying SymbolList.void
shiftAtAlignmentLoc(Object label, Location loc, int offset)
loc in this case is the Alignment Locationvoid
shiftAtSequenceLoc(Object label, Location loc, int offset)
loc in this case is the SymbolList Location
-
-
-
Field Detail
-
LOCATION
static final ChangeType LOCATION
-
GAPS
static final ChangeType GAPS
-
-
Method Detail
-
edit
void edit(Object label, Edit edit) throws ChangeVetoException
edit() allows edits on an individual sequence, they should be reflected back to the underlying SymbolList.
- Throws:
ChangeVetoException
-
shiftAtAlignmentLoc
void shiftAtAlignmentLoc(Object label, Location loc, int offset) throws ChangeVetoException, IllegalAlignmentEditException, IndexOutOfBoundsException
loc in this case is the Alignment Location
-
shiftAtSequenceLoc
void shiftAtSequenceLoc(Object label, Location loc, int offset) throws ChangeVetoException, IllegalAlignmentEditException, IndexOutOfBoundsException
loc in this case is the SymbolList Location
-
-