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
Mike White wrote: > 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)?
restraints.add() is for adding your own individual restraints. restraints.make() and restraints.make_distance() build sets of restraints using your template(s) or libraries (e.g. the CHARMM topology) as input. So for example, you'd call rsr.add() if you knew that a given CA-CA distance was 10A, but rsr.make_distance() if you wanted to constrain ALL CA-CA distances to look like the template. In your case, it sounds like you want rsr.add().
> 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?
This is described in detail in the '93 paper.
> KeyError: 'No such atom: ND2:93' > ************************************************************************* > > which suggests that it can't find the ND2 atom in residue 93 .
By saying "suggests" you seem to be implying it might mean something else. ;) What do you think would be a clearer message? (It seems like this is a common problem.)
> 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
Nope, I see ND2:93:A and NH1:905:E, but no ND2:93 or NH1:905. You have to use a chain ID if one is present in your model.
Ben Webb, Modeller Caretaker
participants (2)
-
Mike White
-
Modeller Caretaker