import info.bioinfweb.libralign.model.utils.AlignmentModelUtils;
import info.bioinfweb.libralign.multiplealignments.AlignmentAreaList;
import info.bioinfweb.libralign.multiplealignments.MultipleAlignmentsContainer;
+import info.bioinfweb.libralign.pherogram.model.PherogramAlignmentRelation;
import info.bioinfweb.libralign.pherogram.model.PherogramAreaModel;
import info.bioinfweb.libralign.pherogram.model.ShiftChange;
import info.bioinfweb.libralign.pherogram.provider.BioJavaPherogramProvider;
String sequenceID = getReadsArea().getSequenceOrder().idByIndex(row);
PherogramArea area = getPherogramArea(sequenceID);
PherogramAreaModel pherogramAlignmentModel = area.getModel();
+
+ PherogramAlignmentRelation rightRelation = pherogramAlignmentModel.editableIndexByBaseCallIndex(
+ pherogramAlignmentModel.getRightCutPosition());
+ int rightBorder;
+ if (rightRelation.getCorresponding() == PherogramAlignmentRelation.OUT_OF_RANGE) {
+ rightBorder = rightRelation.getBeforeValidIndex() + 1;
+ }
+ else {
+ rightBorder = rightRelation.getAfterValidIndex();
+ }
+
AlignmentModelUtils.reverseComplement(model, sequenceID,
pherogramAlignmentModel.editableIndexByBaseCallIndex(
pherogramAlignmentModel.getLeftCutPosition()).getBeforeValidIndex(),
- pherogramAlignmentModel.editableIndexByBaseCallIndex(
- pherogramAlignmentModel.getRightCutPosition()).getAfterValidIndex());
+ rightBorder);
pherogramAlignmentModel.reverseComplement();
}
}
/**
* Recreates the whole consensus sequence from all single read sequences. The previous consensus
- * sequence is overwritte.
+ * sequence is overwritten.
*/
@SuppressWarnings("unchecked")
public <T> void createConsensusSequence() {