From 4d23c07766621f358d8e64112f5399478886d3b1 Mon Sep 17 00:00:00 2001 From: amwaterhouse Date: Tue, 25 Jul 2006 09:32:17 +0000 Subject: [PATCH] Can load PDB file from disk --- src/MCview/PDBViewer.java | 56 ++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/src/MCview/PDBViewer.java b/src/MCview/PDBViewer.java index 87c2739..69a131c 100755 --- a/src/MCview/PDBViewer.java +++ b/src/MCview/PDBViewer.java @@ -38,7 +38,6 @@ public class PDBViewer extends JInternalFrame implements Runnable Sequence seq, SeqCanvas seqcanvas) { - /*Uncomment this to modify in Jbuilder try { jbInit(); @@ -46,17 +45,34 @@ public class PDBViewer extends JInternalFrame implements Runnable catch (Exception ex) { ex.printStackTrace(); - }*/ + } + if (entry==null) return; pdb = entry; sequence = seq; + pdbcanvas = new PDBCanvas(seqcanvas, sequence); + + if(pdb.getFile()!=null) + { + try{ + PDBfile pdbfile = new PDBfile(pdb.getFile(), + jalview.io.AppletFormatAdapter.FILE); + pdbcanvas.setPDBFile(pdbfile); + + }catch(java.io.IOException ex) + { + ex.printStackTrace(); + } + } + else + { + Thread worker = new Thread(this); + worker.start(); + } - Thread worker = new Thread(this); - worker.start(); - pdbcanvas = new PDBCanvas(seqcanvas, seq); setContentPane(pdbcanvas); StringBuffer title = new StringBuffer(sequence.getName() + ":" + pdb.getId()); @@ -80,24 +96,18 @@ public class PDBViewer extends JInternalFrame implements Runnable { try { - EBIFetchClient ebi = new EBIFetchClient(); - String query = "pdb:" + pdb.getId(); - String[] result = ebi.fetchData(query, "default","raw"); - if (result!=null) { - PDBfile pdbfile = new PDBfile(result); - pdbcanvas.setPDBFile(pdbfile); - } else { - throw new Exception("Empty result for WSDbFetch Query: "+query); - } - - try - { - jbInit(); - } - catch (Exception ex) - { - ex.printStackTrace(); - } + EBIFetchClient ebi = new EBIFetchClient(); + String query = "pdb:" + pdb.getId(); + String file = ebi.fetchDataAsFile(query, "default", "raw").getAbsolutePath(); + if (file != null) + { + PDBfile pdbfile = new PDBfile(file, jalview.io.AppletFormatAdapter.FILE); + pdbcanvas.setPDBFile(pdbfile); + } + else + { + throw new Exception("Empty result for WSDbFetch Query: " + query); + } } catch (Exception ex) { -- 1.7.10.2