openmm / openmm-cookbook

The OpenMM Cookbook and Tutorials
38 stars 10 forks source link

Use OpenMM to Verify Your MM Functional Form Implementation.ipynb #22

Open yuanqing-wang opened 1 year ago

yuanqing-wang commented 1 year ago

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

yuanqing-wang commented 1 year ago

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

peastman commented 1 year ago

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?

yuanqing-wang commented 1 year ago

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:

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.

peastman commented 1 year ago

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.

yuanqing-wang commented 1 year ago

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.

peastman commented 1 year ago

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.