Action: FISST
| Module | fisst |
|---|---|
| Description | Usage |
| Compute and apply the optimal linear force on an observable to enhance sampling of conformational distributions over a range of applied forces. |
Details and examples
Compute and apply the optimal linear force on an observable to enhance sampling of conformational distributions over a range of applied forces.
This method is described in the paper cited below
If the system's Hamiltonian is given by:
This bias modifies the Hamiltonian to be:
where for CV , a coupling constant is determined adaptively according to the FISST algorithm.
Specifically,
where are the molecular coordinates of the system, and is a weighting function that is learned on the fly for each force by the FISST algorithm (starting from an initial weight distribution, uniform by default).
The target for , where
FISST also computes and writes Observable Weights for a molecular configuration at time , so that averages of other quantities can be reconstructed later at different force values (over a trajectory with samples):
Examples
In the following example, an adaptive restraint is learned to bias the distance between two atoms in a system, for a force range of 0-100 pN.
UNITSThis command sets the internal units for the code. More details LENGTHthe units of lengths=A TIMEthe units of time=fs ENERGYthe units of energy=kcal/mol b1: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=1 b2: GROUPDefine a group of atoms so that a particular list of atoms can be referenced with a single label in definitions of CVs or virtual atoms. More details ATOMSthe numerical indexes for the set of atoms in the group=12 dend: DISTANCECalculate the distance/s between pairs of atoms. More details ATOMSthe pair of atom that we are calculating the distance between=b1,b2 #The conversion factor is 69.4786 pN = 1 kcal/mol/Angstrom
#0 pN to 100 pN f: FISSTCompute and apply the optimal linear force on an observable to enhance sampling of conformational distributions over a range of applied forces. This action has hidden defaults. More details MIN_FORCEMinimum force (per CV) to use for sampling=0 MAX_FORCEMaximum force (per CV) to use for sampling=1.44 PERIODSteps corresponding to the learning rate=100 NINTERPOLATENumber of grid points on which to do interpolation=31 ARGthe labels of the scalars on which the bias will act=dend OUT_RESTARTOutput file for all information needed to continue FISST simulation=pull.restart.txt OUT_OBSERVABLEOutput file putting weights needed to compute observables at different force values=pull.observable.txt OBSERVABLE_FREQ=1000
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=dend,f.dend_fbar,f.bias,f.force2 FILEthe name of the file on which to output these quantities=pull.colvar.txt STRIDE the frequency with which the quantities of interest should be output=1000
Input
The arguments that serve as the input for this action are specified using one or more of the keywords in the following table.
| Keyword | Type | Description |
|---|---|---|
| ARG | scalar | the labels of the scalars on which the bias will act |
Output components
This action calculates the values in the following table. These values can be referenced elsewhere in the input by using this Action's label followed by a dot and the name of the value required from the list below.
| Name | Type | Description |
|---|---|---|
| bias | scalar | the instantaneous value of the bias potential |
| force2 | scalar | squared value of force from the bias |
| _fbar | scalar | For each named CV biased, there will be a corresponding output CV_fbar storing the current linear bias prefactor |
Full list of keywords
The following table describes the keywords and options that can be used with this action
| Keyword | Type | Default | Description |
|---|---|---|---|
| ARG | input | none | the labels of the scalars on which the bias will act |
| PERIOD | compulsory | none | Steps corresponding to the learning rate |
| NINTERPOLATE | compulsory | none | Number of grid points on which to do interpolation |
| MIN_FORCE | compulsory | none | Minimum force (per CV) to use for sampling |
| MAX_FORCE | compulsory | none | Maximum force (per CV) to use for sampling |
| CENTER | compulsory | 0 | The CV value at which the applied bias energy will be zero |
| NUMERICAL_DERIVATIVESThis keyword do not have examples | optional | false | calculate the derivatives for these quantities numerically |
| RESET_PERIODThis keyword do not have examples | optional | not used | Reset the learning statistics every time this number of steps comes around |
| KBTThis keyword do not have examples | optional | not used | The system temperature in units of KB*T |
| INITIAL_WEIGHT_DISTThis keyword do not have examples | optional | not used | Starting distribution for the force weights (options: UNIFORM, EXP, GAUSS) |
| INITIAL_WEIGHT_RATEThis keyword do not have examples | optional | not used | Rate of decay for exponential and gaussian distributions |
| RESTART_FMTThis keyword do not have examples | optional | not used | the format that should be used to output real numbers in FISST restarts |
| OUT_RESTART | optional | not used | Output file for all information needed to continue FISST simulation |
| IN_RESTARTThis keyword do not have examples | optional | not used | Read this file to continue an FISST simulation |
| OUT_OBSERVABLE | optional | not used | Output file putting weights needed to compute observables at different force values |
| OBSERVABLE_FREQ | optional | not used | |
| FREEZEThis keyword do not have examples | optional | false | Fix bias weights at current level (only used for restarting) |
| RESTARTThis keyword do not have examples | optional | not used | allows per-action setting of restart (YES/NO/AUTO) |
References
More information about how this action can be used is available in the following articles: