openmmforcefields icon indicating copy to clipboard operation
openmmforcefields copied to clipboard

Validate Amber force fields against sander energies/forces

Open epretti opened this issue 5 months ago • 2 comments

We discussed that it would be good to improve the validation done by the Amber force field conversion workflow. Currently, the "ground truth" against which results from the OpenMM FFXMLs are compared is obtained by calling LEaP to generate a prmtop and inpcrd, then loading them via ParmEd to create an OpenMM system. It would be nice if we could get reference values from sander without relying on ParmEd or OpenMM, as this would increase our confidence in the accuracy of conversion results.

epretti avatar Jul 25 '25 20:07 epretti

This is the code we use to get energies from Amber infrastructure, provided the files are already written. It's quite similar to the original InterMol function. Please steal (MIT licensed) or adapt if it would be useful, and also suggest improvements if something looks off. (You're on the hook for preparing the files, though, have fun!)

I have pretty high confidence that ParmEd's conversion is great for a vast majority of details, especially with Amber and OpenMM compared to other combinations of ecosystems. There is still a nice value add in removing a dependency from that chain, though.

mattwthompson avatar Jul 25 '25 23:07 mattwthompson

Wanted to provide a quick update here. I wanted to see if we could fix some of the long-standing issues with improper ordering in Amber, since I was previously able to get this working correctly with CHARMM. After tracing through the behaviors of OpenMM, ParmEd, and LEaP to understand them, I found a LEaP bug leading to rare cases in which the exact same improper can be output in different orders in the same chain. I've reached out to the Amber mailing list to ask what the correct behavior is supposed to be, so that we can try to match that.

epretti avatar Aug 11 '25 22:08 epretti