end of seq adjustments
[jalview.git] / src / jalview / datamodel / Sequence.java
index d35cbe8..691a1f1 100755 (executable)
@@ -2,7 +2,7 @@ package jalview.datamodel;
 \r
 import jalview.analysis.*;\r
 import java.awt.*;\r
-import java.util.StringTokenizer;\r
+import java.util.*;\r
 import MCview.*;\r
 \r
 \r
@@ -10,19 +10,38 @@ public class Sequence implements SequenceI
 {\r
   protected String   name;\r
   protected String   sequence;\r
+  protected String description;\r
   protected int      start;\r
   protected int      end;\r
-  protected String   description;\r
-  protected int      charHeight;\r
   protected String   displayId;\r
   protected Color    color = Color.white;\r
+  String pdbId;\r
   PDBfile pdb;\r
-   public int maxchain = -1;\r
 \r
+   public int maxchain = -1;\r
    public int pdbstart;\r
    public int pdbend;\r
    public int seqstart;\r
    public int seqend;\r
+\r
+   public Vector sequenceFeatures = new Vector();\r
+   public void setSequenceFeatures(Vector v)\r
+   {\r
+     sequenceFeatures = v;\r
+   }\r
+\r
+   public Vector getSequenceFeatures()\r
+   {return sequenceFeatures; }\r
+\r
+   public void setPDBId(String id)\r
+   {\r
+     pdbId = id;\r
+   }\r
+   public String getPDBId()\r
+   {\r
+     return pdbId;\r
+   }\r
+\r
    public void setPDBfile(PDBfile pdb)\r
    {\r
      this.pdb = pdb;\r
@@ -120,6 +139,8 @@ public class Sequence implements SequenceI
     return this.sequence;\r
   }\r
   public String getSequence(int start,int end) {\r
+    if(end>sequence.length())\r
+      end = sequence.length();\r
     return this.sequence.substring(start,end);\r
   }\r
 \r
@@ -163,10 +184,9 @@ public class Sequence implements SequenceI
     int j   = 0;\r
     int pos = start;\r
 \r
-    while (j < i)\r
+    while (j < i && j<sequence.length())\r
     {\r
       char c = sequence.charAt(j);\r
-\r
       if (!jalview.util.Comparison.isGap((c)))\r
         pos++;\r
 \r