import jalview.datamodel.AlignmentI;
import jalview.datamodel.ContiguousI;
import jalview.datamodel.SequenceI;
+import jalview.util.Comparison;
public class JustifyLeftOrRightCommand extends EditCommand
{
{
continue;
}
+ char[] range = seq.getSequence(from, to+1);
+ if (range==null || range.length==0)
+ {
+ continue;
+ }
int dsstart = seq.getDatasetSequence().getStart();
char[] sqchar = seq.getDatasetSequence().getSequence(
-dsstart + cont.getBegin(), -dsstart + cont.getEnd() + 1);
alseq[gapstart + gp] = gc;
}
- for (int sqp = 0; sqp < sqchar.length; sqp++)
+ for (int sqp = 0,insp=0; sqp<alseq.length; sqp++)
{
- alseq[sqp + sqstart] = sqchar[sqp];
+ if (sqp < range.length && !Comparison.isGap(range[sqp]))
+ {
+ alseq[insp++ + sqstart] = range[sqp];
+ }
}
SequenceI[] sqa = new SequenceI[1];
sqa[0] = seq;
addEdit(new jalview.commands.EditCommand.Edit(
jalview.commands.EditCommand.Action.REPLACE, sqa, from,
to + 1, al, new String(alseq)));
- // addEdit(new jalview.commands.EditCommand("justify",
- // jalview.commands.EditCommand.Action.REPLACE,
- // new String(alseq), sqa, from, to + 1, al).getEdit(0));
}
performEdit(0, null);