OpenMM Setup: Start Simulating Proteins in 5 Minutes

Molecular dynamics (MD) simulations are a good way to explore the dynamical behaviour of a protein you might be interested in. One common problem is that they often have a relatively steep learning curve when using most MD engines.

What if you just want to run a simple, one-off simulation with no fancy enhanced sampling methods? OpenMM Setup is a useful tool for exactly this. It is built on the open-source OpenMM engine and provides an easy to install (via conda) GUI that can have you running a simulation in less than 5 minutes. Of course, running a simulation requires careful setting of parameters and being familiar with best practices and while this is beyond the scope of this post, there are many guides out there that can easily be found. Now on to the good stuff: using OpenMM Setup!

When you first run OpenMM Setup, you’ll be greeted by a browser window asking you to choose a structure to use. This can be a crystal structure or a model. Remember, sometimes these will have problems that need fixing like missing density or charged, non-physiological termini that would lead to artefacts, so visual inspection of the input is key! You can then choose the force field and water model you want to use, and tell OpenMM to do some cleaning up of the structure. Here I am running the simulation on hen egg-white lysozyme:

The structure I’ve downloaded from the PDB has some crystallographic factors in it, so I remove these but keep any water molecules in, since they may be bound waters.

Next, I hydrogenate the structure (note there are MANY programmes out there to do this, and some might be more appropriate for your specific use than others.), soak it into a box that is large enough, and add salt to mimic the ionic strength of physiological conditions.

Lastly, I input the parameters on how the simulation should be run, and how the outputs should be saved. I can then either download all the files I need (the input file and script to actually run the simulation) to copy them over to a cluster, or I can just run the simulation on my local workstation through the programme itself. The former is probably much more useful in most cases if you have access to a cluster.

And there we have it: a quick simulation that we can start with very little work!

Author