Read in Hetatms, allow for models, highlight in canvas
[jalview.git] / src / MCview / PDBChain.java
index 43c8e9d..3cf73d1 100755 (executable)
@@ -39,6 +39,7 @@ public class PDBChain {
     public int pdbend = 0;\r
     public int seqstart = 0;\r
     public int seqend = 0;\r
+    public int [] seqMapping;\r
 \r
     //public DrawableSequence ds;\r
     public PDBChain(String id) {\r
@@ -57,15 +58,19 @@ public class PDBChain {
         return tmp;\r
     }\r
 \r
-    public void makeCaBondList() {\r
-        for (int i = 0; i < (residues.size() - 1); i++) {\r
+    public void makeCaBondList()\r
+    {\r
+        for (int i = 0; i < (residues.size() - 1); i++)\r
+        {\r
             Residue tmpres = (Residue) residues.elementAt(i);\r
             Residue tmpres2 = (Residue) residues.elementAt(i + 1);\r
             Atom at1 = tmpres.findAtom("CA");\r
             Atom at2 = tmpres2.findAtom("CA");\r
 \r
-            if ((at1 != null) && (at2 != null)) {\r
-                if (at1.chain.equals(at2.chain)) {\r
+            if ((at1 != null) && (at2 != null))\r
+            {\r
+                if (at1.chain.equals(at2.chain))\r
+                {\r
                     makeBond(at1, at2);\r
                 }\r
             }\r
@@ -89,11 +94,12 @@ public class PDBChain {
 \r
     public void makeResidueList() {\r
         int count = 0;\r
-        String seq = "";\r
+        StringBuffer seq = new StringBuffer();\r
 \r
-        for (int i = 0; i < atoms.size(); i++) {\r
+        int i, iSize = atoms.size()-1;\r
+        for (i = 0; i < iSize; i++)\r
+        {\r
             Atom tmp = (Atom) atoms.elementAt(i);\r
-            //String resName = tmp.resName;\r
             int resNumber = tmp.resNumber;\r
             int res = resNumber;\r
 \r
@@ -131,21 +137,23 @@ public class PDBChain {
             Atom tmpat = (Atom) tmpres.atoms.elementAt(0);\r
 \r
             // Keep totting up the sequence\r
-            if (ResidueProperties.getAA3Hash().get(tmpat.resName) == null) {\r
-                System.err.println("PDBReader:Null aa3Hash for " +\r
-                    tmpat.resName);\r
+            if (ResidueProperties.getAA3Hash().get(tmpat.resName) == null)\r
+            {\r
+                seq.append("X") ;\r
+               //  System.err.println("PDBReader:Null aa3Hash for " +\r
+               //     tmpat.resName);\r
             } else {\r
-                String tmpres2 = ResidueProperties.aa[((Integer) ResidueProperties.getAA3Hash()\r
-                                                                                  .get(tmpat.resName)).intValue()];\r
-                seq = seq + tmpres2;\r
+\r
+                seq.append(ResidueProperties.aa[((Integer) ResidueProperties.getAA3Hash()\r
+                                                                                  .get(tmpat.resName)).intValue()]);\r
             }\r
         }\r
 \r
         if(id.length()<1 || id.equals(" "))\r
            id = "_";\r
 \r
-        sequence = new Sequence(id, seq, 1, seq.length());\r
-     //   System.out.println("PDB Sequence is :\nSequence = " + seq);\r
+        sequence = new Sequence(id, seq.toString(), 1, seq.length());\r
+      //  System.out.println("PDB Sequence is :\nSequence = " + seq);\r
      //   System.out.println("No of residues = " + residues.size());\r
     }\r
 \r