# Homology modeling 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(loopmodel):
def special_patches(self,
aln):
# A disulfide between
residues 22 and 96:
self.patch(residue_type='DISU',
residues=(self.residues['22'],
self.residues['95']))
self.patch(residue_type='DISU',
residues=(self.residues['158'],
self.residues['228']))
def
select_loop_atoms(self):
return
selection(self.residue_range('26','33'),self.residue_range('51','57'),self.residue_range('96','110'),self.residue_range('162','172'),self.residue_range('190','192'),self.residue_range('229','237'))
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 =
'./:../atom_files'
a =
mymodel(env,
alnfile = '3.ali', # alignment
filename
knowns =
('HL','y','121','113'),
# codes of the
templates
sequence = '6b4',
loop_assess_methods=assess.DOPE)
# code of the target
a.starting_model=
1
# index of the first model
a.ending_model =
8
# index of the last
model
# (determines how many models to
calculate)
a.loop.starting_model=1
a.loop.ending_model=2
a.make()
# do the actual homology modeling