I am trying to incorporate some experimentally-derived distance restraints into a homopentamer model, and had a few questions:
1.) the manual says that restraints.make_distance() should be used for setting physical distance restraints. However,in the section on restraints.add() http://salilab.org/modeller/manual/node209.html, an example is given on setting distance restraints with this instead of restraints.make_distance(). Is there any benefit to using one versus the other? Do you use the rsr.add() if you have a lot of restraints to add (as I do- 15 in all)?
2.) restraints.make_distance() uses an analytic model to calculate standard deviations, and the manual says to use model 5 for Calpha-Calpha distances and model 6 for N-O distances. I have not been able to find a description of these models, or which one to use for other atom-pair distances. Does it really make much difference?
I did try a quick modeling using restraints.add with the following line in the script:
rsr.add(forms.gaussian(group=physical.xy_distance,feature=features.distance(at['ND2:93'],at['NH1:905']),mean=19.3,stdev=0.2))
and got the following error message: **************************************************************************
File "EnforceSymmetryTrim_distance_restraints.py", line 96, in ? a.make() File "/usr/lib/modeller9v2/modlib/modeller/automodel/automodel.py", line 99, in make self.homcsr(exit_stage) File "/usr/lib/modeller9v2/modlib/modeller/automodel/automodel.py", line 423, in homcsr self.mkhomcsr(selection(self), aln) File "/usr/lib/modeller9v2/modlib/modeller/automodel/automodel.py", line 506, in mkhomcsr self.special_restraints(aln) File "EnforceSymmetryTrim_distance_restraints.py", line 37, in special_restraints feature=features.distance(at['ND2:93'], at['NH1:905']), File "/usr/lib/modeller9v2/modlib/modeller/coordinates.py", line 137, in __getitem__ (self.offset, self.length, self.suffix)) File "/usr/lib/modeller9v2/modlib/modeller/util/modutil.py", line 19, in handle_seq_indx int_indx = lookup_func(*args) File "/usr/lib/modeller9v2/modlib/modeller/coordinates.py", line 47, in _indxatm raise KeyError, ("No such atom: %s" % indx) KeyError: 'No such atom: ND2:93' *************************************************************************
which suggests that it can't find the ND2 atom in residue 93 . However, the atom does exist in the *.ini file (as does atom NH1 in residue 905):
ATOM 783 ND2 ASN A 93 30.499 39.522 -12.905 ATOM 7622 NH1 ARG E 905 45.372 32.420 -16.993
any ideas as to what is going on here?
Thanks
Mike White