Cryo-EM correlation-based fitting in GROMACS

Automated cryo-EM structure refinement using correlation-driven molecular dynamics

We present a correlation-driven molecular dynamics (CDMD) method for automated refinement of atomistic models into cryo-electron microscopy (cryo-EM) maps at resolutions ranging from near-atomic to subnanometer. It utilizes a chemically accurate force field and thermodynamic sampling to improve the real-space correlation between the modeled structure and the cryo-EM map.

Our framework employs a gradual increase in resolution and map-model agreement as well as simulated annealing, and allows fully automated refinement without manual intervention or any additional rotamer- and backbone-specific restraints. Using multiple challenging systems covering a wide range of map resolutions, system sizes, starting model geometries and distances from the target state, we assess the quality of generated models in terms of both model accuracy and potential of overfitting. To provide an objective comparison, we apply several well-established methods across all examples and demonstrate that CDMD performs best in most cases.


Igaev, M.; Kutzner, C.; Bock, L. V.; Vaiana, A. C.; Grubmüller, H.: Automated cryo-EM structure refinement using correlation-driven molecular dynamics. eLife 8, e43542 (2019)

.mdp input options controlling density fitting

; Add an extra potential resulting from a density map (yes/no)
DensityFitting           = yes
; Index group of atoms used for spreading
spread_group             = Protein-H
; Number of time points to use for specifying the refinement
; with different values for k, sigma, and temperature
densfit-npoints          = 1
; List of times (ps) at which density fitting / refinement parameters
; are given and exactly matched, interpolate linearly in between
densfit-time             = 0
; Gaussian width(s) used to transform the discrete atomic positions
; into a density (one sigma per refinement point)
densfit-sigma            = 0.5
; Strength constant(s) k (kJ/mol) of map potential
; V_fit = k*(1 - corr.coeff.) (one k per refinement point)
densfit-k                = 100000
; Cutoff distance (in sigmas) for density spreading,
; spread only within +/- sigma*dist
dist                     = 3
; Calculate V_fit every nstfit time steps
nstfit                   = 1
; Write diagnostic output every nstout time steps
nstout                   = 50
; Write simulated density map to file every nstmapout time steps
nstmapout                = 250000
; Keep and number simulated density maps (results in a bunch
; of map files)
KeepMaps                 = no


GROMACS versions with density fitting module

To install a GROMACS version with density fitting, download one of the tar archives from above. Then,

tar -xvzf gromacs-5_0_7-densfit.tgz

cd gromacs-5.0.7-densfit/
mkdir build
cd build

When configuring GROMACS with cmake, add these options so that the CCP4 include files and library is found during compilation:

export LD_LIBRARY_PATH=/path/to/your/ccp4-6.3.0/lib:$LD_LIBRARY_PATH


cmake .. \
-DCMAKE_EXE_LINKER_FLAGS=-L/path/to/ccp4-6.3.0/lib/ \

If you have a static CCP4 library (./ccp4-6.3.0/lib/libccp4c.a), you will need to also add


Then make and install just like any usual GROMACS.

Go to Editor View