[MMTK] Missing residue on chain due to altloc field

Peter mmtk at maubp.freeserve.co.uk
Mon Jan 23 19:50:15 CET 2006


Yes, another PDB problem to report ;)

1AAC.pdb downloaded from the PDB.
Using MMTK 2.5.13 with Python 2.3.3 on Windows XP

Example code:

import MMTK.Proteins
protein = MMTK.Proteins.Protein("1AAC.pdb", model="no_hydrogens")
for chain in protein :
     print chain.name
     for residue in chain :
         print residue.name

Gives the following:

Warning: Some atoms in a protein have undefined positions.
chain0
Asp1
Lys2
Ala3
Thr4
Ile5
Pro6
Ser7
Glu8
Pro10
Phe11
Ala12
Ala13
..

Notice that Ser9 is missing from the list, and from chain.sequence(),
without any warning/error message.

Referring to the PDB file, Ser9 is listed with two possible alternative 
locations:

..
ATOM     59  OE2 GLU     8      29.202  -6.741  20.659  ...
ATOM     60  N  1SER     9      28.896  -1.412  16.619  ...
ATOM     61  N  2SER     9      28.784  -1.354  16.645  ...
ATOM     62  CA 1SER     9      28.547  -0.125  15.988  ...
ATOM     63  CA 2SER     9      28.096  -0.203  16.120  ...
ATOM     64  C  1SER     9      28.085  -0.306  14.534  ...
ATOM     65  C  2SER     9      28.041  -0.281  14.596  ...
ATOM     66  O  1SER     9      28.747  -1.098  13.852  ...
ATOM     67  O  2SER     9      28.818  -1.025  13.986  ...
ATOM     68  CB 1SER     9      29.801   0.813  16.007  ...
ATOM     69  CB 2SER     9      28.826   1.019  16.641  ...
ATOM     70  OG 1SER     9      29.825   1.987  15.152  ...
ATOM     71  OG 2SER     9      28.570   1.121  18.042  ...
ATOM     72  N   PRO    10      27.094   0.397  13.944  ...
..

Note the altLoc field (Alternate location indicator), column 17 of the 
ATOM record, which is either "1" or "2" for this example.

To quote your message about 1BTY, available in the archive here:

http://starship.python.net/pipermail/mmtk/2006/001028.html

 > MMTK does cope with alternate atom definitions by reading only one of
 > the alternatives. You can specify the one you want using an optional
 > argument to PDBConfiguration, the default being A.

Is the problem here that by using a default of "A", neither altloc "1" 
or "2" is used - resulting in the residue being ignored?

Looking though the help, Scientific.IO.PDB.Structure takes an optional 
argument alternate_code defaulting to "A", but I don't see how to 
specify this at the MMTK level.

Thanks

Peter

-- 
PhD Student
MOAC Doctoral Training Centre
University of Warwick, UK




More information about the mmtk mailing list