Keep startRes the same after removing columns
authoramwaterhouse <Andrew Waterhouse>
Mon, 29 Aug 2005 15:51:52 +0000 (15:51 +0000)
committeramwaterhouse <Andrew Waterhouse>
Mon, 29 Aug 2005 15:51:52 +0000 (15:51 +0000)
src/jalview/appletgui/AlignFrame.java
src/jalview/gui/AlignFrame.java

index 80e8438..dc8f72b 100755 (executable)
@@ -596,7 +596,16 @@ public class AlignFrame
     addHistoryItem(new HistoryItem("Remove Gapped Columns",\r
                                    viewport.alignment,\r
                                    HistoryItem.HIDE));\r
+\r
+    //This is to maintain viewport position on first residue\r
+    //of first sequence\r
+    SequenceI seq = viewport.alignment.getSequenceAt(0);\r
+    int startRes = seq.findPosition(viewport.startRes);\r
+\r
     viewport.getAlignment().removeGaps();\r
+\r
+    viewport.setStartRes(seq.findIndex(startRes)-1);\r
+\r
     viewport.updateConservation();\r
     viewport.updateConsensus();\r
     resetAllClustalSchemes();\r
@@ -608,6 +617,11 @@ public class AlignFrame
     addHistoryItem(new HistoryItem("Remove Gaps", viewport.alignment,\r
                                    HistoryItem.HIDE));\r
 \r
+    //This is to maintain viewport position on first residue\r
+    //of first sequence\r
+    SequenceI seq = viewport.alignment.getSequenceAt(0);\r
+    int startRes = seq.findPosition(viewport.startRes);\r
+\r
     SequenceI current;\r
     int jSize;\r
 \r
@@ -645,6 +659,7 @@ public class AlignFrame
       while(j < end && j < jSize) ;\r
     }\r
 \r
+    viewport.setStartRes(seq.findIndex(startRes)-1);\r
     resetAllClustalSchemes();\r
     viewport.updateConservation();\r
     viewport.updateConsensus();\r
index 084ad7d..bdca06c 100755 (executable)
@@ -960,7 +960,15 @@ public class AlignFrame
     addHistoryItem(new HistoryItem("Remove Gapped Columns",\r
                                    viewport.alignment, HistoryItem.HIDE));\r
 \r
+    //This is to maintain viewport position on first residue\r
+    //of first sequence\r
+    SequenceI seq = viewport.alignment.getSequenceAt(0);\r
+    int startRes = seq.findPosition(viewport.startRes);\r
+\r
     viewport.getAlignment().removeGaps();\r
+\r
+    viewport.setStartRes(seq.findIndex(startRes)-1);\r
+\r
     resetAllClustalSchemes();\r
     viewport.updateConservation();\r
     viewport.updateConsensus();\r
@@ -977,6 +985,12 @@ public class AlignFrame
     addHistoryItem(new HistoryItem("Remove Gaps", viewport.alignment,\r
                                    HistoryItem.HIDE));\r
 \r
+    //This is to maintain viewport position on first residue\r
+    //of first sequence\r
+    SequenceI seq = viewport.alignment.getSequenceAt(0);\r
+    int startRes = seq.findPosition(viewport.startRes);\r
+\r
+\r
     SequenceI current;\r
     int jSize;\r
 \r
@@ -1018,6 +1032,8 @@ public class AlignFrame
       while (j < end && j < jSize);\r
     }\r
 \r
+    viewport.setStartRes(seq.findIndex(startRes)-1);\r
+\r
     resetAllClustalSchemes();\r
 \r
     viewport.updateConservation();\r