[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[modeller_usage] non-proline cis-peptide bonds



Title: non-proline cis-peptide bonds
Hi all,
I want to force a non-proline peptide bond  to the cis configuration in a 64-residue model.
I found a routine to force Pro residue to the cis configuration in the FAQ.
I assumed that it would not make a difference if the residue it applies to is not an actual proline
and I include the routine in my .py script, but I got only models with the trans peptide configuration.
This is an example of my .py file :

# Homology modelling by the automodel class
from modeller import * # Load standard Modeller classes
from modeller.automodel import *    # Load the automodel class

# Redefine the special_patches routine to include the additional disulfides
# (this routine is empty by default):
class mymodel(automodel):
       def special_patches(self, aln):
        # A disulfide between residues 12 and 63:
               self.patch(residue_type='DISU', residues=(self.residues['12'],
                                                          self.residues['63']))

           # A disulfide between residues 16 and 36:
               self.patch(residue_type='DISU', residues=(self.residues['16'],
                                                          self.residues['36']))

           # A disulfide between residues 22 and 46:
               self.patch(residue_type='DISU', residues=(self.residues['22'],
                                                          self.residues['46']))

           # A disulfide between residues 26 and 48:
               self.patch(residue_type='DISU', residues=(self.residues['26'],
                                                          self.residues['48']))


# Redefine the special_restraints routine to force Pro to cis conformation:
# (this routine is empty by default):
class mymodel(automodel):
  def special_restraints(self, aln):
              a = self.atoms
          cispeptide(self.restraints,
                     atom_ids1=(a['O:9'], a['C:9'], a['N:10'], a['CA:10']),
                  atom_ids2=(a['CA:9'], a['C:9'], a['N:10'], a['CA:10']))



log.verbose()    # request verbose output
env = environ()  # create a new MODELLER environment to build this model in

# directories for input atom files

env.io.atom_files_directory = ['./']


a = automodel(env,
                  alnfile  = 'AahII-cis.ali',     # alignment filename
                  knowns   = '1PTX',             # codes of the templates
                  sequence = 'AahII-cis')         # code of the target

a.starting_model= 1                 # index of the first model

a.ending_model  = 1               # index of the last model
                                    # (determines how many models to calculate)

a.make()                            # do the actual homology modelling

----------------------------------------------------------------------------------------------

I noticed only 3 lines in the log file with warnings:
...
getf_______W> RTF restraint not found in the atoms list:
              residue type, indices:     7    64
              atom names           : C     +N
              atom indices         :   503     0

getf_______W> RTF restraint not found in the atoms list:
              residue type, indices:     7    64
              atom names           : C     CA    +N    O
              atom indices         :   503   496     0   504

...

mdtrsr__446W> A potential that relies on one protein is used, yet you have at
              least one known structure available. MDT, not library, potential is used.
...

----------------------------------------------------------------------------------------------

Please could somebody tell me what is wrong in this modeling?

Thank you!

Regards,

François Sampieri