Double-Well Dimer Testsystems¶
One of the common systems used to study rare events is the double-well dimer in a bath of repulsive particles. In this system, two particles are linked by a “bond” that allows condensed and extended metastable states. This module adds this system, and tools for created several variants of it, to the OpenMMTools package.
Purpose of Module¶
The symmetric double-well dimer is a widely-used model for developing new rare events methodologies. However, implementing simple models in software packages that are designed for biological systems, such as OpenMM, can be difficult for a novice user. As a result, many developers of new methods will implement their methods twice: first to interface with simple models such as the double-well dimer using in-house MD codes, then a second time to interface with more powerful tools, such as OpenMM, to simulate complex systems such as biomolecules. This module provides tools that facilitate setting up custom versions of the double-well dimer for OpenMM, allowing users to develop their new methodologies directly for the same platform that they will use for larger practical applications.
The widely-used double-well dimer model is a symmetric quartic potential, given by:
where is the distance between the particles, is the height of the barrier, is the energy minimum for the condensed metastable state, and sets the distance for the extended metastable state according to .
This “bonded” interaction is added for specific pairs of particles, on top of a background of WCA (purely repulsive) “nonbonded” interactions between all particles. The WCA interaction is:
where is a characteristic distance and is a characteristic energy scale.
The quartic double well is a simple model of rare events, where the expected reaction coordinate is obvious. However, it is can be very useful for benchmarking new methods. The OpenMMTools package includes a suite of systems to be used in testing and benchmarking, and was a natural place to add these.
Although the most widely-used approach has been to have a single dimer in
the bath of WCA particles, this module provides two possible extensions that
have been previously used in the literature.
The first extension is to allow multiple independent dimers, as was done in
[Swenson2014]. This is done by changing the ndimers
parameter in the DoubleWellDimer_WCAFluid
test system.
The other extension is to create a polymer chain of double-well bonds, as
was done in [Rogal2008]. This is done by changing the
nchained
parameter in the DoubleWellChain_WCAFLuid
test system.
[Swenson2014] | D.W.H. Swenson and P.G. Bolhuis, J. Chem. Phys. 141, 044101 (2014); https://doi.org/10.1063/1.4890037 |
[Rogal2008] | J. Rogal and P.G. Bolhuis. J. Chem. Phys. 129, 224107 (2008); https://doi.org/10.1063/1.3029696 |
Background Information¶
This builds on the testsystems
module of OpenMMTools. The OpenMMTools
source is hosted at http://github.com/choderalab/openmmtools. These
contributions will be included in OpenMMTools 0.17.0.
Building and Testing¶
This has been incorporated into OpenMMTools 0.17. Up-to-date installation
information can be found in the OpenMMTools documentation; as of this
writing it simply requires installing conda, and then using the command
conda install -c conda-forge -c omnia openmmtools
. Note that this
requires a Python 3-based environment; OpenMMTools does not support Python
2.
Extra requirements for the tests can be installed with conda install -c
conda-forge -c omnia nose nose-timer pymbar
. The full suite of tests can
be run from the openmmtools
directory with the command nosetests
.
The tests specific to this (and other test systems) can be run from the root
directory of the repository with: nosetests
openmmtools/tests/test_testsystem.py
.
Examples¶
Examples of the tools in this module can be seen in a Jupyter notebook that can be viewed or downloaded from a GitHub gist at: https://gist.github.com/dwhswenson/bb79a137a1d65629c22e7b00aa569d76
Source Code¶
The source for this module was contributed to OpenMMTools. The relevant pull request is: