Merge pull request #1112 from RosettaCommons/aleaverfay/fix_sp3acc_discontinuity
Reformulating the chi penalty for sp3 acceptors to fix a discontinuity.
The "chi" dihedral for sp3 acceptors is defined by the four atoms:
Hdon -- Acc -- Acc Base -- Hacc
where "Hacc" is the hydrogen chemically boudn to the acceptor
(but which is not participating in the hydrogen bond). On serine,
for example, Acc would be "OG", Acc Base would be "CB" and Hacc would
be "HG".
With the Talaris2013 score function, we added a penalty based on
chi for sp3 hybridized acceptors that had not been present in score12.
In score12, the "BAH" angle was measured with respect to Hacc, and it
was assumed that the lennard-jones term would push the Hdon atom away
from the Acc Base atom. This resulted, however, in rather funky
geometries if you looked at the Acc Base--Acc--Hdon angle. What
measuring the BAH angle wrt the Hacc atom did accomplish, however,
was avoiding geometries where Hdon and Hacc were very close.
In the Talaris2013 score function, we define the BAH angle wrt the
Acc Base atom. To make sure that Hdon and Hacc did not get too close,
I also added in a penalty that dependend on chi and only chi. Of
course this penalty had a discontinuity when the BAH angle hit 180;
I was aware of the discontinuity, but thought it would not be
disruptive. After Talaris2013 became the default score function, the
degree of its disruptiveness became apparent.
To remedy this problem, I worked with Frank off and on with a "soft-max"
function to take the worse of two scores: one defined by the
BAH angle and one defined by the Hdon -- Acc -- Acc Base angle, but we have
not smoothed out all of the edges on this formulation.
The fix in this commit defines the "chi" penalty for sp3 hybridized acceptors
to also respect the BAH angle in order to avoid a discontinuity at BAH=180.
It is not necessarily the best formulation, but it does fix the discontinuity
and the derivative discontinuity, and thus should fix the common cases of
"inaccurate G!" that shut down minimization.
This is a stopgap. The softmax potential will be much more useful and smooth and generally better than this ugly thing. It's a work in progress, however, and this is easy to bring online.
This will effect everyone who is using talaris2013 and talaris2014. I am bumping the score function revision ID so the "score function fingerprint" test will change. You should note that the score function in master is changing.