All of our software is open-source and freely available on GitHub. Please let us know if you find any of our software useful and please cite the relevant publications if you use then in your research. Contact us on the GitHub Issues of each software to report bugs or discuss the integration of our software libraries into your research.

Our Alchemical Transfer Method (ATM) for absolute and relative binding free energies is currently implemented in two OpenMM plugins. The SDM Plugin described below, based on a customized Langevin integrator, is currently our production implementation. The newer, but still experimental, ATM Meta-Force Plugin is our first attempt at a more flexible and general force-based implementation of ATM in OpenMM. We expect that our binding free energy protocols will progressively switch to the ATM Meta-Force Plugin as we gain more familiarity with it.

ATM is an alchemical approach to binding free energy estimation based on a displacement of the ligand between the binding site and the solvent bulk. At each time step, the potential energy and the forces of the solvated complex are evaluated with the ligand in the binding site and again after the ligand is displaced into the solvent bulk. The energies and forces are then hybridized according to an alchemical bridging potential to propagate the system in time. Relative binding free energies are supported in the same way by a coupled displacement of the two ligands in opposite directions. In the SDM Plugin this procedure is implemented in a customized Langeving MD Integrator. While it is valid and accurate, this implementation suffers from some limitations such as the lack of NPT support. The newer implementation of ATM in the ATM Meta-Force Plugin removes these limitations by implementing the ATM alchemical potential as an OpenMM Force object. In this way, any conformational sampling algorithm and force field available in OpenMM can be used in conjunction with ATM.

This work is supported by a generous grant from the National Science Foundation.

The Single-Decoupling Binding Free Energy Method (SDM) is an absolute binding free energy estimation and analysis methodology based on a statistical mechanics theory of molecular association and efficient computational strategies built upon parallel Hamiltonian replica exchange and multi-state statistical inference. The method is implemented in OpenMM by the SMD Plugin. Until recently, the method was limited to an implicit solvent representation of the water solvent. With version 2.0, however, the software supports the Alchemical Transfer Method (ATM) for absolute and relative binding free energy calculations with explicit solvent. This implementation is currently our production ATM code and it has been used in recent publications.

This work is supported by a generous grant from the National Science Foundation.


AGBNP (see AGBNP and AGBNP2 publications) is an analytic implicit hydration model primarily aimed at alchemical binding free energy calculations. The legacy CPU version of AGBNP is freely available as a portable library written in C. More recently, we have been focusing on a GPU implementation of AGBNP as part of the OpenMM library which is many times faster than the best CPU implementation. The AGBNP OpenMM Plugin is freely available on Github under the GPL license. The plugin currently implements on GPUs AGBNP version 1 (as well as the GaussVol model, see below).

GaussVol OpenMM Plugin

The GaussVol plugin implements in OpenMM the Gaussian model of Grants & Pickup for the fast calculation of the volume and surface area of macromolecules. The model is the basis of the AGBNP model above. The plugin enables molecular dynamics simulations on GPUs with an effective potential energy function proportional to the solute volume and/or the solute surface area as in, for instance, models of hydrophobic solvation. The GPU implementation is described in a publication in the Journal of Computational Chemistry. The original GaussVol plugin code is available on Github. Development and support of GaussVol continue as part of the AGBNP OpenMM Plugin described above.

overlap tree

Asynchronous Replica Exchange Framework

Asynchronous replica exchange (or ASyncRE for short) is an implementation of the popular parallel replica-exchange conformational sampling algorithm. Unlike traditional synchronous implementations, ASyncRE can scale to many hundreds of replicas over heterogeneous grids of unreliable compute nodes for long running times. Our lab maintains a version of ASyncRE for SDM and ATM calculations with OpenMM.

Unbinned-WHAM R Package

UWHAM is an R package for multi-state free energy estimation and thermodynamic reweighting I developed jointly with Zhiqiang Tan at the Department of Statistics at Rutgers University. It provides to R users functionality similar to the MBAR python package. MBAR and UWHAM return identical point estimates of free energies and expectations using different numerical routes. See the UWHAM publication.To install UWHAM enter:

> install.packages("UWHAM")

within an R session. Documentation and examples are available within R by entering

> library("UWHAM") > help(uwham)

or in pdf format from

Variance estimation is based on the Fisher or Sandwich formulas, or, for correlated data, by block bootstrap. Processes corresponding to multiple independent simulations, serial tempering or serial Hamiltonian hopping simulations, and parallel replica exchange simulations of both the synchronous and asynchronous varieties are supported.

The UWHAM package is particularly robust in terms of scalability; we have been able to process within minutes large 2D replica-exchange datasets with ~300,000 snapshots from ~200 thermodynamic states.