OpenMM 7.1 Beta

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

OpenMM 7.1 Beta

Post by Peter Eastman » Sat Dec 24, 2016 3:31 pm

Merry Christmas! As a holiday present for you, we have the beta release of OpenMM 7.1 with lots of new features and performance improvements. Here are some of the more significant ones.

Most custom forces now have the ability to compute derivatives of the energy with respect to arbitrary global parameters. This makes it possible to implement lambda dynamics and similar algorithms where extra variables need to be integrated along with the particle positions. It also is very useful for force field optimization.

To use this feature, call addEnergyParameterDerivative() on the force to tell it what parameters you want derivatives with respect to. Then you can call context.getState(getParameterDerivatives=True).getEnergyParameterDerivatives() to query them. CustomIntegrator also has a deriv() function you can use to calculate parameter derivatives.

We now support the Gay-Berne ellipsoid potential. This is similar to a Lennard-Jones force, but instead of depending on the distance between two point particles, it depends on the shortest distance between two ellipsoids. This is very useful for various types of coarse grained models. See the GayBerneForce class for details.

Most bonded forces now have the ability to apply periodic boundary conditions. Although that isn't usually what you want for bonded interactions, there are situations where it's very useful. To enable it, just call setUsesPeriodicBoundaryConditions(True) on the force.

To install the beta with conda, type

Code: Select all

conda install -c omnia/label/beta openmm==7.1.0
You also can use the zip installers on the simtk.org download page. It will appear under "Hidden Releases".

All feedback will be very much appreciated!

Peter

User avatar
Maxim Imakaev
Posts: 87
Joined: Sun Oct 24, 2010 2:03 pm

Re: OpenMM 7.1 Beta

Post by Maxim Imakaev » Tue Jan 03, 2017 6:55 pm

Hi Peter,

Happy new year! I will definitely give it a try.

Which cuda version is it optimized and compiled for?
Would I need cuda 8 if I use it on 1080 GTX?

User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.1 Beta

Post by Peter Eastman » Tue Jan 03, 2017 10:07 pm

The binaries are compiled for CUDA 8. If you compile from source, you could compile against CUDA 7.5, but all our testing has been with 8.

Peter

User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.1 Beta

Post by Peter Eastman » Fri Jan 27, 2017 10:36 am

A new build is now posted. This is a release candidate. If no serious problems are found, we'll declare it to be the official 7.1 release in about a week. So give it a try and see how it works for you.

Peter

User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.1 Beta

Post by Peter Eastman » Fri Jan 27, 2017 10:37 am

I forgot to mention, the command to install the release candidate is

Code: Select all

conda install -c omnia/label/rc openmm

User avatar
Mark Williamson
Posts: 31
Joined: Tue Feb 10, 2009 5:06 pm

Re: OpenMM 7.1 Beta

Post by Mark Williamson » Tue Jan 31, 2017 2:25 pm

Hello, I've just been testing the RC via conda. I've found something with pdbfixer and I'm not sure if it is an issue with that package or the fact that it makes use of simtk.openmm.app.forcefield. Here's the code:

Code: Select all

#!/usr/bin/env python
#
# Installed via
#       conda create --name openmm python=2.7
#       source activate openmm
#       conda install -c omnia pdbfixer=1.3.1
#       conda install -c omnia/label/rc openmm  
#
# https://raw.githubusercontent.com/pandegroup/pdbfixer/master/Manual.html

from pdbfixer import PDBFixer
from simtk.openmm.app import PDBFile

fixer = PDBFixer(pdbid='1EJG')

fixer.findMissingResidues()
fixer.findNonstandardResidues()
fixer.replaceNonstandardResidues()
fixer.findMissingAtoms()
fixer.addMissingAtoms()
fixer.removeHeterogens(True)
fixer.addMissingHydrogens(7.0)
fixer.addSolvent(fixer.topology.getUnitCellDimensions())
PDBFile.writeFile(fixer.topology, fixer.positions, open('output.pdb', 'w'))
The resulting output is:

Code: Select all

Traceback (most recent call last):
  File "pbc.py", line 23, in <module>
    fixer.addSolvent(fixer.topology.getUnitCellDimensions())
  File "/home/mw529/.conda/envs/openmm/lib/python2.7/site-packages/pdbfixer/pdbfixer.py", line 1050, in addSolvent
    forcefield = self._createForceField(self.topology, True)
  File "/home/mw529/.conda/envs/openmm/lib/python2.7/site-packages/pdbfixer/pdbfixer.py", line 1109, in _createForceField
    nonbonded.typeMap[typeName] = (0.0, sigma, 0.0)
AttributeError: 'NonbondedGenerator' object has no attribute 'typeMap'
Once again, apologies if this is not the correct place to flag this up.

User avatar
Peter Eastman
Posts: 2593
Joined: Thu Aug 09, 2007 1:25 pm

Re: OpenMM 7.1 Beta

Post by Peter Eastman » Tue Jan 31, 2017 2:53 pm

Some of the internal changes in OpenMM require corresponding changes in PDBFixer. We'll put out an update to it as soon as 7.1 is released. In the mean time, if you use the latest PDBFixer code from github that will work.

User avatar
marilyn winkler
Posts: 1
Joined: Thu Nov 14, 2019 3:16 am

Re: OpenMM 7.1 Beta

Post by marilyn winkler » Thu Nov 14, 2019 3:20 am

Some of the internal changes in OpenMM require corresponding changes in PDBFixer. We'll put out an update to it as soon as 7.1 is released. In the mean time, if you use the latest PDBFixer code from github that will work.write my essay
What about replacing selenomethionine (MSE) with methionine (MET)? Will it solve this issue?

POST REPLY