OpenMM 7.2 beta
Posted: Tue Dec 05, 2017 2:25 pm
The beta of OpenMM 7.2 is now available for testing! It has lots of new features that we hope you'll find useful. To install it, type
conda install -c omnia/label/beta openmm
It's now built against CUDA 9.0, so be sure you have that installed if you plan to use the CUDA platform.
Maybe the most important addition is that OpenMM now has built in support for the Amber14 and CHARMM36 force fields. These are modern force fields that often produce more realistic results than the older ones. They also include parameters for other types of molecules we didn't support before, such as lipids and carbohydrates. That means you can now set up membrane simulations entirely in OpenMM without needing to define parameters in a different program.
To go with that, the Modeller class now has a routine for building lipid membranes. It provides built in support for POPC and POPE lipids. You can also build other types of membranes, even mixtures of multiple lipid types, by providing a PDB file with a pre-equilibrated membrane patch that can be tiled to form a membrane.
We've created a new class, CustomCVForce, for applying forces based on collective variables. You already could use CVs via the Plumed plugin, but that has one big disadvantage: it's slow. This new class can do everything directly on the GPU, so it's a lot faster. It takes the unique approach of using Force objects to define CVs. That means any function you can define with a Force object (including any of the custom forces) can be used as a collective variable. This is a very flexible approach, and it can compute a lot of functions that aren't available in Plumed. On the other hand, there are a few popular CVs (such as RMSD) that aren't currently possible through this approach, so we'd really like feedback on what other functions would be most useful to add.
Defining virtual sites with the LocalCoordinatesSite class is more flexible than it used to be. Previously you could define a virtual site based on the positions of any three particles. Now it supports arbitrary numbers of particles, so you can define virtual sites based on the positions of four or more other particles.
Another new feature is that CustomIntegrator lets you define tabulated functions and use them as part of your integration algorithm. This can be very useful for certain types of integrators.
A minor but very handy new feature is that Context.reinitialize() has an option to preserve state within the context. You should still avoid reinitializing the context more than necessary (it's slow), but when you need to do so, it's a lot easier than before.
Starting in this release, conda is the only mechanism we're using to distribute pre-built binaries. We're no longer creating the old zip installers. They were more work to maintain, and we got far more reports of people running into problems with them than with conda. You can still build from source, of course, if you prefer that. OpenMM now requires a compiler that supports C++11. That shouldn't be an issue unless you were using a very old compiler.
We're still working on updating the documentation, but most of the changes are in. You can always find the up to date documentation for the in-development code by going to http://openmm.org/documentation.html and scrolling down to the bottom of the page.
Feedback, suggestions, and bug reports are all welcome. Note that we're still testing the new force fields to make sure they give identical results to the versions in CHARMM and Amber, so don't use them for production simulations just yet. If all goes well, we should be able to get the official release out in about a month.
Peter
conda install -c omnia/label/beta openmm
It's now built against CUDA 9.0, so be sure you have that installed if you plan to use the CUDA platform.
Maybe the most important addition is that OpenMM now has built in support for the Amber14 and CHARMM36 force fields. These are modern force fields that often produce more realistic results than the older ones. They also include parameters for other types of molecules we didn't support before, such as lipids and carbohydrates. That means you can now set up membrane simulations entirely in OpenMM without needing to define parameters in a different program.
To go with that, the Modeller class now has a routine for building lipid membranes. It provides built in support for POPC and POPE lipids. You can also build other types of membranes, even mixtures of multiple lipid types, by providing a PDB file with a pre-equilibrated membrane patch that can be tiled to form a membrane.
We've created a new class, CustomCVForce, for applying forces based on collective variables. You already could use CVs via the Plumed plugin, but that has one big disadvantage: it's slow. This new class can do everything directly on the GPU, so it's a lot faster. It takes the unique approach of using Force objects to define CVs. That means any function you can define with a Force object (including any of the custom forces) can be used as a collective variable. This is a very flexible approach, and it can compute a lot of functions that aren't available in Plumed. On the other hand, there are a few popular CVs (such as RMSD) that aren't currently possible through this approach, so we'd really like feedback on what other functions would be most useful to add.
Defining virtual sites with the LocalCoordinatesSite class is more flexible than it used to be. Previously you could define a virtual site based on the positions of any three particles. Now it supports arbitrary numbers of particles, so you can define virtual sites based on the positions of four or more other particles.
Another new feature is that CustomIntegrator lets you define tabulated functions and use them as part of your integration algorithm. This can be very useful for certain types of integrators.
A minor but very handy new feature is that Context.reinitialize() has an option to preserve state within the context. You should still avoid reinitializing the context more than necessary (it's slow), but when you need to do so, it's a lot easier than before.
Starting in this release, conda is the only mechanism we're using to distribute pre-built binaries. We're no longer creating the old zip installers. They were more work to maintain, and we got far more reports of people running into problems with them than with conda. You can still build from source, of course, if you prefer that. OpenMM now requires a compiler that supports C++11. That shouldn't be an issue unless you were using a very old compiler.
We're still working on updating the documentation, but most of the changes are in. You can always find the up to date documentation for the in-development code by going to http://openmm.org/documentation.html and scrolling down to the bottom of the page.
Feedback, suggestions, and bug reports are all welcome. Note that we're still testing the new force fields to make sure they give identical results to the versions in CHARMM and Amber, so don't use them for production simulations just yet. If all goes well, we should be able to get the official release out in about a month.
Peter