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

[modeller_usage] Problem applying helix restraints to a homodimer model ..



Dear Modeller's users

I want to add a helix restraint to some residues in each monomer of my homodimer model,  I followed the example given in Modeller 9v8 Manual but It gives me the following error (Is it a residue numbering problem?):

KeyError: 'No such residue: 29:'

This is my alignment file, which worked well without adding the helix restraint:

>P1; TCP15_dimer2
sequence:TCP15_dimer2:::::::0.00:0.00
-KDRHTKVEGRGRRIRMPAMCAARVFQLTRELGHKSDGE-----------TIEWLLQQAE
P-AVIAA-----
/
-KDRHTKVEGRGRRIRMPAMCAARVFQLTRELGHKSDGE-----------TIEWLLQQAE
P-AVIAA-----
/
..................
/
..................
*
>P1; 1nlw_D_E
structureX:1nlw_D_E:503:D:819:J:::-1.00:-1.00
-RSTHNEMEKN-RRAHLRLSLE-KLKGL-----------VPLGPDSSRHTTL-SLLTKAK
LHIKKLE-----
/
--AHHNALERK-RRDHIKDSFH-SLRDS-----------VPSLQ-GEKASRA-QILDKAT
EYIQYMRR----
/
..................   <--- DNA chain 1
/
..................   <---DNA chain 2
*

This is the script I used:

from modeller import *
from modeller.automodel import *    # Load the automodel class

log.verbose()

env = environ()
# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']
# Read in HETATM records from template PDBs
env.io.hetatm = True     <---- This is added because my model also include a small DNA molecule 

class MyModel(automodel):
    def special_restraints(self, aln):
        rsr = self.restraints
        at = self.atoms
#       Residues restraints for the first monomer:
    rsr.add(secondary_structure.alpha(self.residue_range('29:', '32:')))
    rsr.add(secondary_structure.alpha(self.residue_range('38:', '39:')))   
   
#       Residues restraints for the second monomer:       
    rsr.add(secondary_structure.alpha(self.residue_range('111:', '114:')))
    rsr.add(secondary_structure.alpha(self.residue_range('121:', '122:')))   

a = MyModel(env,
            alnfile  = 'alignment_2.ali' ,     # alignment filename
            knowns   = '1nlw_D_E' ,       # codes of the templates
            sequence = 'TCP15_dimer2')              # code of the target


a.starting_model= 1                # index of the first model
a.ending_model  = 5                # index of the last model
                                   # (determines how many models to calculate)
a.make()                           # do homology modeling

Any suggestion will be appreciated

--
Sergio Garay
Dr. en Ciencias Biológicas
Facultad de Bioquimica y Cs. Biológicas
Universidad Nacional del Litoral
Santa Fe - Argentina
C.C. 242 - Ciudad Universitaria - C.P. S3000ZAA
Argentina
Ph. +54 (342) 4575-213
Fax. +54 (342) 4575-221