GROMACS Tutorial

Umbrella Sampling

Justin A. Lemkul, Ph.D.
Virginia Tech Department of Biochemistry


This tutorial will guide the user through the process of setting up and running pulling simulations necessary to calculate binding energy between two species. The tutorial assumes the user has already successfully completed the Lysozyme tutorial, some other tutorial, or is otherwise well-versed in basic GROMACS simulation methods and topology organization. Special attention will be paid to the methods for properly building the system and settings for the pull code itself.

The binding energy (ΔGbind) is derived from the potential of mean force (PMF), extracted from a series of umbrella sampling simulations. A series of initial configurations is generated, each corresponding to a location wherein the molecule of interest (generally referred to as a "ligand") is harmonically restrained at increasing center-of-mass (COM) distance from a reference molecule using an umbrella biasing potential. This restraint allows the ligand to sample the configurational space in a defined region along a reaction coordinate between it and its reference molecule or binding partner. The windows must allow for slight overlap of the ligand positions for proper reconstruction of the PMF curve.

The steps for such a procedure (and the ones utilized in this tutorial) are as follows:

  1. Generate a series of configurations along a single degree of freedom (reaction coordinate)
  2. Extract frames from the trajectory in step 1 that correspond to the desired COM spacing
  3. Run umbrella sampling simulations on each configuration to restrain it within a window corresponding to the chosen COM distance
  4. Use the Weighted Histogram Analysis Method (WHAM) to extract the PMF and calculate ΔGbind

The tutorial assumes that the reader is using GROMACS version 2018 or later. My original work (from which this workflow was derived) was conducted with version 4.0.5, but in principle can be applied to any version in the 4.0.x or 4.5.x series. The pull code was completely re-written after version 3.3.3, and again in version 5.1, so satisfying the tutorial requirement of a 2018.x version is important.

Before continuing, I ask that you read the corresponding article to understand the context for these simulations. It is NOT appropriate to simply apply the settings utilized here to any system, as there are specific considerations that will be discussed later. The intention of this tutorial is to provide the user with a theoretical understanding of umbrella sampling and a practical example that is drawn directly from the literature.


Start the Tutorial!

Tutorials Home

Site design and content copyright Justin Lemkul

Problems with the site? Send them to the Webmaster