Amber Tutorial

“Amber” refers to two things: a set of molecular mechanical force fields for the simulation of biomolecules (which are in the public domain, and are used in a variety of simulation programs); and a package of molecular simulation programs which includes source code and demos. Amber is comprised of preparatory, simulation, and analysis programs that can be utilized in order to carry out these molecular simulations. Documentation for Amber can be found on its official website.

Currently, Amber version 16 is available on the cluster.

Basics

To use Amber, first load the Amber and Open MPI modules using the command:

module load amber/gcc/openmpi

which will load both Amber version 16 and Open MPI.

sander, one of the Amber simulation programs, needs 3 specified files to run. An input file, a parameter/topology file, and the set of initial coordinates for the run. To run the sander program, use the following command:

mpirun sander.MPI -O -i mdin -p prmtop -c nc

where mdin is the name of the input file, prmtop is the name of the parameter/topology file, and nc is the set of initial coordinates for the run. The -O argument tells Amber to overwrite all output files, as the default behavior is to quit if any output files already exist. Output will be written to output files mdout, and restrt, which will contain the final set of coordinates from the run. To specify names for mdout and restrt, use the arguments -o and -r, respectively, with the name of the file you wish to be created.

Other optional arguments, as well as arguments for other Amber preparatory, simulation, and analysis programs, can be found in the Amber documentation.

GPU

Amber can also be run using GPU acceleration. Using GPUs will massively accelerate PMEMD (Particle Mesh Ewald Molecular Dynamics), which is one of the primary molecular dynamics engines within the AMBER Software suite that improves the performance of frequently used methods of sander.

To run PMEMD with GPU acceleration, first load Cuda and Amber, using the commands

module load cuda/8.0
module load amber/gcc/gpu/16

PMEMD requires three files to run, the same files as sander listed above. An input file, a parameter/topology file, and the set of initial coordinates for the run. To run PMEMD, use the following command:

pmemd.cuda -O -i mdin -p prmtop -c nc

where mdin is the name of the input file, prmtop is the name of the parameter/topology file, and nc is the set of initial coordinates for the run. Output will be written to output files with default names mdout and resrt unless otherwise specified using command line arguments.

To run a program on a GPU node using the scheduler, be sure to request a GPU resource in the job script parameters, using the command:

#SBATCH --gres=gpu:1