I'm making a model which is supposed to contain an alpha helix in
residues 26-46. I can do this with a top command file, by modifying the
special_restraints subroutine in __special.top:
SUBROUTINE ROUTINE = 'special_restraints'
#This one is to adjust helices in fxyd proteins
# SET ADD_RESTRAINTS = on
# MAKE_RESTRAINTS RESTRAINT_TYPE = 'alpha', RESIDUE_IDS = '14' '17'
This works with the following alignment file, and gives me the
uninterrupted helix I want.
structureX:gamma:FIRST:@:LAST : :undefined:undefined:-1.00:-1.00
structureX:gamma1:FIRST:@:LAST : :undefined:undefined:-1.00:-1.00
When I use the same alignment file with a python routine copied from the
FAQ, it runs fine but it doesn't apply the restraint! I'd like to use
the new python command system for this kind of restraint, because the
restraints are directly in the command file and not off in
__special.top, but I can't make it work. Here is the python file I used:
# comparative modeling of gamma
from modeller.automodel import * # Load the automodel class
#This one is to set the entire TM to a helix in gamma
def special_restraints(self, aln):
rsr = self.restraints
log.very_verbose() # request verbose output
env = environ() # create a new MODELLER environment to build this model in
env.io.hetatm = True
a = automodel(env,
alnfile = 'gamma.ali', # alignment filename
knowns = 'gamma', # codes of the templates
sequence = 'gamma1') # 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
a.make() # do the actual homology modelling
Thanks for your attention.