Hello all,
I am trying to explore a range of different possible angles between two domains of my protein by adding the following restraint (and modifying the angle setting each time):
class mymodel(automodel): def special_restraints(self, aln): rsr = self.restraints rsr.add(atom_ids=('O:67', 'CE3:146', 'CA:149'), restraint_parameters=(3, 1, 2, 2, 3, 2, 1, 2.618, 0.010))
However, the results I've been getting are varying by far more than the standard deviation I've set. The restraint is in the .rsr output file, and the log files have not generated any insightful warnings or errors. What modification should I make to more strictly enforce this restraint? Also, can I get modeller to fail by setting the restraint to an extreme?
With Thanks, Brandon Mills
Brandon Mills wrote: > I am trying to explore a range of different possible angles between two > domains of my protein by adding the following restraint (and modifying > the angle setting each time): > > class mymodel(automodel): > def special_restraints(self, aln): > rsr = self.restraints > rsr.add(atom_ids=('O:67', 'CE3:146', 'CA:149'), > restraint_parameters=(3, 1, 2, 2, 3, 2, 1, 2.618, 0.010)) > > However, the results I've been getting are varying by far more than the > standard deviation I've set. The restraint is in the .rsr output file, > and the log files have not generated any insightful warnings or errors. > What modification should I make to more strictly enforce this restraint? > Also, can I get modeller to fail by setting the restraint to an extreme?
It would be useful to see your whole script - in particular, if you go on to create an automodel object (rather than mymodel) then your restraint won't be enforced at all.
The only way to "more strictly enforce" a restraint is to reduce its standard deviation. Any violated restraints will be reported in the log file.
To avoid confusion, I recommend that you don't use the old restraint_parameters way of specifying restraints, but instead add them in the new form introduced in Modeller 9 (see http://salilab.org/modeller/manual/node194.html), i.e.
rsr = self.restraints a = self.atoms f = forms.gaussian(group=physical.angle, feature=features.angle(a['O:67'], a['CE3:146'], a['CA:149']), mean=2.618, stdev=0.010) rsr.add(f)
Ben Webb, Modeller Caretaker
participants (2)
-
Brandon Mills
-
Modeller Caretaker