NERSCPowering Scientific Discovery Since 1974



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:

% module load amber

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

% module show amber

E.g., on Edison,

% module show amber
module-whatis AMBER is a collection molecular dynamics simulation programs
setenv AMBERHOME /usr/common/usg/amber/14
setenv AMBER_DAT /usr/common/usg/amber/14/dat
prepend-path PYTHONPATH /usr/common/usg/amber/14/bin
prepend-path PATH /usr/common/usg/amber/14/bin

To see the available executables, type

% ls -l /usr/common/usg/amber/14/bin

A user should choose an appropriate binary to run his/her jobs. The sander, sander.LES, sander.PIMD are the serial binaries, their prallel binaries are sander.MPI, sander.LES.mpi, sander.PIMD.MPI, respectively.

How to use AMBER on Edison and Cori

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 Edison or Cori:

#!/bin/bash -l
#SBATCH -J test_amber
#SBATCH -q debug
#SBATCH -t 00:30:00
#SBATCH -o test_amber.o%j

module load amber

#Edison has 24 cores per compute node,so run 48 tasks on two nodes
srun -n 48 sander.MPI -i -o mytest.out ... (more sander command line options)

#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 -o mytest.out ... (more sander command line options)

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

% sbatch test_amber.slurm

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

% salloc -N 2 -q debug -t 30:00 

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

% module load abmer
% #on Edison
% srun -n 48 sander.MPI -i -o mytest.out ... (more sander command line options)

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

Energy Minimization BPTI Example

Here we use AMBER to do an energy minimization of BPTI (bovine pancreatic trypsin inhibitor). This system, while rather small (536 atoms), is large enough to benefit from parallelism up to around 16 MPI tasks. Use is made of protonate and tleap to prepare the coordinates and topology for the simulation.

First execute the following script. The file 6pti.mod.pdb is an edited version of the file 6pti.pdb which is distributed by the Brookhaven Protein Data Bank. The water and phosphate have been deleted and the B conformations of residues 39 and 50 have been deleted.

module load amber

inside tleapi, type

source leaprc.ff03
bpti = loadPdb 6pti.mod.pdb
bond bpti.5.SG bpti.55.SG
bond bpti.14.SG bpti.38.SG
bond bpti.30.SG bpti.51.SG
saveAmberParm bpti prmtop prmcrd

#this generates "prmcrd" and "prmtop" files

# run sander

cat << eof >
# 200 steps of minimization, generalized Born solvent model
maxcyc=200, imin=1, cut=12.0, igb=1, ntb=0, ntpr=10,


Amber Home Page


PackagePlatformCategoryVersionModuleInstall DateDate Made Default
Amber cori applications/ chemistry 14 amber/14 2016-06-30 2016-06-30
Amber edison applications/ chemistry 14 amber/14 2017-08-02 2017-08-02
amber phoebe applications/ physics 11 amber/11 2012-07-03