[MMTK] bad lysine protonation

Robert Jorissen robjorissen at yahoo.com.au
Wed Sep 3 03:16:50 UTC 2008


Hi Konrad

Oops. I hit the reply button instead of sending my previous reply to the list. I wish for others to benefit from the resolution of my problem. Hence, I am sending this further reply to the list.

Your suggestion does indeed fix my problem with the lysine residue. Thank you.

However, in my case, I did not have the cysteines changed automatically from CYS (no disulfide bond) to CYX (disulfide bond). After the line:

configuration = MyPDBConfiguration('1B2F.pdb')

I added the lines:

for residue in configuration:
  if residue.name == "CYS":
    residue.name = "CYX"

which manually change the cysteine types. (I have also used something similar to change selected histidines from ND1 protonated to NE2 protonated.) And a steepest descent minimization keeps the cysteine SG atoms at about 2.03A away from each other, so MMTK must be correctly assigning the disulfide bonds.


Rob Jorissen
Ludwig Institute for Cancer Research, Melbourne branch



--- On Tue, 2/9/08, Konrad Hinsen <hinsen at cnrs-orleans.fr> wrote:

> From: Konrad Hinsen <hinsen at cnrs-orleans.fr>
> Subject: Re: [MMTK] bad lysine protonation
> To: "Robert Jorissen" <robjorissen at yahoo.com.au>
> Received: Tuesday, 2 September, 2008, 10:14 AM
> Rob,
>
> > Your quick fix did not appear to work. (Sigh) From
> what I can work 
> > out, the "problem" does not occur at the
> line:
>
> Sorry, you are right. It was a bit too quick... here is a
> better one, 
> actually tested!
>
>
> from MMTK import *
> from MMTK.PDB import PDBConfiguration, PDBPeptideChain
> from MMTK.Proteins import PeptideChain, Protein
>
> class MyPDBPeptideChain(PDBPeptideChain):
>      def identifyProtonation(self):
>          return
>
> class MyPDBConfiguration(PDBConfiguration):
>      peptide_chain_constructor = MyPDBPeptideChain
>
> configuration = MyPDBConfiguration('1B2F.pdb')
>
> chains = configuration.createPeptideChains()
>
> protein = Protein(chains)
>
> protein.writeToFile('protein_with_h.pdb')
>
>
> > I tried to figure out how to directly change the
> residue name from 
> > LYP to LYS, after the line:
> >
> > chains = configuration.createPeptideChains()
> >
> > but I could not find which attribute to change.
>
> After that line, changing residues becomes rather
> complicated. The 
> LYP is already constructed, so you'd have to replace it
> by LYS. This 
> is possible (there is a mechanism like that for replacing
> cystine by 
> cysteine after detection of an S-S bridge), but it's a
> bit messy.
>
> > In addition, the disulfide bonds in nearby cysteine
> residues were 
> > not generated. Is this something that is supposed to
> be done by the 
> > code, or must one call the commands explicitly.
>
> Disulfide bonds are recognized automatically. As far as I
> can tell 
> this works fine. My script above creates the following PDB
> file:
>
>
> It has lots of CYX but no CYS, so the disfulfide bonds
> should be there.
>
> Regards,
>    Konrad.
> --
> ---------------------------------------------------------------------
> Konrad Hinsen
> Centre de Biophysique Moléculaire, CNRS Orléans
> Synchrotron Soleil - Division Expériences
> Saint Aubin - BP 48
> 91192 Gif sur Yvette Cedex, France
> Tel. +33-1 69 35 97 15
> E-Mail: hinsen at cnrs-orleans.fr
> Web: http://dirac.cnrs-orleans.fr/~hinsen/
> ---------------------------------------------------------------------


      Win a MacBook Air or iPod touch with Yahoo!7. http://au.docs.yahoo.com/homepageset




More information about the mmtk mailing list