Hi,
Thanks. I followed all the steps sequentially i.e. first produced a .seq file from my pdb file. Then I created an alignment.ali file with gap characters for the missing residues and the full sequence and finally I ran the script:
from modeller import * # Load standard Modeller classes
from modeller.automodel import * # Load the AutoModel class
log.verbose() # Create log file
env = Environ()
# directories for input atom files
env.io.atom_files_directory = ['.', '../atom_files']
env.io.water = True
# Only refine/move missing residues - restrain crystal coordinates
class MyModel(LoopModel):
#picks residues to be refined by loop modelling
def select_loop_atoms(self):
#refines residue ranges defined simultaneously
return Selection(self.residue_range('5:A', '13:A'),
self.residue_range('99:B', '105:B'),
self.residue_range('251:D', '256:D'))
# redefine the special_patches routine to include additional disulfides
def special_patches(self,aln):
self.patch(residue_type='DISU',residues=(self.residues['26:A'],self.residues['199:C']))
self.patch(residue_type='DISU',residues=(self.residues['29:A'],self.residues['201:C']))
a = MyModel(env, alnfile = 'alignment.ali', # alignment file
knowns = 'xxx', # aa sequence of original template - crystal coordinates
sequence = 'xxx_fill', # aa sequence of original template with missing residues filled in
loop_assess_methods = (assess.DOPE,
assess.DOPEHR,
assess.GA341))
a.starting_model= 1 # Index of the first model
a.ending_model = 1 # Index of the last model
a.loop.starting_model = 1 # First loop refined model
a.loop.ending_model = 10 # Last loop refined model
a.loop.md_level = refine.fast # Loop model refinement level
a.make() # Do modelling