From 9bfd2651e3fd3dbadf67f5831f56fb86b4626a46 Mon Sep 17 00:00:00 2001 From: jprocter Date: Thu, 6 Jan 2011 15:53:25 +0000 Subject: [PATCH] JAL-730 --- src/MCview/Atom.java | 24 +++++++++++++++++++----- src/MCview/PDBfile.java | 13 ++++++++++--- 2 files changed, 29 insertions(+), 8 deletions(-) diff --git a/src/MCview/Atom.java b/src/MCview/Atom.java index 8b160ef..0a3bd39 100755 --- a/src/MCview/Atom.java +++ b/src/MCview/Atom.java @@ -50,9 +50,10 @@ public class Atom public int atomIndex; public float occupancy = 0; - + public float tfactor = 0; - + // need these if we ever want to export Atom data + // public boolean tfacset=true,occset=true; public boolean isSelected = false; public Atom(String str) @@ -71,9 +72,22 @@ public class Atom this.x = (float) (new Float(str.substring(30, 38).trim()).floatValue()); this.y = (float) (new Float(str.substring(38, 46).trim()).floatValue()); this.z = (float) (new Float(str.substring(47, 55).trim()).floatValue()); - occupancy = (float) (new Float(str.substring(54, 60).trim()) - .floatValue()); - tfactor = (float) (new Float(str.substring(60, 66).trim()).floatValue()); + // optional entries - see JAL-730 + String tm = str.substring(54, 60).trim(); + if (tm.length()>0) { + occupancy = (float) (new Float(tm)).floatValue(); + } else { + occupancy = 1f; // default occupancy + // see note above: occset=false; + } + tm = str.substring(60, 66).trim(); + if (tm.length()>0) + { + tfactor = (float) (new Float(tm).floatValue()); + } else { + tfactor = 1f; + //see note above: tfacset=false; + } } public Atom(float x, float y, float z) diff --git a/src/MCview/PDBfile.java b/src/MCview/PDBfile.java index c55a519..30f7e42 100755 --- a/src/MCview/PDBfile.java +++ b/src/MCview/PDBfile.java @@ -56,18 +56,18 @@ public class PDBfile extends jalview.io.AlignFile // TODO set the filename sensibly - try using data source name. id = safeName(getDataName()); - try - { chains = new Vector(); PDBChain tmpchain; - String line; + String line=null; boolean modelFlag = false; boolean terFlag = false; String lastID = ""; int index = 0; String atomnam = null; + try + { while ((line = nextLine()) != null) { if (line.indexOf("HEADER") == 0) @@ -185,6 +185,13 @@ public class PDBfile extends jalview.io.AlignFile System.out.println("OUT OF MEMORY LOADING PDB FILE"); throw new IOException("Out of memory loading PDB File"); } + catch (NumberFormatException ex) + { + if (line!=null) { + System.err.println("Couldn't read number from line:"); + System.err.println(line); + } + } } /** -- 1.7.10.2