-------------------------------------------
Traceback (most recent call last):
File "get-model2.py", line 42, in ?
a.make() # do homology modeling
File "/usr/local/modeller_9v4/modlib/modeller/automodel/automodel.py", line 98, in make
self.homcsr(exit_stage)
File "/usr/local/modeller_9v4/modlib/modeller/automodel/automodel.py", line 436, in homcsr
self.mkhomcsr(selection(self), aln)
File "/usr/local/modeller_9v4/modlib/modeller/automodel/automodel.py", line 524, in mkhomcsr
self.special_restraints(aln)
File "get-model2.py", line 23, in special_restraints
self.restraints.symmetry.append(symmetry(s1, s2, s3, s4, s5, s6, 1.0))
TypeError: __init__() takes exactly 4 arguments (8 given)
-------------------------------------------
We are a bit lost here :( Which init call is the message referring to?
Any ideas how to resolve this?
It tells you in the traceback - line 23 of your script is causing the
problem, where you try to set up your symmetry restraints:
As described in the manual, the symmetry restraint restrains a pair of
sets of atoms. You can't just stick six sets in there and expect it to
magically work. ;) You have to instead explicitly list the pairs you
want to restrain. For example, for sets A through F, you could restrain
A-B, A-C, A-D etc. or more or less equivalently A-B, B-C, C-D etc. The
simplest way to do the latter would be with something like
self.restraints.symmetry.append(symmetry(s1, s2, 1.0))
self.restraints.symmetry.append(symmetry(s2, s3, 1.0))
...
self.restraints.symmetry.append(symmetry(s5, s6, 1.0))
Of course, you could write a little Python loop to do this more cleanly.
Ben Webb, Modeller Caretaker
--
http://www.salilab.org/modeller/
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage