Hi,
I'm trying to built a protein with 4 identical chains using the symmetry restrain to CA atoms as section "2.2.11 Building multi-chain models with symmetry" from modeller 9v7 manual.
This is my input:
# Homology modeling with multiple templates
from modeller import * # Load standard Modeller classes from modeller.automodel import * # Load the automodel class
log.verbose() # request verbose output
# Override the special_restraints and user_after_single_model methods: class MyModel(automodel): def special_restraints(self, aln): # Constrain the A, B, C and D 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') s3 = selection(self.chains['C']).only_atom_types('CA') s4 = selection(self.chains['D']).only_atom_types('CA') self.restraints.symmetry.append(symmetry(s1, s2, s3, s4, 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() # 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='xynB1-multiple.ali', knowns=('3C2U', '1YIF', '2EXH'), sequence = 'xynB', assess_methods=(assess.DOPE, assess.GA341)) # code of the target a.starting_model= 1 a.ending_model = 2
a.make()
The problem is that the program stops and the following error message appears at the shell:
File "model-multiple.py", line 37, in ? a.make() File "/usr/lib/modeller9v7/modlib/modeller/automodel/automodel.py", line 98, in make self.homcsr(exit_stage) File "/usr/lib/modeller9v7/modlib/modeller/automodel/automodel.py", line 435, in homcsr self.mkhomcsr(selection(self), aln) File "/usr/lib/modeller9v7/modlib/modeller/automodel/automodel.py", line 523, in mkhomcsr self.special_restraints(aln) File "model-multiple.py", line 19, in special_restraints self.restraints.symmetry.append(symmetry(s1, s2, s3, s4, 1.0)) TypeError: __init__() takes exactly 4 arguments (6 given)
This is line 19: self.restraints.symmetry.append(symmetry(s1, s2, s3, s4, 1.0))
Someone could tell me what i am doing wrong? I can not find clues at the google.
Thanks for any help.
Flavio