Skip to content

AMBER

Amber (Assisted Model Building with Energy Refinement) is the collective name for a suite of programs designed to carry out molecular mechanical force field simulations, particularly on biomolecules. See Amber force fields, AMBER consists of about 50 programs. Two major ones are:

  • sander: Simulated annealing with NMR-derived energy restraints
  • pmemd: This is an extensively-modified version of sander, optimized for periodic, PME simulations, and for GB simulations. It is faster than sander and scales better on parallel machines.

How to access AMBER

NERSC uses modules to manage access to software. To use the default version of AMBER, type:

cori$ module load amber

To see where the AMBER executables reside (the bin directory) and what environment variables it defines, type

cori$ module show amber

E.g., on Cori,

cori$ module show amber
-------------------------------------------------------------------
/usr/common/software/modulefiles/amber/18:

module-whatis    AMBER is a collection molecular dynamics simulation programs 
setenv       AMBERHOME /usr/common/software/amber/18 
setenv       AMBER_DAT /usr/common/software/amber/18/dat 
setenv       OMP_NUM_THREADS 1 
prepend-path     LD_LIBRARY_PATH /opt/gcc/default/snos/lib64 
prepend-path     LD_LIBRARY_PATH /usr/common/software/amber/18/lib 
prepend-path     PYTHONPATH /usr/common/software/amber/18/lib/python2.7/site-packages 
prepend-path     PATH /usr/common/software/amber/18/bin 
-------------------------------------------------------------------

To see the available executables, type

cori$ ls -l /usr/common/software/amber/18/bin 

You should choose an appropriate binary to run your jobs. The sander, sander.LES, sander.PIMD are the serial binaries, their parallel binaries are sander.MPI, sander.LES.mpi, sander.PIMD.MPI, respectively.

How to run AMBER

There are two ways of running AMBER: submitting a batch job, or running interactively in an interactive batch session. Here is a sample batch script to run AMBER on Cori:

Cori Haswell

#!/bin/bash
#SBATCH -J test_amber
#SBATCH -q debug
#SBATCH -N 2
#SBATCH -C haswell
#SBATCH -t 00:30:00
#SBATCH -o %x.o%j

module load amber

#Cori has 32 cores per compute node, so run 64 tasks on two nodes (uncomment the following srun command line)
srun -n 64 sander.MPI -i mytest.in -o mytest.out ... (more sander command line options)

Then submit the job script using sbatch command, e.g., assume the job script name is test_amber.slurm,

cori$ sbatch test_amber.slurm

To request an interactive batch session, issue a command such as this one (e.g., requesting two nodes on Cori):

cori$ salloc -N 2 -q interactive -C haswell -t 30:00 

when a new batch session prompts, type the following commands:

cori$ module load abmer

cori$ #on Cori,
cori$ srun -n 64 sander.MPI -i mytest.in -o mytest.out ... (more sander command line options)

Documentation

Amber Home Page