Use PDB column format
[jalview.git] / src / MCview / PDBfile.java
index f9d842f..2b22b24 100755 (executable)
@@ -23,11 +23,13 @@ import java.io.*;
 import java.net.*;\r
 \r
 import java.util.*;\r
+import java.awt.Color;\r
 \r
 \r
 public class PDBfile extends jalview.io.FileParse {\r
     public Vector chains = new Vector();\r
     Vector lineArray = new Vector();\r
+    String id;\r
 \r
     public PDBfile(String[] lines) {\r
         for (int i = 0; i < lines.length; i++)\r
@@ -67,22 +69,29 @@ public class PDBfile extends jalview.io.FileParse {
         parse();\r
     }\r
 \r
-    public void parse() {\r
-        for (int i = 0; i < lineArray.size(); i++) {\r
-            StringTokenizer str = new StringTokenizer(lineArray.elementAt(i)\r
-                                                               .toString());\r
+    public void parse()\r
+    {\r
+        String line;\r
+        for (int i = 0; i < lineArray.size(); i++)\r
+        {\r
 \r
-            if (str.hasMoreTokens()) {\r
-                String inStr = str.nextToken();\r
+           line = lineArray.elementAt(i).toString();\r
 \r
-                if (inStr.indexOf("ATOM") != -1) {\r
+           if (line.indexOf("HEADER") == 0)\r
+           {\r
+             id = line.substring(62, 67).trim();\r
+             continue;\r
+           }\r
+\r
+                if (line.indexOf("ATOM") == 0) {\r
                     try {\r
-                        myAtom tmpatom = new myAtom(str);\r
+                        Atom tmpatom = new Atom(line);\r
 \r
-                        if (findChain(tmpatom.chain) != null) {\r
-                            //   System.out.println("Adding to chain " + tmpatom.chain);\r
+                        if (findChain(tmpatom.chain) != null)\r
+                        {\r
                             findChain(tmpatom.chain).atoms.addElement(tmpatom);\r
-                        } else {\r
+                        } else\r
+                        {\r
                             PDBChain tmpchain = new PDBChain(tmpatom.chain);\r
                             chains.addElement(tmpchain);\r
                             tmpchain.atoms.addElement(tmpatom);\r
@@ -93,7 +102,6 @@ public class PDBfile extends jalview.io.FileParse {
                             lineArray.elementAt(i).toString());\r
                     }\r
                 }\r
-            }\r
         }\r
 \r
         makeResidueList();\r
@@ -114,7 +122,6 @@ public class PDBfile extends jalview.io.FileParse {
 \r
     public PDBChain findChain(String id) {\r
         for (int i = 0; i < chains.size(); i++) {\r
-            // System.out.println("ID = " + id + " " +((PDBChain)chains.elementAt(i)).id);\r
             if (((PDBChain) chains.elementAt(i)).id.equals(id)) {\r
                 return (PDBChain) chains.elementAt(i);\r
             }\r
@@ -135,17 +142,13 @@ public class PDBfile extends jalview.io.FileParse {
         }\r
     }\r
 \r
-    public void colourBySequence()//jalview.gui.SequenceRenderer sr,\r
-                                // jalview.gui.FeatureRenderer fr)\r
-                                {\r
-            for (int i = 0; i < chains.size(); i++) {\r
-              //((PDBChain)chains.elementAt(i)).colourBySequence(sr,fr);\r
-            }\r
-    }\r
-\r
-    public void setChainColours() {\r
-        for (int i = 0; i < chains.size(); i++) {\r
-            ((PDBChain) chains.elementAt(i)).setChainColours();\r
+    public void setChainColours()\r
+    {\r
+       for (int i = 0; i < chains.size(); i++)\r
+       {\r
+            ((PDBChain) chains.elementAt(i)).setChainColours(\r
+                     Color.getHSBColor(1.0f / (float)i, .4f, 1.0f)\r
+                );\r
         }\r
     }\r
 }\r