While waiting for the response of the OB community about the OBDock
class, I continued working on the MMFF94 validation:
Torsion parameters are now assigned correctly. The problem with the
conjugated rings also causes errors in the stretch-bend and torsion
The out-of-plane problem is solved. The problem was that
OBForceField::VectorOOPDerivative returned the angle in radians and
not degrees. I added RAD_TO_DEG in the mmff code, but
VectorAngleDerivative and VectorTorsionDerivative return the angle in
degrees. We should probably make the return unit the same for all
three functions to avoid similar problems in the future.
The Van der Waals interactions are now validated. There was a problem
with the scaling of R_AB for H-Bond donor/acceptor interactions.
(scaling isn’t used for calculating epsilon) Now that the non-bonded
interactions are validated, it is possible to do some new and fun
stuff like http://home.scarlet.be/timvdm/MeNH3.zip (7MB). The vidoe
clip shows the HBond engine and the result of the working MMFF94
non-bonded interactions (use numerical gradients for the moment, will
implement analytical soon).
There still remain minor errors for the stretch-bending interactions.
(probably due to not calculating the parameter index, should be fixed
As before, the results from Validate() are available from
http://home.scarlet.be/timvdm/MMFF94_validation_output.gz (now with 5
decimal numbers), overall the results are starting to look very good!