[MMTK] positions and PDB for aminoacids & proteins

Konstantinos Makrodimitris kmakr7@msn.com
Tue, 27 May 2003 14:47:30 +0000


Hi,

Trying to extract positions from aminoacids and proteins from PDB files.
I would like for example to have for an aminoacid alanine or arginine
the positions of sidechain-atoms.
Here is my trial:

>>>configuration = PDBConfiguration('alanine.pdb')
>>>configuration
PDBConfiguration('/home/km4aa/.mmtk/Database/PDB/alanine.pdb'):
  Peptide chain of length 1
>>>configuration[0]
AminoAcidResidue ALA:
  Atom N at [-1.0529999999999999, 1.3, 0.61399999999999999]
  Atom CA at [-0.30399999999999999, 0.032000000000000001, 0.746]
  Atom C at [0.77000000000000002, -0.014, -0.311]
  Atom O at [1.952, -0.16700000000000001, -0.047]
  Atom H at [-1.8049999999999999, 1.385, 1.3859999999999999]
  Atom O at [0.35399999999999998, 0.125, -1.5669999999999999]
  Atom H at [-1.522, 1.3680000000000001, -0.35799999999999998]
  Atom H at [0.17599999999999999, 0.012999999999999999, 1.74]
  Atom C at [-1.2370000000000001, -1.2, 0.60999999999999999]
  Atom H at [-2.0070000000000001, -1.1830000000000001, 1.397]
  Atom H at [-0.65500000000000003, -2.129, 0.70899999999999996]
  Atom H at [-1.7370000000000001, -1.1990000000000001, -0.371]
  Atom H at [1.1000000000000001, 0.082000000000000003, -2.1539999999999999]
>>molecules = configuration.createAll()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.1/site-packages/MMTK/PDB.py", line 272, in 
createAll
    peptide_chains = self.createPeptideChains()
  File "/usr/lib/python2.1/site-packages/MMTK/PDB.py", line 168, in 
createPeptideChains
    chain = apply(Proteins.PeptideChain, (chain,), properties)
  File "/usr/lib/python2.1/site-packages/MMTK/Proteins.py", line 243, in 
__init__
    self._setupChain(circular, properties, conf)
  File "/usr/lib/python2.1/site-packages/MMTK/Biopolymers.py", line 79, in 
_setupChain
    conf.applyTo(self)
  File "/usr/lib/python2.1/site-packages/MMTK/PDB.py", line 33, in applyTo
    setResidueConfiguration(residue, self[i], pdbmap[0], altmap)
  File "/usr/lib/python2.1/site-packages/MMTK/PDB.py", line 309, in 
setResidueConfiguration
    raise IOError, 'Atom '+atom.name+' of PDB residue ' + \
IOError: Atom H of PDB residue ALA not found in residue Ala of object .Ala1


Does this mean that the order of atoms in a PDB for alanine is not 
compatible please?

I tried also:

>>>a1 = Residue('alanine')
>>>a1.atoms[0]
Atom alanine.peptide.C
>>>a1.atoms[0].position()
>>>a1.atoms
[Atom alanine.peptide.C, Atom alanine.peptide.C_alpha, Atom 
alanine.peptide.H, Atom alanine.peptide.H_alpha, Atom alanine.peptide.N, 
Atom alanine.peptide.O, Atom alanine.sidechain.C_beta, Atom 
alanine.sidechain.H_beta_1, Atom alanine.sidechain.H_beta_2, Atom 
alanine.sidechain.H_beta_3]
>>>configuration
PDBConfiguration('/home/km4aa/.mmtk/Database/PDB/alana.pdb'):
  1 lLA molecule
>>>configuration.applyTo(a1)
>>>a1.atoms[0].position()
Vector(-0.1237,-0.11999999999999998,0.060999999999999992)
>>>a1
Residue alanine
>>>a1.sidechains()
Group alanine.sidechain
>>>a1.sidechains().atomList()
[Atom alanine.sidechain.C_beta, Atom alanine.sidechain.H_beta_1, Atom 
alanine.sidechain.H_beta_2, Atom alanine.sidechain.H_beta_3]
>>>a1.sidechains().atoms
[Atom alanine.sidechain.C_beta, Atom alanine.sidechain.H_beta_1, Atom 
alanine.sidechain.H_beta_2, Atom alanine.sidechain.H_beta_3]
>>>a1.sidechains().atoms[0]
Atom alanine.sidechain.C_beta
>>>a1.sidechains().atoms[0].position()
>>>


So it gives positions for peptide atoms but not for sidechains!! Why?


Also how does the following function work ?
I mean if I use Scientific function is there a way to extract positions and 
coordinates:

>>>from Scientific.IO.PDB import *
>>>configuration = AminoAcidResidue('alanine.pdb')
>>>configuration
AminoAcidResidue alanine.pdb:
>>>configuration.isCTerminus()
0


Best,
Kon

_________________________________________________________________
Add photos to your e-mail with MSN 8. Get 2 months FREE*.  
http://join.msn.com/?page=features/featuredemail