Now that I actually tried to use it, I find the Harmonic class a bit odd. For one thing the parameter is called "standard deviation" or something, which doesn't mean anything for a harmonic. Secondly, once you figure out what it is, it is multiplied by a many significant figure constant before it is used (the documentation says this is for modeller compatibility). This multiplier makes it very hard to use the Harmonic as part of a scoring function (since it is hard to make the composite function continuous).
Do we really want this? In my mind the thing that makes the most sense is to to have a the mean and the spring constant be the parameters and to get rid of the odd multiplier.
Daniel Russel wrote: > Now that I actually tried to use it, I find the Harmonic class a bit > odd. For one thing the parameter is called "standard deviation" or > something, which doesn't mean anything for a harmonic.
Read the '93 Modeller paper, and perhaps also the appendices to the Modeller manual, and all will become clear.
> Secondly, once > you figure out what it is, it is multiplied by a many significant > figure constant before it is used (the documentation says this is for > modeller compatibility).
It has nothing to do with Modeller compatibility - that's sqrt(RT/2) where energy units are kcal/mol and T is 297.15K. If anything, that's a CHARMM/GROMOS compatibility thing. The documentation in the code is obviously nonsense, and my suspicion is that Bret "derived" this magic factor empirically, since it differs from the exact value.
> Do we really want this? In my mind the thing that makes the most sense > is to to have a the mean and the spring constant be the parameters and > to get rid of the odd multiplier.
The two are equivalent, of course. One is easier to use if you think in scoring-function space, and the other is easier to use if you think in coordinate space (e.g. harmonic restraint on a distance with a stdev of 0.1 will result in fluctuations of 0.1 at room temperature). I have no strong preference for either, since it is very very easy to interconvert them. Since we have a lot of code that relies on the existing behavior, we'll stick with it for now unless others would also prefer the kxx/2 form, in which case I'll update the code accordingly.
Ben
> It has nothing to do with Modeller compatibility - that's sqrt(RT/2) > where energy units are kcal/mol and T is 297.15K. If anything, > that's a > CHARMM/GROMOS compatibility thing. Given that IMP is otherwise scale-independent, this is rather a strange thing to put in there.
At least we need to document what we are doing in the header.
participants (2)
-
Ben Webb
-
Daniel Russel