Hi,
I'd like to use the AmoebaOutOfPlaneBendForce to achieve ring planarity. Could someone please explain the functional form this uses? The AMOEBA forcefield paper refers to it as:
"out-of-plane bending was restrained at sp2-hybridized trigonal centers with a Wilson-Decius cross function, 27"
27. Wilson EB, Decius JC, Cross PC. Molecular vibrations: the theory of infrared and raman vibrational spectra
Unfortunately I don't have access to that book. Searching the openmm repo on github turned up 4 results but none were the function definition.
The context is: writing the AutoDock Vina scoring function in OpenMM. This uses internal coordinates (groups of atoms rotate around rotatable bonds) meaning ring planarity gets lost. I saw that Paolo Tosco used the AmoebaOutOfPlaneBendForce when porting MMFF to OpenMM ,which gave me the idea: https://www.cresset-group.com/about/new ... ugh-openm/
Thanks a lot!
What is the functional form of the AmoebaOutOfPlaneBendForce?
- lewis martin
- Posts: 5
- Joined: Tue Sep 28, 2021 2:00 pm
- Peter Eastman
- Posts: 2573
- Joined: Thu Aug 09, 2007 1:25 pm
Re: What is the functional form of the AmoebaOutOfPlaneBendForce?
OpenMM implements it with a CustomCompoundBondForce. Here's where the expression for it is defined:
https://github.com/openmm/openmm/blob/e ... 3726-L3734
It's easiest to read the expression from the bottom up. Here's what it does.
1. Compute the cross product of p1-p4 and p3-p4.
2. Normalize it to get a unit vector perpendicular to the p1-p3-p4 plane.
3. Project p2 into the plane.
4. Compute the angle p2-p3-proj, where proj is the projected point.
https://github.com/openmm/openmm/blob/e ... 3726-L3734
It's easiest to read the expression from the bottom up. Here's what it does.
1. Compute the cross product of p1-p4 and p3-p4.
2. Normalize it to get a unit vector perpendicular to the p1-p3-p4 plane.
3. Project p2 into the plane.
4. Compute the angle p2-p3-proj, where proj is the projected point.
- lewis martin
- Posts: 5
- Joined: Tue Sep 28, 2021 2:00 pm
Re: What is the functional form of the AmoebaOutOfPlaneBendForce?
Brilliant, thanks