X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fcommands%2FEditCommand.java;h=21ff841fca39214d2d3a76bac50f28f9dce79673;hb=67affee2e65ca942447570c35526c04d64f41fe1;hp=1cd6fccc3afa6615526fc91c67089e65a269d7f6;hpb=17e77c3f2949a0729322b4a8d907f3f34b6a9914;p=jalview.git diff --git a/src/jalview/commands/EditCommand.java b/src/jalview/commands/EditCommand.java index 1cd6fcc..21ff841 100644 --- a/src/jalview/commands/EditCommand.java +++ b/src/jalview/commands/EditCommand.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -1220,10 +1220,15 @@ public class EditCommand implements CommandI for (SequenceI seq : e.getSequences()) { SequenceI ds = seq.getDatasetSequence(); - SequenceI preEdit = result.get(ds); - if (preEdit == null) + // SequenceI preEdit = result.get(ds); + if (!result.containsKey(ds)) { - preEdit = new Sequence("", seq.getSequenceAsString()); + /* + * copy sequence including start/end (but don't use copy constructor + * as we don't need annotations) + */ + SequenceI preEdit = new Sequence("", seq.getSequenceAsString(), + seq.getStart(), seq.getEnd()); preEdit.setDatasetSequence(ds); result.put(ds, preEdit); } @@ -1236,10 +1241,10 @@ public class EditCommand implements CommandI * Work backwards through the edit list, deriving the sequences before each * was applied. The final result is the sequence set before any edits. */ - Iterator edits = new ReverseListIterator(getEdits()); - while (edits.hasNext()) + Iterator editList = new ReverseListIterator(getEdits()); + while (editList.hasNext()) { - Edit oldEdit = edits.next(); + Edit oldEdit = editList.next(); Action action = oldEdit.getAction(); int position = oldEdit.getPosition(); int number = oldEdit.getNumber(); @@ -1250,7 +1255,8 @@ public class EditCommand implements CommandI SequenceI preEdit = result.get(ds); if (preEdit == null) { - preEdit = new Sequence("", seq.getSequenceAsString()); + preEdit = new Sequence("", seq.getSequenceAsString(), + seq.getStart(), seq.getEnd()); preEdit.setDatasetSequence(ds); result.put(ds, preEdit); }