[BioPython] Biopython to parse not only .pdf--files but also NACCESS .asa files

Orlando Döhring orlando.doehring at googlemail.com
Fri May 18 13:03:17 EDT 2007


Dear community,

I am applying the following tool: '*Naccess V2.1.1 - Atomic Solvent
Accessible Area Calculations* ' to calculate two features which are not
contained in standard .pdb-files. These two features are atomic accessiblity
and van der Waal radius. As can be read in the readme file at
http://wolf.bi.umist.ac.uk/naccess/nac_readme.html under 'example output
files' and at the PDB-Format site at* *
http://www.wwpdb.org/documentation/format23/sect9.html under 'Atom'. NACCESS
does the following: 'The output format is PDB, with B-factors and
occupancies removed, then atomic accessiblity
in square Angstroms, followed by the assigned van der Waal radius.'  Note
that Occupancy gets replaced by atomic accessiblity and B-factor by the van
der Waal radius.  This 'new' .pdb-file has extension .asa.

I chose a quite straight-forward approach: I wanted to use Biopython as
before, e.g. calling the B-Factor method but yielding the atomic
accessiblity instead. But Biopython seems to type-check the .asa-file and
complains that the B-factor is not of type float.

Here are some more technical details. As an example I chose the '1DHR'
protein:

------------------------------------------------------------------------------

def *__init__*(*self*,structure_id=*"1DHR"*,indices=[0]):

# which residues are part of the patch

*self*.indices = indices

# If 1 (DEFAULT), the exceptions are caught, but some residues or atoms will
be missing.

# THESE EXCEPTIONS ARE DUE TO PROBLEMS IN THE PDB FILE!

*self*.p=PDBParser(PERMISSIVE=1)

# which protein to analyse

*self*.structure_id = structure_id

*self*.fileName = *self*.structure_id + *'.asa'
*

*self*.structure = *self*.p.get_structure(*self*.structure_id, *self*
.fileName)

------------------------------------------------------------------------------

Error message:


Traceback (most recent call last):

*File "C:\Dokumente und Einstellungen\Renate
Döhring\workspace\test\src\root\nested\compactness.py", line 249, in
<module>
*

c = compact(indices=[0,1])

*File "C:\Dokumente und Einstellungen\Renate
Döhring\workspace\test\src\root\nested\compactness.py", line 17, in __init__
*

self.structure = self.p.get_structure(self.structure_id, self.fileName)

*File "C:\Python25\Lib\site-packages\Bio\PDB\PDBParser.py", line 65, in
get_structure
*

self._parse(file.readlines())

*File "C:\Python25\Lib\site-packages\Bio\PDB\PDBParser.py", line 85, in
_parse
*

self.trailer=self._parse_coordinates(coords_trailer)

*File "C:\Python25\Lib\site-packages\Bio\PDB\PDBParser.py", line 159, in
_parse_coordinates
*

bfactor=float(line[60:66])

ValueError: invalid literal for float(): 31 1.

------------------------------------------------------------------------------

What do you recommend for my situation. Many thanks!


Yours,

Orlando
--



More information about the BioPython mailing list