Correct label for end res in copy
[jalview.git] / src / jalview / gui / AlignFrame.java
index 3ea7ed0..727e1c6 100755 (executable)
@@ -521,7 +521,8 @@ public class AlignFrame extends GAlignFrame
             orderedSeqs.put(index + "", seq);\r
         }\r
 \r
-        int index = 0;\r
+        int index = 0, startRes, endRes;\r
+        char ch;\r
 \r
         for (int i = 0; i < sg.getSize(); i++)\r
         {\r
@@ -542,9 +543,31 @@ public class AlignFrame extends GAlignFrame
                 }\r
             }\r
 \r
+            //FIND START RES\r
+            //Returns residue following index if gap\r
+            startRes = seq.findPosition(sg.getStartRes());\r
+\r
+            //FIND END RES\r
+            //Need to find the residue preceeding index if gap\r
+            endRes = 0;\r
+\r
+            for (int j = 0; j < sg.getEndRes()+1 && j < seq.getLength(); j++)\r
+            {\r
+              ch = seq.getCharAt(j);\r
+              if (!jalview.util.Comparison.isGap( (ch)))\r
+              {\r
+                endRes++;\r
+              }\r
+            }\r
+\r
+            if(endRes>0)\r
+            {\r
+              endRes += seq.getStart() -1;\r
+            }\r
+\r
             buffer.append(seq.getName() + "\t" +\r
-                seq.findPosition(sg.getStartRes()) + "\t" +\r
-                seq.findPosition(sg.getEndRes()) + "\t" +\r
+                startRes + "\t" +\r
+                endRes + "\t" +\r
                 seq.getSequence(sg.getStartRes(),\r
                     sg.getEndRes() + 1) + "\n");\r
         }\r
@@ -762,7 +785,7 @@ public class AlignFrame extends GAlignFrame
             sg.addSequence(viewport.getAlignment().getSequenceAt(i), false);\r
         }\r
 \r
-        sg.setEndRes(viewport.alignment.getWidth());\r
+        sg.setEndRes(viewport.alignment.getWidth()-1);\r
         viewport.setSelectionGroup(sg);\r
         PaintRefresher.Refresh(null, viewport.alignment);\r
     }\r