Hello Modellers,
I'm running into issues when modelling a multimeric (2 chains) protein.
When using the multi-chain modelling example seen in the online manual (see
below) it throws an error because the monomers aren't the same length, per
the special_restraints(). How can I resolve this issue?
Regards,
Ryan
# Comparative modeling by the automodel class## Demonstrates how to
build multi-chain models, and symmetry restraints#from modeller import
*from modeller.automodel import * # Load the automodel class
log.verbose()
# Override the 'special_restraints' and 'user_after_single_model'
methods:class MyModel(automodel):
def special_restraints(self, aln):
# Constrain the A and B chains to be identical (but only restrain
# the C-alpha atoms, to reduce the number of interatomic distances
# that need to be calculated):
s1 = selection(self.chains['A']).only_atom_types('CA')
s2 = selection(self.chains['B']).only_atom_types('CA')
self.restraints.symmetry.append(symmetry(s1, s2, 1.0))
def user_after_single_model(self):
# Report on symmetry violations greater than 1A after building
# each model:
self.restraints.symmetry.report(1.0)
env = environ()# directories for input atom
filesenv.io.atom_files_directory = ['.', '../atom_files']
# Be sure to use 'MyModel' rather than 'automodel' here!a = MyModel(env,
alnfile = 'twochain.ali' , # alignment filename
knowns = '2abx', # codes of the templates
sequence = '1hc9') # code of the target
a.starting_model= 1 # index of the first
modela.ending_model = 1 # index of the last model
# (determines how many models to
calculate)a.make() # do comparative modeling