Can load PDB file from disk
authoramwaterhouse <Andrew Waterhouse>
Tue, 25 Jul 2006 09:32:17 +0000 (09:32 +0000)
committeramwaterhouse <Andrew Waterhouse>
Tue, 25 Jul 2006 09:32:17 +0000 (09:32 +0000)
src/MCview/PDBViewer.java

index 87c2739..69a131c 100755 (executable)
@@ -38,7 +38,6 @@ public class PDBViewer extends JInternalFrame implements Runnable
                    Sequence seq,\r
                    SeqCanvas seqcanvas)\r
   {\r
-    /*Uncomment this to modify in Jbuilder\r
     try\r
     {\r
       jbInit();\r
@@ -46,17 +45,34 @@ public class PDBViewer extends JInternalFrame implements Runnable
     catch (Exception ex)\r
     {\r
       ex.printStackTrace();\r
-    }*/\r
+    }\r
+\r
 \r
     if (entry==null)\r
       return;\r
     pdb = entry;\r
     sequence = seq;\r
+    pdbcanvas = new PDBCanvas(seqcanvas, sequence);\r
+\r
+    if(pdb.getFile()!=null)\r
+    {\r
+        try{\r
+          PDBfile pdbfile = new PDBfile(pdb.getFile(),\r
+                                        jalview.io.AppletFormatAdapter.FILE);\r
+          pdbcanvas.setPDBFile(pdbfile);\r
+\r
+        }catch(java.io.IOException ex)\r
+        {\r
+          ex.printStackTrace();\r
+        }\r
+    }\r
+    else\r
+    {\r
+      Thread worker = new Thread(this);\r
+      worker.start();\r
+    }\r
 \r
-    Thread worker = new Thread(this);\r
-    worker.start();\r
 \r
-    pdbcanvas = new PDBCanvas(seqcanvas, seq);\r
 \r
     setContentPane(pdbcanvas);\r
     StringBuffer title = new StringBuffer(sequence.getName() + ":" + pdb.getId());\r
@@ -80,24 +96,18 @@ public class PDBViewer extends JInternalFrame implements Runnable
   {\r
     try\r
     {\r
-      EBIFetchClient ebi = new EBIFetchClient();\r
-      String query = "pdb:" + pdb.getId();\r
-      String[] result = ebi.fetchData(query, "default","raw");\r
-      if (result!=null) {\r
-        PDBfile pdbfile = new PDBfile(result);\r
-        pdbcanvas.setPDBFile(pdbfile);\r
-      } else {\r
-        throw new Exception("Empty result for WSDbFetch Query: "+query);\r
-      }\r
-\r
-      try\r
-      {\r
-        jbInit();\r
-      }\r
-      catch (Exception ex)\r
-      {\r
-        ex.printStackTrace();\r
-      }\r
+        EBIFetchClient ebi = new EBIFetchClient();\r
+        String query = "pdb:" + pdb.getId();\r
+        String file = ebi.fetchDataAsFile(query, "default", "raw").getAbsolutePath();\r
+        if (file != null)\r
+        {\r
+          PDBfile pdbfile = new PDBfile(file, jalview.io.AppletFormatAdapter.FILE);\r
+          pdbcanvas.setPDBFile(pdbfile);\r
+        }\r
+        else\r
+        {\r
+          throw new Exception("Empty result for WSDbFetch Query: " + query);\r
+        }\r
     }\r
     catch (Exception ex)\r
     {\r