openmm-cookbook icon indicating copy to clipboard operation
openmm-cookbook copied to clipboard

Use OpenMM to Verify Your MM Functional Form Implementation.ipynb

Open yuanqing-wang opened this issue 1 year ago • 6 comments

Added a tutorial to use OpenMM to verify MM functional form implementation.

yuanqing-wang avatar Apr 25 '23 04:04 yuanqing-wang

I would appreciate it if you could review this PR for the cookbook. @sef43

yuanqing-wang avatar Apr 25 '23 04:04 yuanqing-wang

My comments from #18 still apply: this tutorial has very little to do with OpenMM. The only section that uses OpenMM is the very brief part on getting energy components, and that just repeats material that's already covered elsewhere. Even the section on building the water molecule, which could easily be done with OpenMM, instead uses OpenFF Toolkit. And although the opening sentence introduces this as being a tutorial about machine learning packages, the rest of the tutorial has nothing to do with them.

Let's reconsider what we're trying to teach the reader. Is there some lesson that 1) is about using OpenMM, and 2) is not already covered elsewhere? If so, what is that lesson? How can we create a tutorial that's more directly about it?

peastman avatar Apr 25 '23 20:04 peastman

This tutorial was inspired by efforts to make differentiable MD packages. From my understanding, these packages, which use tensor-accelerating frameworks, all compare to OpenMM when implementing their own MM functional forms:

  • https://github.com/jax-md/jax-md
  • https://github.com/proteneer/timemachine
  • https://github.com/choderalab/espaloma

Maybe there are many more that I'm missing. The goal of this tutorial is to teach the reader a systematic way to sanity-check their own MM functional form implementation using the community-wide gold standard.

yuanqing-wang avatar Apr 26 '23 04:04 yuanqing-wang

The question is, what are you trying to teach the reader that they don't already know?

If they're writing a MD code, we can assume they know how to implement the forces they're interested in. And they certainly know how to compute energies with their own code. The only part they might not know is how to compute them with OpenMM, which is already documented elsewhere.

peastman avatar Apr 27 '23 00:04 peastman

If they're writing a MD code, we can assume they know how to implement the forces they're interested in.

Yes. But there is no guarantee that they can implement them correctly. You know much better than I that there are tons of small details to pay attention to when implementing such an object. I just wish to provide a way for them to be able to verify their implementation using OpenMM.

yuanqing-wang avatar Apr 28 '23 05:04 yuanqing-wang

I just wish to provide a way for them to be able to verify their implementation using OpenMM.

We already document how to compute forces and energies. That's the only part that involves OpenMM.

peastman avatar Apr 30 '23 21:04 peastman