Watch for trim left/right null widths
[jalview.git] / src / jalview / datamodel / Alignment.java
index 338294b..f0aeed9 100755 (executable)
@@ -205,13 +205,23 @@ public class Alignment implements AlignmentI
      */\r
     public void trimLeft(int i)\r
     {\r
-        for (int j = 0; j < getHeight(); j++)\r
+        int j, jSize = getHeight();\r
+        for (j = 0; j < jSize; j++)\r
         {\r
             SequenceI s = getSequenceAt(j);\r
             int newstart = s.findPosition(i);\r
 \r
-            s.setStart(newstart);\r
-            s.setSequence(s.getSequence().substring(i));\r
+            if(i>s.getLength())\r
+            {\r
+              sequences.removeElement(s);\r
+              j--;\r
+              jSize--;\r
+            }\r
+            else\r
+            {\r
+              s.setStart(newstart);\r
+              s.setSequence(s.getSequence().substring(i));\r
+            }\r
         }\r
     }\r
 \r
@@ -228,7 +238,8 @@ public class Alignment implements AlignmentI
             int newend = s.findPosition(i);\r
 \r
             s.setEnd(newend);\r
-            s.setSequence(s.getSequence().substring(0, i + 1));\r
+            if(s.getLength()>i)\r
+              s.setSequence(s.getSequence().substring(0, i + 1));\r
         }\r
     }\r
 \r