[Biopython] Bio.PDB DisorderedResidue Usage
Barry Finzel
barry_finzel at yahoo.com
Fri Jun 15 21:55:29 UTC 2012
In reading a PDB file with a DisorderedResidue, I find I cannot select the "first" of the individual Residue objects wrapped in the DisorderedEntity wrapper as they were read.
Using:
from Bio.PDB import *parser = Bio.PDBParser()struct = parser.get_structure('input','1fjl.pdb')
PDB structure 1fjl contains a disordered residue defined in the following records:
SEQRES 1 D 14 DA DA DT DA DA DT DC DT DG DA DT DT DASEQRES 2 D 14 DC
ATOM 1691 P A DT D 8 21.334 116.347 17.134 0.50 31.45 P ATOM 1692 OP1A DT D 8 20.849 116.344 18.534 0.50 36.10 O ATOM 1693 OP2A DT D 8 20.849 117.360 16.179 0.50 32.93 O ATOM 1694 O5'A DT D 8 22.893 116.496 17.162 0.50 30.63 O ..ATOM 1711 P B DA D 8 21.278 115.687 17.543 0.50 30.90 P ATOM 1712 OP1B DA D 8 20.886 115.137 18.859 0.50 32.04 O ATOM 1713 OP2B DA D 8 20.643 116.935 17.025 0.50 27.28 O ATOM 1714 O5'B DA D 8 22.825 115.928 17.500 0.50 26.48 O
The PDB always encodes the sequence of the FIRST variant in the SEQRES card (in this case, DT), but there seems to be no way to unwrap the two Residue.Residue objects wrapped in a Residue.DisorderedResidue to identify which of the two residues this would be. Unlike the DisorderedAtoms which are selected by ALTLOC code, the DisorderedResidues are selected by residue name, ('DT' or 'DA') in this case. I have an application where I need to be certain that the Residue instance I select matches the residue type of the SEQRES card entry (e.g., the FIRST one in the file).
Is there any way to do this? I would have thought that keying the Residue instances in the DisorderedResidue on ALTLOC (as in DisorderAtom) would have been a better way to handle this.
Barry FinzelUniversity of Minnesota
More information about the Biopython
mailing list