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)
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)
// 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)
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);
+ }
+ }
}
/**