[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