I would like to model only a segment of my protein, precisely res 76 - 94. I am using model-segment.py script for this purpose. I have looked at the existing example on web (
http://salilab.org/modeller/9v1/manual/node22.html). I created alignment file with the same protein. I have no problems running the script but the model obtained is exactly the same as the template which is expected but even the residue range 76-94 is exactly the same.
from modeller import *
from modeller.automodel import * # Load the automodel class
log.verbose()
class MyModel(automodel):
def select_atoms(self):
# Select residues 1 and 2 (PDB numbering)
return selection(self.residue_range('76:', '94:'))
env = environ()
# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']
# selected atoms do not feel the neighborhood
env.edat.nonbonded_sel_atoms = 2
# Be sure to use 'MyModel' rather than 'automodel' here!
a = MyModel(env,
alnfile = '5tmg-5tmg.ali', # alignment filename
knowns = '5tmgA', # codes of the templates
sequence = '5tmg') # code of the target
a.starting_model= 1 # index of the first model
a.ending_model = 3 # index of the last model
# (determines how many models to calculate)
a.make() # do homology modeling