GROMACS

Version
2021.2

GROMACS

GROMACS is a powerful and versatile molecular dynamics simulation package. It is capable of solving Newtonian Equations of Motions for extremely large systems that can range in the hundreds of millions of particles. It's primary purpose is for simulating biochemical systems with large numbers of complex bonded interactions such as proteins, lipids and nucleic acids. It is also quite capable of simulating non-biological systems as well since the program can compute such non-bonded interactions extremely quickly.

Use of GROMACS on RCC Resources

GROMACS is one of the computational chemistry programs available on both the Spear and the HPC systems. It can be loaded along with the MPI libraries with module load gnu openmpi. The MPI Library is required for parallel runs. If you want to run gromacs serially and/or interactively, you don't need the openmpi module so you can just run module load gnu. Once these commands are run, GROMACS commands can be run by prefixing any GROMACS command with gmx. For example, the pdb2gmx GROMACS command would be run as gmx pdb2gmx [options and filenames]. Examples on how to use GROMACS can be found at the GROMACS Tutorial and Documentation pages.

Running Serial GROMACS Jobs on HPC

GROMACS can be run in serial by using the gmx commands described in the GROMACS documentation For example, to run an energy minimization using molecular dynamics, see the GROMACS Tutorial for more details, the following code would be needed.

# Load the modules
module load gnu

gmx mdrun -v -deffnm em

Running Parallel GROMACS Jobs with MPI

GROMACS can be run in parallel on multiple nodes using MPI or on multiple cores in a shared memory system using OpenMP. In order to run a parallel job on multiple nodes on RCC Systems, you first must load the gnu and openmpi modules. Then, a parallel job can be executed by using a SLURM script as shown below. For more information on accelerating GROMACS and running it in parallel, please refer to the documentation on that topic and the documentation available on the mdrun command itself.

GROMACS - SLURM Script

#!/bin/bash
#SBATCH -J testGROMACS
#SBATCH -n 16
#SBATCH -p backfill
#SBATCH -t 4:00:00

module load gnu openmpi

srun gmx mdrun -v -deffnm em

 

Save this script in a .sh file.  For example, it could be named TESTJOB.sh.  Then, submit this to the cluster using the following command.

 

GROMACS - Non-interactive run commands

sbatch TESTJOB.sh  # TESTJOB can be anything as long as it has the .sh suffix