[Biojava-dev] PDBFileParser pdb_TITLE_Handler bug
Steve Darnell
darnells at dnastar.com
Wed Jan 26 21:44:42 UTC 2011
Greetings,
There is a small bug in PDBFileParser.pdb_TITLE_Handler(). It is working on the assumption that the title text occupies columns 10 to 70; the PDB format states it is from 10 to 80. Consequently, long titles get truncated.
>From 3NHE:
'TITLE HIGH RESOLUTION STRUCTURE (1.26A) OF USP2A IN COMPLEX WITH UBIQUITIN '
Output from Structure.getPDBHeader().toPDB():
'TITLE HIGH RESOLUTION STRUCTURE (1.26A) OF USP2A IN COMPLEX '
'TITLE 2 WITH U '
Output from Structure.getPDBHeader().getTitle():
'HIGH RESOLUTION STRUCTURE (1.26A) OF USP2A IN COMPLEX WITH U'
Regards,
Steve
________________________________________
From: Susanne Schaller
Sent: Tuesday, January 25, 2011 1:27 PM
To: Steve Darnell
Subject: Java source and pdb files
If you say structures.getPDBHeader().getTitle() it cuts off the last letters.
I've looked through the source code (look for PDBFileParser.java) of biojava3 and I think I've found the problem:
There are only character from 11-70 allowed.
Here is the source code from PDBFileParser.java:
/** Handler for
TITLE Record Format
COLUMNS DATA TYPE FIELD DEFINITION
----------------------------------------------------------------------------------
1 - 6 Record name "TITLE "
9 - 10 Continuation continuation Allows concatenation of multiple records.
11 - 70 String title Title of the experiment.
*/
private void pdb_TITLE_Handler(String line) {
String title;
if ( line.length() > 69)
title = line.substring(10,70).trim();
else
title = line.substring(10,line.length()).trim();
String t= (String)header.get("title") ;
if ( (t != null) && (! t.equals("")))
t += " ";
t += title;
header.put("title",t);
pdbHeader.setTitle(t);
}
More information about the biojava-dev
mailing list