Is it still possible to add symmetry restraints to automodel in spectial_restraints? I used to be able to do this with pick_atoms, but now that "selection" has taken over I seem to be missing something.

I define a new class as follows:

segsize=???

class sym_model(automodel):
      def special_restraints(self, aln):
          sel1 = selection(self.residue_range('1',str(segsize))).only_mainchain()
          sel2 = selection(self.residue_range(str(segsize+1),str(2*segsize+1))).only_mainchain()
          self.restraints.symmetry.append(symmetry(sel1,sel2,1.0))

But get the following output:

File " model-dimer.py", line 41, in ?
    a.make()
  File "/usr/local/modeller9v2/modlib/modeller/automodel/automodel.py", line 99, in make
    self.homcsr(exit_stage)
  File "/usr/local/modeller9v2/modlib/modeller/automodel/automodel.py", line 423, in homcsr
    self.mkhomcsr(selection(self), aln)
  File "/usr/local/modeller9v2/modlib/modeller/automodel/automodel.py", line 506, in mkhomcsr
    self.special_restraints(aln)
  File "model-dimer.py", line 26, in special_restraints
    sel1 = selection(self.residue_range('1',str(segsize))).only_mainchain()
  File "/usr/local/modeller9v2/modlib/modeller/coordinates.py", line 71, in residue_range
    start = self.residues[start]._num
  File "/usr/local/modeller9v2/modlib/modeller/coordinates.py", line 183, in __getitem__
    (self.offset, self.length, self.suffix))
  File "/usr/local/modeller9v2/modlib/modeller/util/modutil.py", line 19, in handle_seq_indx
    int_indx = lookup_func(*args)
  File "/usr/local/modeller9v2/modlib/modeller/coordinates.py", line 56, in _indxres
    raise KeyError, ("No such residue: %s" % indx)


Thanks in advance

--
"He has yet to find out that what's in the public interest is not what the public is interested in."
        -- The Truth, Terry Pratchett
--

Gordon Wells
Bioinformatics and Computational Biology Unit
Department of Biochemistry
University of Pretoria