[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [modeller_usage] symmetric hexamer

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
  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
  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:

  self.restraints.symmetry.append(symmetry(s1, s2, s3, s4, s5, s6, 1.0))

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
Modeller mail list: http://salilab.org/mailman/listinfo/modeller_usage