MAZE_OPTIMIZER_BIAS
This is part of the maze module
It is only available if you configure PLUMED with ./configure –enable-modules=maze . Furthermore, this feature is still being developed so take care when using it and report any problems on the mailing list.

Biases the ligand along the direction calculated by the chosen MAZE_OPTIMIZER.

OptimizerBias is a class deriving from Bias, and it is used to adaptively bias a ligand-protein system toward an optimal solution found by the chosen optimizer.

Remember to define the loss function (MAZE_LOSS) and the optimizer (MAZE_OPTIMIZER) prior to the adaptive bias for the optimizer.

The adaptive bias potential is the following:

\[ V({\bf x}_t)=\alpha \left(wt - ({\bf x} - {\bf x}^*_{t-\tau}) \cdot \frac{{\bf x}^*_t - {\bf x}_t}{\|{\bf x}^*_t-{\bf x}_t\|} \right)^2, \]

where \({\bf x}^*_t\) is the optimal solution at time \(t\), \(w\) is the biasing rate, \(\tau\) is the interval at which the loss function is minimized, and \(\alpha\) is a scaled force constant.

Description of components

By default this Action calculates the following quantities. These quantities can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the quantity required from the list below.

Quantity Description
bias the instantaneous value of the bias potential
force2 Square of the biasing force.
x Optimal biasing direction: x component.
y Optimal biasing direction: y component.
z Optimal biasing direction: z component.
tdist Total distance traveled by biased atoms.
Compulsory keywords
BIASING_RATE Biasing rate.
ALPHA Rescaled force constant.
OPTIMIZER Optimization technique to minimize the collective variable for ligand unbinding: RANDOM_WALK, STEERED_MD, RANDOM_ACCELERATION_MD, SIMULATED_ANNEALING, MEMETIC_SAMPLING
Options
NUMERICAL_DERIVATIVES

( default=off ) calculate the derivatives for these quantities numerically

ARG the input for this action is the scalar output from one or more other actions. The particular scalars that you will use are referenced using the label of the action. If the label appears on its own then it is assumed that the Action calculates a single scalar value. The value of this scalar is thus used as the input to this new action. If * or *.* appears the scalars calculated by all the proceeding actions in the input file are taken. Some actions have multi-component outputs and each component of the output has a specific label. For example a DISTANCE action labelled dist may have three components x, y and z. To take just the x component you should use dist.x, if you wish to take all three components then use dist.*.More information on the referencing of Actions can be found in the section of the manual on the PLUMED Getting Started. Scalar values can also be referenced using POSIX regular expressions as detailed in the section on Regular Expressions. To use this feature you you must compile PLUMED with the appropriate flag. You can use multiple instances of this keyword i.e. ARG1, ARG2, ARG3...
Examples

In the following example the bias potential biases a ligand atom (which have to be given as an argument) with the biasing rate equal to 0.02 A/ps, and the biasing constant equal to 3.6 kcal/(mol A). It also takes an optimizer (see MAZE_OPTIMIZER).

UNITS LENGTH=A TIME=ps ENERGY=kcal/mol

p: POSITION ATOM=2635 NOPBC

MAZE_OPTIMIZER_BIAS ...
  LABEL=bias

  ARG=p.x,p.y,p.z

  BIASING_RATE=0.02
  ALPHA=3.6

  OPTIMIZER=opt
... MAZE_OPTIMIZER_BIAS