Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coordinating OpenMM 8 tutorials #12

Open
3 tasks
jchodera opened this issue Nov 3, 2022 · 15 comments
Open
3 tasks

Coordinating OpenMM 8 tutorials #12

jchodera opened this issue Nov 3, 2022 · 15 comments

Comments

@jchodera
Copy link
Member

jchodera commented Nov 3, 2022

I am opening this thread to coordinate contributions to new tutorials for use in the OpenMM 8 paper.

I'll keep this list updated with the discussion below:

@zhang-ivy
Copy link
Contributor

I will probably write a tutorial for writing a REST system or simulating a protein-protein complex with glycans

@sukritsingh
Copy link

I'm happy to contribute a notebook on doing enhanced sampling with OpenMM! I could provide examples of

  1. Setting up and running Metadynamics
  2. Writing a customIntegrator to do accelerated MD, Gaussian Accelerated MD, etc.
  3. Attaching a customCVForce as a harmonic potential for any kind of Umbrella sampling.

However, I recognize that OpenMM 8 is focused a lot on the ML and ML/MM features rather than running enhanced sampling methods. It is fairly easy to set up and run nowadays anyways so happy to help either way! @peastman do you have any thoughts on if this is a good idea? John mentioned to ask you.

@peastman
Copy link
Member

peastman commented Nov 8, 2022

That would be great! ML may be the trendy new feature, but enhanced sampling is still a really important tool that lots of people use. Besides, ML makes enhanced sampling even more important, since it's slower to begin with.

@ijpulidos
Copy link

@jchodera I know you have shared a code that computes hydration free energies using OpenMM, I could make that one a tutorial for OpenMM 8, does that sound okay?

@jchodera
Copy link
Member Author

@ijpulidos: Yes! It would be great if you could use the hydration free energy phase calculation as the basis for a tutorial. There may be ways to further streamline this to eliminate the need for openmmtools as a dependency.

@viktorbelay
Copy link

I can contribute a tutorial for working with systems involving lipid bilayers/membranes. Some examples would be setting up a protein:membrane system in OpenMM, simulating systems set up in CHARMMGUI, and simulating transmembrane substrate permeation events.

@jchodera
Copy link
Member Author

@viktorbelay: Illustrations using CHARMM-GUI would be awesome! I think we still may have some interoperability issues that could be streamlined there...

@sef43
Copy link
Contributor

sef43 commented Feb 6, 2023

Hi @ijpulidos @zhang-ivy @sukritsingh @dominicrufa @viktorbelay, I am doing some work to update the OpenMM cookbook and Tutorials, have you been able to make any progress with the tutorials @jchodera has mentioned in this thread?

If you have some work than is partially completed I can help you finish them/ do some of the touching up to get them into a tutorial notebook format!

@zhang-ivy
Copy link
Contributor

My tutorial is not ready yet, but will aim to have a draft ready by next week!

@yuanqing-wang
Copy link
Contributor

Same here!

@zhang-ivy
Copy link
Contributor

@sef43 : I've opened a PR with my draft of a tutorial for building a REST system in OpenMM (also includes code on how to use OpenMMTools to run a REST simulation). Please let me know if you have any feedback.

@yuanqing-wang
Copy link
Contributor

@sef43 Added a tutorial for modifying parameters in OpenMM System. This might be useful for building APIs for machine learning force fields. #18

@yuanqing-wang
Copy link
Contributor

@sef43 I plan to add another one later today illustrating that you can write your own MD functional forms (at least for the bonded part) and benchmark against OpenMM---this turns out to be an interesting challenge we face in machine learning force field construction, as seen in https://github.com/dominicrufa/jax-md and https://github.com/choderalab/espaloma

@sukritsingh
Copy link

@sef43 : I've opened a PR #19 that adds a rough initial notebook for adding Enhanced Sampling sample code as a cookbook! I'm happy to add a) SAMS from OpenMMTools and b) Document the exact boost/details of the underlying boost potentials more (I added an example of AMD). Any and all feedback welcome!

Apologies for the delay on this on my end. I was stuck in a grant-writing hole for a while.

@sef43
Copy link
Contributor

sef43 commented Apr 21, 2023

Hi, thanks for all your PRs, they are looking good!
I have now merged #16 and cut a new release, they may now be some merge conflicts in your PRs, if you can take a look at the updated README: https://github.com/openmm/openmm-cookbook#adding-a-notebook there are now separate folders for cookbook recipes and tutorials. Where the difference is:

The way I think of it is that tutorials are educational tools. Their job is to help new users learn to use OpenMM. They should introduce and explain any important concepts for what they're doing. They may involve many steps. They often take you through a whole workflow.
The cookbook is a reference. It contains small, self contained pieces of code for performing specific tasks. They can assume you already know what you want to do, and you're just trying to find out how to do it.

and that cookbook recipes need to have a short runtime to be able to run in the CI, tutorials can be much longer runtime and are not run in the CI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants