A plugin to implement the Single-Decoupling alchemical protocol in OpenMM
Emilio Gallicchio egallicchio@brooklyn.cuny.edu
Rajat Pal rajatfor2014@gmail.com
Baofeng Zhang BZhang@brooklyn.cuny.edu
This software is released under the LGPL license. See LICENSE.
This software is maintained by the Gallicchio's laboratory at Department of Chemistry of Brooklyn College of CUNY. Development and maintenance of this software is supported in part from a grant from the National Science Foundation (CAREER 1750511).
The plugin interface is based on the openmmexampleplugin by Peter Eastman.
Suitable for absolute binding free energy calculations with implicit solvation. An automated workflow is available to set up SDM v1.0 calculations openmm_sdm_workflow
Uses a user-provided displacement vector. Used in Alchemical Transfer Approach to Absolute Binding Free Energy Estimation and in the SAMPL8 GDCC challenge.
Uses a user-provided displacement map, which generalizes it to most/all use cases, including relative binding free energy calculations.
OpenMM 7. Known to work with the OpenMM 7.2.2 and OpenMM 7.3.1
Platforms supported: Reference and OpenCL (CUDA will be supported soon).
Our setup and simulation protocol ssumes input from structure and parameter files in desmond file format. This requires the latest desmond file reader. Copy the desmond file reader in your OpenMM source tree and rebuild it.
Locate the OpenMM installation directory, otherwise it will default to /usr/local/openmm
. See above regarding patching OpenMM's desmond file reader.
Download the package from github:
git clone https://github.com/rajatkrpal/openmm_sdm_plugin.git
Build and install the plugin with cmake. Assuming a unix system:
mkdir build_openmm_sdm_plugin
cd build_openmm_sdm_plugin
ccmake -i ../openmm_sdm_plugin
Hit c
(configure) until all variables are correctly set, then g
to generate the makefiles. OPENMM_DIR
should point to an existing OpenMM installation. CMAKE_INSTALL_PREFIX
normally is the same as OPENMM_DIR
. The SDM plugin requires the python API. You need python
and swig
to install it.
Once the configuration is done do:
make
make install
make PythonInstall
The last two steps may need superuser access depending on the installation target. It is recommended to to build the plugin under a conda
environment to install the python modules without superuser access.
cd example
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<openmm_dir>/lib:<openmm_dir>/lib/plugins
python test.py
or edit runopenmm
and do
./runopenmm test.py
in each case, <openmm_dir>
is the OpenMM installation directory. We assume here that python can find the OpenMM python modules, for example under a conda/miniconda environment.