Skip to content

Inputs

schemas.workflow.amber.inputs.AmberInputsBase

Bases: BaseModel, YamlIO, Render

baroscalingdir: Literal[0, 1, 2, 3] = Field(default=0) class-attribute instance-attribute

Flag for pressure scaling direction control. Applicable when using Monte Carlo barostat (barostat is 2) with anisotropic pressure scaling (ntp is 2).


0

box size scales randomly (\(x\), \(y\) or \(z\)) each scaling step


1

box scales only along \(x\)-direction, dimensions along \(y\)-, \(z\)-axes are fixed


2

box scales only along \(y\)-direction, dimensions along \(x\)-, \(z\)-axes are fixed


3

box scales only along \(z\)-direction, dimensions along \(x\)-, \(y\)-axes are fixed

barostat: Literal[1, 2] = Field(default=1) class-attribute instance-attribute

Flag used to control which barostat is used to regulate the pressure during the simulation. The barostat setting determines how the simulation box's volume is adjusted to maintain the desired pressure. Choosing the right barostat is important for the accuracy and stability of the simulation.


1

Berendsen barostat. This method scales the box dimensions and atomic coordinates to achieve the desired pressure. It is simpler but can lead to less accurate pressure control and may not generate a true NPT ensemble.


2

Monte Carlo barostat. This method uses Monte Carlo moves to adjust the box volume and is generally more accurate for maintaining constant pressure. It provides better sampling of the NPT ensemble and is recommended for most simulations.

bellymask: str = Field(default='') class-attribute instance-attribute

String that specifies the moving atoms when ibelly is 1.

comp: float = Field(default=44.6, gt=0.0) class-attribute instance-attribute

Compressibility of the system when ntp > 0 in units of 10-6 bar-1. 44.6` x 10-6 bar-1, appropriate for water. This value is used in pressure regulation to account for the compressibility of the solvent or system being simulated.

csurften: Literal[0, 1, 2, 3] = Field(default=0) class-attribute instance-attribute

Flag for constant surface tension dynamics.


0

No constant surface tension.


1

Constant surface tension with interfaces in the \(yz\) plane


2

Constant surface tension with interfaces in the \(xz\) plane


3

Constant surface tension with interfaces in the \(xy\) plane

cut: float = Field(default=8.0, gt=0.0) class-attribute instance-attribute

Specifies the nonbonded cutoff in Angstroms. This parameter sets the distance beyond which nonbonded interactions (such as van der Waals and electrostatic interactions) are not explicitly calculated.

For Particle Mesh Ewald (PME), this value limits the direct space sum. PME is a method used to compute long-range electrostatic interactions efficiently by splitting them into short-range (direct space) and long-range (reciprocal space) components. The cutoff distance specifies the range within which the direct space interactions are computed explicitly, while interactions beyond this distance are handled in reciprocal space.

  • 8.0 Å is commonly used in many simulations as a balance between accuracy and computational efficiency. It ensures that the majority of significant interactions are captured while keeping the computational cost manageable.
  • 10.0 Å can provide improved accuracy, especially in systems where long-range interactions are important. However, it increases the computational load.

When using an implicit solvent model, the nonbonded cutoff should be set to 9999.0 Å, effectively making it infinite. This is because implicit solvent models treat solvation effects as a continuous medium, and all interactions need to be considered without a cutoff.

drms: float = Field(default=0.0001, gt=0) class-attribute instance-attribute

The convergence criterion for the energy Derivative: minimization will halt when the Root-Mean-Square of the Cartesian elements of the gradient of the energy is less than this.

dt: float = Field(default=0.001, gt=0.0) class-attribute instance-attribute

The time step in picoseconds. This parameter defines the interval of time between each step in the simulation.

  • With SHAKE (ntc is 2): The maximum value is 0.002 ps (2 fs). SHAKE constrains bond lengths involving hydrogen atoms, allowing for a larger time step.
  • Without SHAKE: The maximum value is 0.001 ps (1 fs). Without bond constraints, a smaller time step is needed to maintain numerical stability.

Since longer simulations are usually desired, the maximum value is typically used. However, values lower than the maximum can be used if necessary for the phenomena of interest, such as high-frequency motions or other specific needs.

The use of Hydrogen Mass Repartitioning (HMR) together with SHAKE, allows the time step to be increased in a stable fashion by about a factor of two (up to 0.004) by slowing down the high frequency hydrogen motion in the system. To use HMR, the masses in the topology file need to be altered before starting the simulation. ParmEd can do this automatically with the HMassRepartition option.

tip

Consider the nature of your simulation; if capturing high-frequency motions is critical, a smaller time step might be required.

dx0: float = Field(default=0.01, ge=0.0) class-attribute instance-attribute

The initial step length. If the initial step length is too big then will give a huge energy; however the minimizer is smart enough to adjust itself.

gamma_ln: float = Field(default=2.0, gt=0.0) class-attribute instance-attribute

The collision frequency, \(\gamma\), when ntt is 3. This parameter is used in Langevin dynamics to control the rate of coupling between the system and a heat bath, thereby regulating the temperature.

The default value is set to 2.0 ps-1, which is commonly used in many simulations to provide effective temperature control without overly damping the system's dynamics. Values typically range from 2.0 to 5.0 ps-1. While the physical collision frequency is about 50 ps-1, using such high values can overly dampen the system. Smaller values are preferred to maintain more realistic dynamics.

gamma_ten: float = Field(default=0.0, ge=0.0) class-attribute instance-attribute

Surface tension value in units of dyne/cm.

ibelly: Literal[0, 1] = Field(default=0) class-attribute instance-attribute

Flag for belly type dynamics. If set to 1, a subset of the atoms in the system will be allowed to move, and the coordinates of the rest will be frozen. The moving atoms are specified with bellymask. This option is not available when igb > 0. When belly type dynamics is in use, bonded energy terms, vdW interactions, and direct space electrostatic interactions are not calculated for pairs of frozen atoms. Note that this does not provide any significant speed advantage. Freezing atoms can be useful for some applications but is maintained primarily for backwards compatibility with older versions of Amber. Most applications should use the ntr variable instead to restrain parts of the system to stay close to some initial configuration.

idecomp: Literal[0, 1, 2, 3, 4] = Field(default=0) class-attribute instance-attribute

Perform energy decomposition according to a chosen scheme. In former distributions this option was only really useful in conjunction with mm_pbsa, where it is turned on automatically if required. Now, a decomposition of \(\left\langle \partial V / \partial \gamma \right\rangle\) on a per-residue basis in thermodynamic integration (TI) simulations is also possible.

If energy decomposition is requested, residues may be chosen by the RRES and/or LRES card. The RES card is used to select the residues about which information is written out.


0

Do not decompose energies.


1

Decompose energies on a per-residue basis; 1-4 EEL + 1-4 VDW are added to internal (bond, angle, dihedral) energies.


2

Decompose energies on a per-residue basis; 1-4 EEL + 1-4 VDW are added to EEL and VDW.


3

Decompose energies on a pairwise per-residue basis; otherwise equivalent to idecomp is 1. Not available in TI simulations.


4

Decompose energies on a pairwise per-residue basis; otherwise equivalent to idecomp is 2. Not available in TI simulations.

ig: int = Field(default=-1) class-attribute instance-attribute

The seed for the pseudo-random number generator. This affects the starting velocities for MD simulations if tempi is nonzero. If this is -1, a random seed will be computed based on the current date and time. This should almost always be -1 unless you are reproducing a run.

tip
  • Set to -1 to ensure that each simulation run starts with a different seed, providing varied initial conditions for better sampling.
  • Use a specific integer value if you need to reproduce an exact simulation run for debugging or verification purposes.
  • Ensure that tempi is set appropriately when using this option to affect starting velocities.

imin: Literal[0, 1, 5, 6, 7] = Field(default=0) class-attribute instance-attribute

Flag for running the energy minimization procedure.


0

Run molecular dynamics without any minimization.

Perform molecular dynamics (MD) simulation. This mode generates configurations by integrating Newtonian equations of motion, allowing the system to sample more configurational space and cross small potential energy barriers.


1

Perform energy minimization.

This mode iteratively moves the atoms down the energy gradient to relax the structure until a sufficiently low average gradient is obtained. Minimization is useful for preparing a system before MD simulations to remove bad contacts and high-energy configurations.


5

Read in a trajectory for analysis using the minimization algorithms.

Although sander will write energy information in the output files (using ntpr), it is often desirable to calculate the energies of a set of structures at a later point. In particular, one may wish to post-process a set of structures using a different energy function than was used to generate the structures. An example of this is MM-PBSA analysis, where the explicit water is removed and replaced with a continuum model.

If imin is set to 5, sander will read a trajectory file (the inptraj argument, specified using -y on the command line), and will perform the functions described in the mdin file (e.g., an energy minimization) for each of the structures in this file. The final structure from each minimization will be written out to the normal mdcrd file. If you wish to read in a binary (i.e., NetCDF format) trajectory, be sure to set ioutfm to 1. Note that this will result in the output trajectory having NetCDF format as well.

For example, when imin is 5 and maxcyc is 1000, sander will minimize each structure in the trajectory for 1000 steps and write a minimized coordinate set for each frame to the mdcrd file. If maxcyc is 1, the output file can be used to extract the energies of each of the coordinate sets in the inptraj file.

Trajectories containing box coordinates can be post-processed. In order to read trajectories with box coordinates, ntb should be greater than 0.


6

Read in a trajectory for analysis using the molecular dynamics driver.

Like when imin is 5, this option reads a trajectory file for analysis (the inptraj argument, specified using -y on the command line). Instead of minimizing the potential energy of each coordinate set, it instead initiates dynamics from each frame as if it were read as a restart file without initial velocities. That is, this option is equivalent to outputting each frame as a restart file and starting the dynamics with irest is 0. If nstlim is 0, then this effectively performs a single point energy for each frame.


7

Listen to the selected internet socket and return energies and forces when instructed by an external server.

When this option is set, sander does not perform MD; instead, it listens for messages from a server instructing it to compute the potential energy and forces of a system. The server IP address and port number are provided as command line arguments -host and -port. The default values are -host 127.0.0.1 and -port 31415. The communication pattern follows the protocol implemented in the i-PI software. The i-PI program is a molecular dynamics driver used to perform classical and centroid path integral molecular dynamics. When i-PI performs classical MD, one can instantiate a single sander process to evaluate the potential. However, when i-PI is used to perform PIMD, which involves calculating potential energies for several “beads” at each time step, multiple instances of sander can be launched to simultaneously evaluate the required potential energies. The current implementation of the interface is limited to simulations in the NVE an NVT ensembles; therefore, one should launch sander with a restart file whose unit cell lattice vectors are consistent with the input structure supplied to i-PI.

ionstepvelocities: Literal[0, 1] = Field(default=0) class-attribute instance-attribute

Controls whether to print the half-step-ahead velocities (0) or on-step velocities (1). The half-step-ahead velocities can potentially be used to restart calculations, but the on-step velocities correspond to calculated kinetic energy/temperature.

ioutfm: Literal[0, 1] = Field(default=1) class-attribute instance-attribute

Format of coordinate and velocity trajectory files.


0

ASCII.


1

Binary NetCDF files.

irest: Literal[0, 1] = Field(default=0) class-attribute instance-attribute

Flag to restart a simulation from a previously saved restart file. Restarting a simulation can help in managing large simulations by breaking them into smaller, manageable segments and allows for continued simulation from the point of interruption without losing progress.


0

Do not restart the simulation; instead, run as a new simulation. Velocities in the input coordinate file, if any, will be ignored, and the time step count will be set to 0 (unless overridden by t).


1

Restart the simulation, reading coordinates and velocities from a previously saved restart file. The velocity information is necessary when restarting, so ntx must be 5 (for Amber versions much older than 20, ntx must be greater than or equal to 4), if irest is 1.

iwrap: Literal[0, 1] = Field(default=0) class-attribute instance-attribute

Flag for wrapping coordinates around the periodic boundary.


0

No wrapping will be performed, in which case it is typical to use cpptraj as a post-processing program to translate molecules back to the primary box.


1

The coordinates written to the restart and trajectory files will be "wrapped" into a primary box. This means that for each molecule, its periodic image closest to the middle of the "primary box" (with \(x\) coordinates between \(0\) and \(a\), \(y\) coordinates between \(0\) and \(b\), and \(z\) coordinates between \(0\) and \(c\)) will be the one written to the output file. This often makes the resulting structures look better visually, but has no effect on the energy or forces. Performing such wrapping, however, can mess up diffusion and other calculations.

For very long runs, setting iwrap is 1 may be required to keep the coordinate output from overflowing the trajectory and restart file formats, especially if trajectories are written in ASCII format instead of NetCDF (see also the ioutfm option).

jfastw: Literal[0, 4] = Field(default=0) class-attribute instance-attribute

Fast water definition flag. By default, the system is searched for water residues, and special routines are used to SHAKE these systems.


0

Waters are identified by the default names, unless they are redefined, as described below.


4

Do not use the fast SHAKE routines for waters.

Info

The following variables allow redefinition of the default residue and atom names used by the program to determine which residues are waters.

  • WATNAM The residue name the program expects for water. Default WAT.
  • OWTNM The atom name the program expects for the oxygen of water. Default O.
  • HWTNM1 The atom name the program expects for the 1st H of water. Default H1.
  • HWTNM2 The atom name the program expects for the 2nd H of water. Default H2.

maxcyc: int = Field(default=1, ge=1) class-attribute instance-attribute

Maximum number of minimization cycles allowed. This parameter sets the upper limit on the number of cycles the minimization algorithm will perform. Values typically range from 1000 to 50000. Lower values may be sufficient for small systems or those close to their minimum energy state, while larger values can help ensure convergence in more complex or strained systems.

tip
  • If the system is large or highly strained, consider increasing the value to ensure sufficient minimization.
  • For smaller or well-equilibrated systems, a lower value might be adequate, saving computational resources.
  • Monitor the energy convergence; if the energy stabilizes before reaching maxcyc, the minimization can be considered complete.

mcbarint: int = Field(default=100, ge=1) class-attribute instance-attribute

Number of steps between volume change attempts performed as part of the Monte Carlo barostat. This determines how frequently the volume of the simulation box is adjusted during pressure regulation.

ncyc: int = Field(default=10, ge=1) class-attribute instance-attribute

If ntmin is 1, then the minimization method will be switched from steepest descent to conjugate gradient after ncyc cycles. Values typically range from 5 to 100.

Lower values will switch to conjugate gradient sooner, which can be more efficient for systems nearing their minimum energy state. Higher values will keep the minimization in steepest descent mode longer, which can be beneficial for systems far from equilibrium. The default value is set to 10, which provides a balance between the robustness of steepest descent and the efficiency of conjugate gradient methods.

tip
  • Adjust the value based on the size and complexity of your system. For larger or more complex systems, a higher value might be necessary to ensure sufficient initial minimization.
  • For systems that are relatively close to their equilibrium state, a lower value may expedite the minimization process by switching to the more efficient conjugate gradient method sooner.
  • Monitor the minimization process; if convergence is slow, consider increasing ncyc to allow more initial steepest descent cycles.

ninterface: int = Field(default=2, ge=2, le=9) class-attribute instance-attribute

Number of interfaces in the periodic box. There must be at least two interfaces in the periodic box. Two interfaces is appropriate for a lipid bilayer system and is the default value.

nkija: int = Field(default=1, ge=1) class-attribute instance-attribute

For use with ntt if 9 or 10. For ntt is 9, this the number of substeps of dt when integrating the thermostat equations of motion, for greater accuracy. For ntt is 10, this specifies the number of additional auxiliary velocity variables v1 and v2, which will total nkija \(\times\) v1 + nkija \(\times\) v2

nmropt: Literal[0, 1, 2] = Field(default=0) class-attribute instance-attribute


0

No nmr-type analysis will be done.


1

NMR restraints and weight changes will be read.


2

NMR restraints, weight changes, NOESY volumes, chemical shifts and residual dipolar restraints will be read.

noshakemask: str = Field(default='') class-attribute instance-attribute

String that specifies atoms that are not to be shaken (assuming that ntc>1). Any bond that would otherwise be shaken by virtue of the ntc flag, but which involves an atom flagged here, will not be shaken. Default is an empty string, which matches nothing. A typical use would be to remove SHAKE constraints from all or part of a solute, while still shaking rigid water models like TIPnP or SPC/E. Another use would be to turn off SHAKE constraints for the parts of the system that are being changed with thermodynamic integration, or which are the EVB or quantum regions of the system.

If this option is invoked, then all parts of the potential must be evaluated, that is, ntf must be 1. The code enforces this by setting ntf to 1 when a noshakemask string is present in the input.

If you want the noshakemask to apply to all or part of the water molecules, you must also set jfastw to 4, to turn off the special code for water SHAKE. (If you are not shaking waters, you presumably also want to issue the "set default FlexibleWater on" command in LEaP; see that chapter for more information.)

nrespa: int = Field(default=1, ge=1) class-attribute instance-attribute

This variable allows the user to evaluate slowly-varying terms in the force field less frequently. For PME, "slowly-varying" (now) means the reciprocal sum. For generalized Born runs, the "slowly-varying" forces are those involving derivatives with respect to the effective radii, and pair interactions whose distances are greater than the "inner" cutoff, currently hard-wired at 8 Å.

If nrespa > 1 these slowly-varying forces are evaluated every nrespa steps. The forces are adjusted appropriately, leading to an impulse at that step. If nrespa \(\times\) dt is less than or equal to 4 fs then the energy conservation is not seriously compromised. However if nrespa \(\times\) dt > 4 fs then the simulation becomes less stable. Note that energies and related quantities are only accessible every nrespa steps, since the values at other times are meaningless.

nscm: int = Field(default=1000, ge=1) class-attribute instance-attribute

Flag for the removal of translational and rotational center-of-mass motion every nscm steps. For periodic simulations (ntb is 1 or 2), only the translational center-of-mass motion is removed. Reasonable values are between 100 and 2000. Lower values ensure more frequent removal of center-of-mass motion, which can be beneficial for stability in certain simulations.

tip
  • Use lower values (closer to 100) for systems that may experience significant drift or when higher precision is required.
  • Higher values (up to 2000) can be used for more stable systems or to reduce computational overhead in very long simulations.
  • Monitor the simulation to ensure that the chosen value effectively manages the center-of-mass motion without introducing artifacts or instability.

nstlim: int = Field(default=1, ge=1) class-attribute instance-attribute

Number of MD steps to perform. Multiply nstlim and dt to get the duration of the MD simulation in picoseconds.

tip
  • For short equilibration runs or quick tests, use lower values of nstlim, such as 5000 to 50000.
  • For production runs aimed at sampling equilibrium states or studying slower processes, higher values of nstlim are recommended, typically in the range of 1000000 to 50000000 (corresponding to 2 ns to 100 ns for dt = 0.002).
  • Adjust nstlim based on the specific requirements of your study, considering both the computational resources available and the timescale of the phenomena you are investigating.

ntave: int = Field(default=0, ge=0.0) class-attribute instance-attribute

Every ntave steps of dynamics, running averages of average energies and fluctuations over the last ntave steps will be printed out. A value of 0 disables this printout. Setting ntave to a value ½ or ¼ of nstlim provides a simple way to look at convergence during the simulation.

ntb: Literal[0, 1, 2] = Field(default=1) class-attribute instance-attribute

Flag for periodic boundary conditions when computing non-bonded interactions. Bonds that cross the boundary are not supported.


0

No periodic boundary conditions. This is suitable for simulations where boundary effects are not a concern, such as in isolated systems or gas-phase simulations.


1

Constant volume. This maintains a fixed simulation box size, appropriate for systems where volume changes are not expected or desired.


2

Constant pressure. This allows the simulation box to fluctuate in size to maintain constant pressure, suitable for more realistic simulations of condensed-phase systems where pressure control is needed.

ntc: Literal[1, 2, 3] = Field(default=1) class-attribute instance-attribute

Flag for SHAKE to perform bond length constraints. The SHAKE option should be used for most MD calculations. The size of the MD timestep is determined by the fastest motions in the system. SHAKE removes the bond stretching freedom, which is the fastest motion, and consequently allows a larger timestep to be used. For water models, a special "three-point" algorithm is used. Consequently, to employ TIP3P set ntf and ntc to 2.

Since SHAKE is an algorithm based on dynamics, the minimizer is not aware of what SHAKE is doing; for this reason, minimizations generally should be carried out without SHAKE. One exception is short minimizations whose purpose is to remove bad contacts before dynamics can begin.

For parallel versions of sander only intramolecular atoms can be constrained. Thus, such atoms must be in the same chain of the originating PDB file.


1

No SHAKE. This option does not apply any bond length constraints and is required for minimization.


2

Bonds involving hydrogen are constrained. This is the recommended setting for molecular dynamics (MD) simulations as it allows for larger time steps while maintaining stability.


3

All bonds are constrained. This setting applies constraints to all bonds, providing the most rigid structure.

Warning

Not available for parallel or qmmm runs in sander.

ntf: Literal[1, 2, 3, 4, 5, 6, 7, 8] = Field(default=1) class-attribute instance-attribute

Force evaluation type. This parameter determines which interactions are considered during the force calculations.


1

All contributions. This option includes all types of interactions in the force evaluation and is required for minimization.


2

Ignore bond interactions involving hydrogens. This option is typically used when ntc is 2, meaning constraints are applied to bonds involving hydrogens (e.g., SHAKE algorithm).


3

All bond interactions are omitted. This option is used when ntc is 3, which implies constraints are applied to all bonds.


4

angle involving H-atoms and all bonds are omitted


5

all bond and angle interactions are omitted


6

dihedrals involving H-atoms and all bonds and all angle interactions are omitted


7

all bond, angle and dihedral interactions are omitted


8

all bond, angle, dihedral and non-bonded interactions are omitted

ntmin: Literal[0, 1, 2, 3, 4] = Field(default=1) class-attribute instance-attribute

Flag for selecting minimization type. Determines the algorithm used for energy minimization.


0

Full conjugate gradient minimization. The first four cycles are steepest descent at the start of the run and after every nonbonded pair list update. Conjugate gradient is slower than steepest descent when far from a minimum but becomes more efficient when close to the minimum.


1

For ncyc cycles, the steepest descent method is used, then the conjugate gradient is switched on. This option combines the robustness of steepest descent with the efficiency of conjugate gradient, making it a recommended choice for many scenarios.


2

Only the steepest descent method is used. This algorithm is popular because it is robust and easy to implement. It is generally effective for systems far from equilibrium.


3

The XMIN method is used. This method leverages advanced optimization algorithms for more efficient minimization, especially useful for large or complex systems.


4

The LMOD method is used. This approach uses Low-Mode Conformational Search combined with XMIN for energy relaxation and minimization, particularly effective for exploring conformational space in flexible molecules.

ntp: Literal[0, 1, 2, 3, 4] = Field(default=0) class-attribute instance-attribute

Flag for constant pressure dynamics. This parameter controls how pressure is managed during the simulation.


0

No pressure scaling. The system is run at constant volume, and no adjustments are made to maintain a specific pressure.


1

Isotropic position scaling. This is the recommended setting for most simulations as it scales the simulation box uniformly in all directions to maintain constant pressure.


2

Anisotropic pressure scaling. This option allows different scaling factors for each dimension and can only be used for orthogonal boxes. It is typically used in membrane simulations where different surface tensions exist in the \(x\), \(y\), and \(z\) directions. Solutes dissolved in water should not use this setting as it can introduce artifacts.


3

Molecular dynamics with semiisotropic pressure scaling: this is only available with constant surface tension (csurften > 0) and orthogonal boxes. This links the pressure coupling in the two directions tangential to the interface.


4

Molecular dynamics towards a targeted volume. This is not for production but for modifying the volume of the system, particularly useful for preparing replica-exchange molecular dynamics simulations where the shape of each replica needs to be the same. When ntp is 4, the following variables in the “ewald” namelist should be set:

  • target_n: Number of target volume iterations to reach the target volume (default 100).
  • target_a, target_b, target_c: the cell dimension of the target volume.

ntpr: int = Field(default=1000, ge=1) class-attribute instance-attribute

Print energy information every ntpr steps in a human-readable form to files mdout and mdinfo. mdinfo is closed and reopened each time, so it always contains the most recent energy and temperature.

ntr: Literal[0, 1] = Field(default=0) class-attribute instance-attribute

Flag for restraining positions of specified atoms using a harmonic potential. Ensure that restraintmask is properly defined to specify the atoms that require constraints.


0

No constraints. The positions of all atoms are free to move according to the simulation dynamics. Use 0 for fully flexible simulations where no positional restraints are needed.


1

Constrain atoms specified in restraintmask. This applies a harmonic potential to the atoms defined in restraintmask, effectively fixing their positions relative to the rest of the system. Use 1 when specific atoms need to be restrained, such as in cases where you want to focus on a particular region of the system while keeping another region fixed or minimally perturbed.

ntt: Literal[0, 1, 2, 3, 9, 10, 11] = Field(default=3) class-attribute instance-attribute

Switch for temperature scaling.


0

Constant total energy (NVE).


1

Constant temperature, using the weak-coupling algorithm. A single scaling factor is used for all atoms. Note that this algorithm just ensures that the total kinetic energy is appropriate for the desired temperature; it does nothing to ensure that the temperature is even over all parts of the molecule. Atomic collisions will tend to ensure an even temperature distribution, but this is not guaranteed, and there are many subtle problems that can arise with weak temperature coupling.

Using ntt of 1 is especially dangerous for generalized Born simulations, where there are no collisions with solvent to aid in thermalization. Other temperature coupling options (especially ntt of 3) should be used instead.


2

Andersen-like temperature coupling scheme, in which imaginary "collisions" are performed with heat bath of temperature temp0 every vrand steps.

note

In between these "massive collisions", the dynamics is Newtonian. Hence, time correlation functions (etc.) can be computed in these sections, and the results averaged over an initial canonical distribution. Note also that too high a collision rate (too small a value of vrand) will slow down the speed at which the molecules explore configuration space, whereas too low a rate means that the canonical distribution of energies will be sampled slowly.


3

Use Langevin dynamics with the collision frequency gamma_ln. Since Langevin simulations are highly susceptible to "synchronization" artifacts, you should explicitly set ig to a different value every restart (e.g., -1).


9

Optimized Isokinetic Nose-Hoover chain ensemble (OIN). Constant temperature simulation utilizing Nose-Hoover chains and an isokinetic constraint on the particle and thermostat velocities, implemented for use in multiple time-stepping methods, namely for 3D-RISM and RESPA.


10

Stochastic Isokinetic Nose-Hoover RESPA integrator. Mainly used for RESPA simulations.


11

Stochastic version of Berendsen thermostat, also known as the Bussi thermostat. This thermostat samples canonical distribution by scaling all velocities to a random temperature probed from canonical distribution.

ntwe: int = Field(default=0, ge=0) class-attribute instance-attribute

Every ntwe steps, the energies and temperatures will be written to file mden in a compact form. If ntwe is 0 then no mden file will be written. Note that energies in the mden file are not synchronized with coordinates or velocities in the mdcrd or mdvel file(s). Assuming identical ntwe and ntwx values the energies are one time step before the coordinates (as well as the velocities which are synchronized with the coordinates). Consequently, an mden file is rarely written.

ntwf: int = Field(default=0, ge=0) class-attribute instance-attribute

Every ntwf steps, the forces will be written to the mdfrc file. If ntwf is 0, no force trajectory file will be written. If ntwf is -1, forces will be written to the mdcrd, which then becomes a combind coordinate/force trajectory file, at the interval defined by ntwx. This option is available only for binary NetCDF output (ioutfm is 1). Most users will have no need for a force trajectory file and so can safely leave ntwf at the default. Note that dumping forces frequently, like velocities or coordinates, will introduce potentially significant I/O and communication overhead, hurting both performance and parallel scaling.

ntwprt: int = Field(default=0, ge=0) class-attribute instance-attribute

The number of atoms to include in trajectory files (mdcrd and mdvel). This flag can be used to decrease the size of the these files, by including only the first part of the system, which is usually of greater interest (for instance, one might include only the solute and not the solvent).


0

Include all atoms of the system when writing trajectories.

> 0


Include only atoms 1 to ntwprt when writing trajectories.

ntwr: int = Field(default=1000, ge=1) class-attribute instance-attribute

Every ntwr steps during dynamics, the restrt file will be written, ensuring that recovery from a crash will not be so painful. No matter what the value of ntwr, a restrt file will be written at the end of the run, i.e., after nstlim steps (for dynamics) or maxcyc steps (for minimization). If ntwr < 0, a unique copy of the file, restrt_<nstep>, is written every abs(ntwr) steps. This option is useful if for example one wants to run free energy perturbations from multiple starting points or save a series of restrt files for minimization.

ntwv: int = Field(default=0, ge=0.0) class-attribute instance-attribute

Every ntwv steps, the velocities will be written to the mdvel file. If ntwv is 0, no velocity trajectory file will be written. If ntwv is -1, velocities will be written to mdcrd, which then becomes a combined coordinate/velocity trajectory file, at the interval defined by ntwx. This option is available only for binary NetCDF output (ioutfm is 1). Most users will have no need for a velocity trajectory file and so can safely leave ntwv at the default. Note that dumping velocities frequently, like forces or coordinates, will introduce potentially significant I/O and communication overhead, hurting both performance and parallel scaling.

ntwx: int = Field(default=0, ge=1) class-attribute instance-attribute

Coordinates are written every ntwx steps to the mdcrd file. This parameter controls how often the coordinates are saved, which can be used for trajectory analysis. If ntwx is 0, no coordinate trajectory file will be written.

ntx: Literal[1, 5] = Field(default=1) class-attribute instance-attribute

Option to read the initial coordinates, velocities, and box size from the inpcrd file.


1

File is read with no initial velocity information. Suitable for starting simulations with new systems where velocities are generated based on tempi Option 1 must be used when one is starting from minimized or model-built coordinates.


5

File is read unformatted with no initial velocity information. This is less common and mainly used for specific needs when dealing with unformatted coordinate files.

If an MD restrt file is specified for inpcrd then option 5 is generally used (unless you explicitly wish to ignore the velocities that are present).

ntxo: Literal[1, 2] = Field(default=2) class-attribute instance-attribute

Format of the final coordinates, velocities, and box size (if a constant volume or pressure run) written to file restrt.


1

ASCII.


2

Binary NetCDF file.

pres0: float = Field(default=1.0, gt=0.0) class-attribute instance-attribute

Reference pressure, in bar, at which the system is maintained. This is the target pressure for the barostat. This value is almost always used in simulations to mimic standard atmospheric conditions.

restraint_wt: float = Field(default=4.0, ge=0.0) class-attribute instance-attribute

The weight (in kcal mol-1 Å-2) when ntr is 1. The form of the restraint is \(k (\Delta x)^2\) where \(\Delta x\) is the deviation of the atom's coordinate from the reference position.

  • Reasonable values are between 0.1 and 10.0.
    • Lower values (0.1 to 1.0) allow for more movement, providing a looser restraint.
    • Higher values (5.0 to 10.0) significantly restrict movement, enforcing a tighter restraint.
  • The default value is set to 4.0, which provides a moderate restraint, balancing stability and flexibility.

restraintmask: str = Field(default='') class-attribute instance-attribute

Strings that specify the restricted atoms when ntr is 1. To see what atoms will be restrained, you can use ambmask -p mol.prmtop -c mol.inpcrd -out pdb -find "RESTRAINT_STRING" in ambertools. Here are some examples of restraintmasks and their descriptions.

  • "!(@H=)": Restrain all atoms except hydrogens.
  • "!(:WAT) & !(@H=)": Restrain all atoms except hydrogens and water molecules.
  • "!(:WAT) & !(@H=) & !(:Na+,Cl-)": Same as above, but does not restrain Na+ and Cl- ions.
  • "!(:WAT) & (@C,CA,N,O,O5',P,O3',C3',C4',C5')": Restrains protein, DNA, and RNA backbone atoms.

We must include the !(:WAT) to avoid restraining oxygen atoms in the water molecules.

sinrtau: float = Field(default=1.0, gt=0.0) class-attribute instance-attribute

For the SINR (Stochastic Isokinetic Nose-Hoover RESPA) integrator (ntt is 10), this specifies the time scale for determining the masses associated with the two auxiliary velocity variables v1 and v2 (e.g. thermostat velocities) and hence the magnitude of the coupling of the physical velocities with the auxiliary velocities. Generally this should be related to the time scale of the system.

t: float = Field(default=0.0, ge=0.0) class-attribute instance-attribute

The time at the start (psec) this is for your own reference and is not critical. Start time is taken from the coordinate input file if irest is 1.

taup: float = Field(default=1.0, gt=0.0) class-attribute instance-attribute

Pressure relaxation time in picoseconds when ntp > 0. Recommended values are between 1.0 and 5.0 ps. This parameter controls how quickly the pressure adjusts to the target value. Start with 1.0 ps. If your simulations are unstable, consider increasing this value.

tautp: float = Field(default=1.0, gt=0) class-attribute instance-attribute

Time constant, in ps, for heat bath coupling for the system, if ntt is 1. Generally, values for tautp should be in the range of 0.5 to 5.0 ps, with a smaller value providing tighter coupling to the heat bath and, thus, faster heating and a less natural trajectory. Smaller values of tautp result in smaller fluctuations in kinetic energy, but larger fluctuations in the total energy. Values much larger than the length of the simulation result in a return to constant energy conditions.

temp0: float = Field(default=300.0, gt=0.0) class-attribute instance-attribute

Reference temperature at which the system will be kept in Kelvin. This parameter defines the target temperature for the simulation, around which the thermostat will regulate the system. It is crucial for simulations where temperature control is needed to mimic real-world conditions, such as simulations of biological systems or materials at specific temperatures.

The default value is set to 300.0 K, which corresponds to approximately room temperature. This is a common target temperature for many biological simulations. Other typical values might include 310.0 K for physiological conditions (human body temperature) or other specific temperatures relevant to your study.

temp0les: int = Field(default=-1, ge=-1) class-attribute instance-attribute

This is the target temperature for all LES particles. If temp0les < 0, a single temperature bath is used for all atoms, otherwise separate thermostats are used for LES and non-LES particles. Default is -1, corresponding to a single (weak-coupling) temperature bath.

tempi: float = Field(default=100.0, gt=0.0) class-attribute instance-attribute

Initialization temperature in Kelvin. This parameter sets the initial temperature for the system at the start of the simulation.

  • If ntx is 1, the initial velocities of the atoms are assigned from a Maxwellian distribution corresponding to the temperature tempi. This is typically used to start a new simulation where the initial conditions need to be defined.
  • If ntx is 5, this parameter has no effect because the velocities are read from the input coordinates file, meaning the system continues from a previously equilibrated state.
tip

Use a lower initial temperature (e.g., 100.0 K) to gradually equilibrate the system and avoid potential instabilities or large initial forces.

tol: float = Field(default=1e-05, gt=0.0) class-attribute instance-attribute

Relative geometrical tolerance for coordinate resetting in shake. Recommended maximum: < 0.00005 Angstroms.

vlimit: float = Field(default=20.0, ge=0.0) class-attribute instance-attribute

If not equal to 0.0, then any component of the velocity that is greater than abs(VLIMIT) will be reduced to VLIMIT (preserving the sign). This can be used to avoid occasional instabilities in molecular dynamics runs. VLIMIT should generally be set to a value like 20 (the default), which is well above the most probable velocity in a Maxwell-Boltzmann distribution at room temperature. A warning message will be printed whenever the velocities are modified. Runs that have more than a few such warnings should be carefully examined.

vrand: int = Field(default=1000, ge=1) class-attribute instance-attribute

If vrand > 0 and ntt is 2, the velocities will be randomized to temperature temp0 every vrand steps.

render()

Render AMBER input file.