Metadynamics Simulations

This section highlights how metadynamics jobs may be set up through an MSJ, and run through Multisim. For further customization, metadynamics calculations may also be set up through the use of the enhanced sampling plugin, which is also supported through Multisim. See the related section for details on the plugin and its associated scripting language, as well as the sample metadynamics pot files for examples of custom metadynamics workflows.

For an overview of metadynamics, see Metadynamics Panel.

Parameters for Metadynamics

meta

The meta block is used to set up a metadynamics simulation. The block must include a definition of the collective variables (CVs), the Gaussian potential, the time range over which they are added, and the interval between addition. The metadynamics output file and the log file must also be defined. The parameters for this block are listed in Table 1.

Table 1. Parameters that apply to the entire metadynamics simulation

Parameter

Description

height

Height of the repulsive Gaussian potential, in kcal/mol.

first

Time in ps at which the Gaussian potentials are first added. Default: zero time.

last

Time in ps at which the Gaussian potentials are last added. Default: simulation time.

interval

Interval in ps at which the Gaussian potentials are subsequently added. A smaller interval means that Gaussians are added more frequently.

name

Name of the metadynamics output file. This file contains the Gaussian widths and height at each step, and is used to calculate the free energy.

cv_name

Name of the metadynamics log file. Default: $SJOBNAME.cvseq.

cv

Map that defines the collective variables—see cv.

An example is given below.

meta = {
  cv = {cv-map}
  cv_name = $JOBNAME.cvseq
  first = 0.0
  height = 0.03
  interval = 1.2
  name = kernels.kerseq
} 

Multisim also supports well-tempered metadynamics, through the meta.kTemp keyword, which specifies the value of kT. For more information on well-tempered metadynamics, see its sample pot file.

cv

The cv parameter defines the collective variables in a metadynamics simulation. Each variable is defined in a map that includes the type, the atom groups that are included in the collective variable, and the RMS width of the repulsive Gaussian potential. Atom groups are either a single atom or the center of mass of a list of atoms. For some variables, a wall (upper bound) or a floor (lower bound) can be placed at specified values of the variable, which prevents the system from moving too far in either direction defined by the collective variable. The parameters that can be used to define a collective variable are summarized in Table 2.The available collective variables are summarized in Table 3. Distance variables are in angstroms, angles are in degrees.

Table 2. Parameters for collective variables

Parameter

Description

type

Collective variable type. See Table 3 for a list of allowed types.

atom

Atom groups that define the group of a collective variable. The group can be a single atom or the center of mass of a list of atoms. The number of groups is given in Table 3 for each variable type.

width

RMS width of the repulsive Gaussian potential.

wall

Upper bound on the value of the collective variable. The system is prevented from making a step beyond this value.

floor

Lower bound on the value of the collective variable. The system is prevented from making a step beyond this value.

range

Range of values of the collective variable to be used in the analysis, defined as a list with a lower and an upper value.

 

Table 3. Collective variable types

type

Description

Default Width

Wall

Floor

Atom Groups

dist

Distance

0.05 Å

yes

yes

2

angle

Angle

2.5°

yes

yes

3

dihedral

Dihedral

5.0°

no

no

4

rgyr

Radius of gyration

0.1 Å

no

no

1

rgyr_mass

Mass-weighted radius of gyration

0.1 Å

no

no

1

rmsd

RMSD from aligned starting structure

0.1 Å

no

no

1

rmsd_symm

Symmetry aware RMSD

0.1 Å

no

no

1

zdist

Distance along the z axis

0.05 Å

yes

yes

1

zdist0

Absolute distance along the z axis

0.1 Å

yes

yes

1

whim1

WHIM1 - first principal moment [35]

0.5 Å2

no

no

1

whim2

WHIM2 - second principal moment [35]

0.25 Å2

no

no

1

For the analysis, the range of coordinate values can be defined, with the range parameter. This is useful if the interesting phenomena occur at the end of the range, e.g. at 180° for a dihedral angle. An example with two CVs is as follows:

cv = [ { type = dist
         atom = [1 3]
         width = 0.4
         wall = 10.0
 
       { type = angle
         atom = [1 3 5 6]
         width = 0.4
         range = [0 360] } ]

To define a collective variable in terms of the center of mass of a set of atoms, you can provide an ASL expression inside the atom list to define each atom site, e.g.

atom = [ "at.n 12-17" "at.n 19-21" ] 
type = "dist"

You can also use ASL to define the center of mass in a meta block in the .msj file. For more information on ASL, see Atom Specification Language.

Sample Metadynamics MSJ

 simulate {
   cfg_file = "config.cfg"
   jobname = "$MAINJOBNAME"
   dir = "."
   compress = ""
   meta = {
     cv = [
       {atom = ["mol.n 2 and not a.e H"]
        type = "rgyr"
        width = 0.15
       }
       {atom = ["(res.num 124 and protein) and not a.e H" "mol.num 2 and not a.e H"]
        type = "dist"
        width = 0.05
       }
     ]
     cv_name = "$JOBNAME$[_replica$REPLICA$].cvseq"
     first = 0.0
     height = 0.03
     interval = 0.03
     name = "$JOBNAME$[_replica$REPLICA$].kerseq"
   }
   checkpt.write_last_step = yes
 }