Wiki

Clone wiki

MIST / Running GROMACS with MIST

This section details the steps required to run MD in GROMACS with the MIST library.

Page Table of Contents

Running GROMACS with MIST

There is extensive help on using GROMACS on the GROMACS website. However, this section provides a quick start for using GROMACS with the MIST library. It is not intended to replace a good working knowledge of GROMACS and its uses.

Using grompp

The grompp tool is a GROMACS preprocessor that reads in simulation parameters from an .mdp file, a molecular topology .top file, and from these generates a binary input that can be used as the input for GROMACS. You can see example files in the MIST repository:

When using the MIST library, not all the standard GROMACS functionality can be used. We recommend that you use GROMACS without MIST if you need any of this particular functionality and switch to using MIST with your preferred integrator for production runs. If you want to use MIST then you will not be able to use the following GROMACS functionalities:

  • Ensembles: as no temperature or pressure coupling is supported when using MIST please ensure that in your mdp options file that tcoupl=no and pcoupl=no. NVT dynamics can be performed using the langevin integrator in MIST.
  • Constraints: constraints are not currently supported which removes the ability to use algorithms such as SHAKE. To ensure your topology file can be used add the line #define FLEXIBLE to the top of the file. Bond constraints may be enabled in MIST for some integrators by specifying constraints all-bonds. We are going to run the modified GROMACS file by using an Alanine Dipeptide system. Outside the git mist repository you have cloned:
#!unix
mkdir mist_test
cd mist_test
wget https://bitbucket.org/extasy-project/mist/raw/master/examples/gromacs/aladip/grompp.mdp  # MD parameters file
wget https://bitbucket.org/extasy-project/mist/raw/master/examples/gromacs/aladip/topol.top   # Topology file
wget https://bitbucket.org/extasy-project/mist/raw/master/examples/gromacs/aladip/input.gro   # Initial coords

First, change line 6 of the grompp.mdp file:

   integrator               = md
to the MIST integrator:
   integrator               = mist

For clarity in what follows we assume that the GROMACS binaries are in your search path, otherwise you will have to provide the full path name to each executable.

Then use the grompp tool to produce a .tpr file (more on tpr). Specifying the options -f (input .mdp file), -p (input topology file), -c (input structure file) and -o (name of the output .tpr file) allow non-default filenames to be used:

gmx grompp -f grompp.mdp -p topol.top -c input.gro -o run.tpr

NB: always recreate your tpr file before using MIST as using a tpr file created using a version of GROMACS without MIST, but then running with MIST, will result in errors.

This should produce the binary run.tpr as well as an output file mdout.mdp which logs the chosen parameters. If grompp finished correctly, the mdout.mdp file should contain the line:

integrator               = mist
indicating that your MD run will use using MIST.

Second, you need to create a mist.params file in this directory. The basic file can contain:

# Select which integration algorithm to use                                               
integrator verlet

# Parameters for the integrator                                                           
# none        
where verlet can be replaced by your choice of integrator. A list of the available integrators and parameters required for any integrators is discussed in the next section.

The next step is to run your MD job, using the MIST library and the correct tpr file:

gmx mdrun -nt 1 -s run.tpr -mp topol.top  

The -s and -mp flags allow user-specified filenames for the tpr and top files, -nt sets the number of threads (only available if GROMACS was built using -DGMX_OPENMP=ON).

You should see output like (excluding the banner info at the top of the output):

Command line:
  gmx mdrun -nt 1 -s run.tpr -mp topol.top

Reading file run.tpr, VERSION 5.0.2 (single precision)
Can not increase nstlist because an NVE ensemble is used
Using 1 MPI thread
Using 1 OpenMP thread
starting mdrun 'Protein t=   0.00000'
10 steps,      0.0 ps.
MIST: Input file ok.
MIST: Using Velocity Verlet Integrator
MIST: Constraints not specified, assuming none.
MIST: Initialised MIST Library

Writing final coordinates.
MIST: Parameters freed ok.
MIST: Cleaned up MIST Library

               Core t (s)   Wall t (s)        (%)
       Time:        0.008        0.051       15.8
                 (ns/day)    (hour/ns)
Performance:       18.493        1.298

gcq#219: "Let's Go Hang Out In a Mall" (LIVE)

Running GROMACS on ARCHER

ARCHER is the UK national supercomputing service. To run GROMACS with MIST in parallel on ARCHER, the batch script should contain:

export OMP_NUM_THREADS=X
aprun -n 1 -d X  ./gmx mdrun -ntmpi 1 -ntomp X -s myFile.tpr -mp water.top
where X is the number of threads.

Note: GROMACS has an internal concept called a ‘thread-mpi’ where threads can be used like MPI processes and do a domain decomposition, which MIST does not support.

Up: Home; Previous: Running LAMMPS with MIST; Next: Running Amber with MIST

Updated