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.