Read in Hetatms, allow for models, highlight in canvas
[jalview.git] / src / MCview / PDBfile.java
index 2b22b24..c4fe563 100755 (executable)
@@ -71,7 +71,9 @@ public class PDBfile extends jalview.io.FileParse {
 \r
     public void parse()\r
     {\r
+        PDBChain tmpchain;\r
         String line;\r
+        boolean modelFlag = false;\r
         for (int i = 0; i < lineArray.size(); i++)\r
         {\r
 \r
@@ -83,16 +85,29 @@ public class PDBfile extends jalview.io.FileParse {
              continue;\r
            }\r
 \r
-                if (line.indexOf("ATOM") == 0) {\r
+           if(line.indexOf("MODEL")==0)\r
+             modelFlag = true;\r
+\r
+           if(modelFlag && line.indexOf("ENDMDL")==0)\r
+             break;\r
+\r
+           if (line.indexOf("ATOM")==0 || line.indexOf("HETATM")==0 )\r
+            {\r
                     try {\r
                         Atom tmpatom = new Atom(line);\r
 \r
-                        if (findChain(tmpatom.chain) != null)\r
+                        //Jalview is only interested in CA bonds????\r
+                        if(!tmpatom.name.equals("CA"))\r
+                          continue;\r
+\r
+                        tmpchain = findChain(tmpatom.chain);\r
+                        if ( tmpchain != null)\r
                         {\r
-                            findChain(tmpatom.chain).atoms.addElement(tmpatom);\r
-                        } else\r
+                          tmpchain.atoms.addElement(tmpatom);\r
+                        }\r
+                        else\r
                         {\r
-                            PDBChain tmpchain = new PDBChain(tmpatom.chain);\r
+                            tmpchain = new PDBChain(tmpatom.chain);\r
                             chains.addElement(tmpchain);\r
                             tmpchain.atoms.addElement(tmpatom);\r
                         }\r