Every Amber input file starts with a comment line (that isn’t commented out with a symbol like the # sign). This comment line typically includes a brief overview of what the input file does (such as which stage of dynamics the system is in). Then, there is a line with &cntrl, which signifies that the following lines will include information about basic controls. For a line starting &pb, the lines that followed would describe more detailed data manipulation. Any additional comments you want to insert can be started with an exclamation mark (!).

The table below has some information on what specific settings do, and where they can be located in the Amber18 manual.

Table: Highlighted AMBER18 Settings

Setting Explanation Amber18 Page
imin Specifies the minization settings. = 0: Run MD without minimization [Default]
= 1: Energy minimization
= 5: Read trajectory for analysis
321
maxcyc Specifies the maximum number of cycles for minimization. [Default = 1]. 324
ncyc Minimization method will switch from steepest descent to conjugate gradient after this many cycles (when default ntmin = 1). [Default = 10] 324
ntc Specifies whether to perform SHAKE (helps ensure bonds meet proper length constraints, and should be used for MD simulations). When using TIP3P water, use ntf = ntc = 2.
= 1: No SHAKE [Default]
= 2: Bonds with hydrogen are constrained
= 3: All bonds are constrained (not an option for QM/MM or parallel runs using sander).
329
iwrap Specifies wrapping coordinates of restart and trajectory files to within the primary box.
= 0: No wrapping. The use of cpptraj will be necessary to translate back to primary box. [Default]
= 1: Wrapping is performed. May be necessary for very long runs if files written to ASCII and not NetCDF.
322
ntb Specifies whether the system is subjected to periodic boundaries.
= 0: No periodicity and PME is off. [Default when igb > 0]
= 1: Constant volume. [Default when ntp = igb = 0, which are both their respective defaults]
= 2: Constant pressure. [Default when ntp > 0]
338
ntr Specifies whether atoms specified through the restraintmask string should be restrained in Cartesian space with a harmonic potential when ntr = 1. [Default = 0] 323
cut Specifies the nonbonded cutoff (in Å). Any value can be specified.
= 9999.0: Effectively an infinite cutoff. [Default when igb > 0]
= 8.0: A “good value.” [Default when igb == 0]
338
ntx Specifies what will be read from the inpcrd file. This can be used with either ASCII or NetCDF formatted data.
= 1: Coordinates will be read [Default]
= 5: Coordinates and velocities will be read. When ntb > 0, box information read. Note: need irest = 1 to use velocity information.
321
irest Allows a simulation to be restarted.
= 0: Run a new simulation, not a restart. Velocities ignored, and time step set to 0. [Default]
= 1: Restart simulation, using coordinates and velocities from previously saved restart file. If using this flag, need ntx > 4
321
ntpr Specifies after how many steps the energy information will be printed to both mdout and mdinfo. [Default = 50] 322
ntwx Specifies how frequently coordinates are written to the mdcrd (trajectory) file. If ntwx = 0, no trajectory file is written. [Default = 0] 322
ntwv Specifies how frequently velocities are written to the mdvel file.
= -1: velocities written to mdcrd, in a combined coordinate/velocity trajectory file. Must be used with NetCDF binary outpput (ioutfm = 1).
= 0: no velocity trajectory file is written. [Default]
322
nstlim Specifies the number of MD steps to run. [Default = 1] 324
ioutfm Specifies the format for the coordinate and velocity trajectory files.
= 0: Formatted ASCII
= 1: Binary NetCDF [Default]
323
t Specifies the time at the start (for personal reference). Automatically taken from an input file if IREST = 1.
= 0.0: [Default]
324
dt Specifies the time step in picoseconds.
= 0.001: Recommended maximum for runs without SHAKE (equivalent to 1 fs). [Default]
= 0.002: Recommended maximum for runs with SHAKE (equivalent to 2 fs).
325
ntf Specifies how forces are evaluated.
= 1: calculates complete interactions [Default]
= 2: calculation ignores bond interactions with H-atoms (use with ntc = 2)
= 3: calculation ignores all bond interactions (use with ntc = 3)
= 4: calculation ignores all bonds and angles with H-atoms
= 5: calculation ignores all bonds and angle interactions
= 6: calculation ignores dihedrals involving H-atoms and all bonds and angle interactions
= 7: calculation ignores all bond, angle, and dihedral interactions
= 8: calculation ignores all bond, angle, dihedral, and non-bonded interactions
338
ntp Specifies constant pressure dynamics.
= 0: no pressure scaling performed. [Default]
= 1: MD with isotropic position scaling.
= 2: MD with anisotropic pressure scaling (should only be used with orthogonal boxes, aka “solvateoct”).
= 3: MD with semiisotropic pressure scaling (should only be used with “solvateoct” and csurften > 0).
327
ig The random seed. MD starting velocities are dependent on the random number. Setting a specific random seed can be done to check reproducibility.
= -1: Seed is set based off current date and time. [Default]
326
barostat Specifies the barostat for pressure control.
= 1: Berendsen [Default]
= 2: Monte Carlo
328
ntt Specifies temperature scaling.
= 0: Constant total energy, assuming ntb < 2. Microcanonical NVE.
= 1: Constant temperature, with weak-coupling algorithm. Dangerous for generalized Born simulations.
= 2: Anderson-like temperature, with Newtonian dynamics. Canonical (constant T) ensemble.
= 3: Langevin dynamics with collision frequency specified by gamma_ln. (If gamma_ln = 0, same as ntt = 0). Restarts of these systems should have an explicitly set ig value.
= 9: Optimized Isokinetic Nose-Hoover (OIN) chain ensemble, aka a fancy constant temperature simulation.
= 10: Stochastic Isokinetic Nose-Hoover RESPA Integrator. Can help demonstrate a Boltzman distribution.
325
temp0 The temperature that systems with ntt > 0 should be held constant at.
= 300: [Default]
If greater than 300, reduce step size, because of potential for errors with SHAKE and other things.
326
gamma_ln Specifies the collision frequency, γ, in ps-1 when using ntt = 3. Also specifies constants when ntt = 9 and ntt = 10
= 0: [Default]
326
tempi Specifies the initial temperature, assigning velocites from a Maxwellian distribution. This has no impact if ntx > 3
= 0.0: velocities calculated from the forces, instead of assigned. [Default]
322
taup Specifies the pressure relaxation time when nto > 0. Recommended to be between 1-5 ps. Unstable trajectories may need a higher value.
= 1.0: [Default]
328
tautp Specifies the time constant (in ps) when ntt = 1. Values should range from 0.5-5.0 ps; small values result in faster heating and less natural movement.
= 1.0: [Default]
326
vlimit Velocities greater than specified vlimit will be reduced to it, keeping the sign, which helps avoid run instability. [Default = 20] 327
ibelly Specifies belly type dynamics.
= 1: Some atoms in the system are allowed to move, and the rest will be frozen. The moving atoms are specified through bellymask.
Note: ibelly ≠ 0 is not supported by GPUs.
323
nsnb Specifies the frequency of nonbonded list updates when igb = nbflag = 0. [Default 25] 339
nmropt This specifies whether NMR data will be performed.
= 0: No NMR analysis will be done [Default]
= 1: Gives NMR restraints and weight changes
= 5: Gives NMR restraints, weight changes, NOESY volumes, chemical shifts, and residual dipolar restraints
Note: nmropt > 1 is unsupported for runs on GPUs.
321
pres0 The reference pressure (in bar, where 1 bar = 0.987 atm). [Default = 1] 328
restraint_wt The weight of positional restraints (in kcal mol-1-Å2). 324
restraintmask The string that explains what atoms should be restrained when ntr= 1. 323

Spacing and Other Formatting

Amber input files also have their own internal spacing requirements. Comment lines start at the first line position. Both types of lines that start with the & have a space after the start of the line and before the ampersand. The lines after that, which actually describe the system settings, start with two spaces after the beginning of the command line. The final line, which ends that slew of command lines, consists of three spaces between the start of the command line and the / symbol (which means end). Thus, it looks something like this (where the underscores denote spaces):

Comment
_&cntrl
__imin  = 1
___/

When restraints are involved, they follow the / line, and start yet again with a comment line (something like “restraints” or “hold protein fixed”). The weight of the restraint is on a line to itself, followed by a line specifying the residue numbers. After each specific restraint has been included, the file ends with two lines that simply say END. The following example sets the restraint weight at 10 kcal mol-1-Å2 for residues 1 through 25.

System Restraints
10.0
RES 1 25
END
END

You can insert comments by beginning them with an exclamation mark (!).

General comment describing settings of this file
  &cntrl
  imin=1, ! Do minimization
  cut=8.0, ! Use 8 angstrom cutoff
   /

AMBER Math (aka Simulation Length)

Since nstlim refers to the total number of steps, the simulation time of a single file can be found through an equation of [nstlim / 1000000 fs ns-1 x dt = time of simulation (in ns)]. Thus, with an nstlim of 250000 at a 2 fs time-step, 200 files of unrestrained MD data would yield a total simulation time of 100 nanoseconds. One table shows times with a 2 fs time-step, and another table shows times with a 1 fs time-step. The 2 fs time-step is recommended when using SHAKE (set by ntc > 1). Without SHAKE, the 1 fs time-step is recommended.

Table: Simulation times with 2.0 fs timestep

nstlim Single File Length Number of Files for 100 ns Number of Files for 1 μs
125000 0.25 ns 400 4000
250000 0.5 ns 200 2000
500000 1 ns 100 1000
1000000 2 ns 50 500
2500000 5 ns 20 200
5000000 10 ns 10 100
10000000 20 ns 5 & 50  
12500000 25 ns 4 & 40  

Table: Simulation times with 1.0 fs timestep

nstlim Single File Length Number of Files for 100 ns Number of Files for 1 μs
250000 0.25 ns 400 4000
500000 0.5 ns 200 2000
1000000 1 ns 100 1000
2000000 2 ns 50 500
5000000 5 ns 20 200
10000000 10 ns 10 100
20000000 20 ns 5 50
25000000 25 ns 4 40

GPU Support

Simulations in the NVE, NVT, and NPT ensembles, as well as implicit solvent Generalized Born simulations, can benefit from GPU acceleration using pmemd.cuda. GPU runs do not give an Ewald error estimate, so it is recommended to run tests on CPUs to ensure reasonable error estimates. There are some specific options that are unsupported with pmemd.cuda, and those are listed on page 369 of the Amber17 manual. For completeness, the specific settings that aren’t supported are in the GPU table.

Table: Unsupported GPU settings in AMBER

ibelly ≠ 0 icfe ≠ 0 igb ≠ 0 && cut < systemsize
nmropt > 1 nrespa ≠ 1 vlimit ≠ -1
MPI runs with imin = 1 es_cutoff ≠ vdw_cutoff order > 4
emil_do_calc ≠ 0 lj1264 ≠ 0 iemap > 0
  isgld > 0