Shortcut: COLLECT_FRAMES
| Module | landmarks |
|---|---|
| Description | Usage |
| Collect atomic positions or argument values from the trajectory for later analysis |
Details and examples
Collect atomic positions or argument values from the trajectory for later analysis
This shortcut uses COLLECT actions to collect data from the trajectory that is amenable for later analysis using PLUMED's landmark selection actions or dimensionality reduction methods. You can use this method to collect atomic position data as shown in the following example:
# This stores the positions of all the first 10 atoms in the system for later analysis cc: COLLECT_FRAMESCollect atomic positions or argument values from the trajectory for later analysis This action is a shortcut and it has hidden defaults. More details ATOMSlist of atomic positions that you would like to collect and store for later analysis=1,2,3,4,5,6,7,8,9,10 ALIGN if storing atoms how would you like the alignment to be done can be SIMPLE/OPTIMAL=OPTIMAL
# This should output the atomic positions for the frames that were collected to a pdb file called traj.pdb DUMPPDBOutput PDB file. More details ATOMSvalue containing positions of atoms that should be output=cc_data ATOM_INDICESthe indices of the atoms in your PDB output=1,2,3,4,5,6,7,8,9,10 FILEthe name of the file on which to output these quantities=traj.pdb
If you look at the expanded version of the shortcut above you can see how the position data is stored in a matrix. It is also worth noting that all the stored structured are aligned to the first frame before being stored. When we take the difference between the stored configurations we are thus excluding any rotation or the reference frame or translation of the center of mass that has taken place.
Instead of storing the positions of the atoms you you can store a time series of argument values as shown below:
t1: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=1,2,3,4 t2: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=5,6,7,8 t3: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=9,10,11,12 # This collects the three torsion angles cc: COLLECT_FRAMESCollect atomic positions or argument values from the trajectory for later analysis This action is a shortcut. More details ARGthe labels of the values whose time series you would like to collect for later analysis=t1,t2,t3 STRIDE the frequency with which data should be stored for analysis=10 CLEAR the frequency with which data should all be deleted and restarted=1000 DUMPVECTORPrint a vector to a file More details ARGthe labels of vectors/matrices that should be output in the file=cc.* FILE the file on which to write the vetors=timeseries STRIDE the frequency with which the grid should be output to the file=1000
Notice that the stored data is in a matrix once again here. Further note that we are storing the three torsions on every tenth step. In addition we also delete all the stored data on every 1000th step of trajectory. The time series for each consecutive 1000 step segment of trajectory will be output to separate files in the above input. These output files also contain weights for each of the stored frames. For the above input these weights are all equal to one. We can, however, pass the weight as an input argument. This functionality is useful if a bias is acting upon the system and we want to keep track of how much bias is acting upon each frame of the traejctory as has been done in the input below.
t1: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=1,2,3,4 t2: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=5,6,7,8 t3: TORSIONCalculate one or multiple torsional angles. More details ATOMSthe four atoms involved in the torsional angle=9,10,11,12 r: RESTRAINTAdds harmonic and/or linear restraints on one or more variables. This action has hidden defaults. More details ARGthe values the harmonic restraint acts upon=t1 ATthe position of the restraint=pi/2 KAPPA specifies that the restraint is harmonic and what the values of the force constants on each of the variables are=10 bw: REWEIGHT_BIASCalculate weights for ensemble averages that negate the effect the bias has on the region of phase space explored This action has hidden defaults. More details TEMPthe system temperature=300
# This collects the three torsion angles cc: COLLECT_FRAMESCollect atomic positions or argument values from the trajectory for later analysis This action is a shortcut and it has hidden defaults. More details ARGthe labels of the values whose time series you would like to collect for later analysis=t1,t2,t3 LOGWEIGHTSlist of actions that calculates log weights that should be used to weight configurations when calculating averages=bw DUMPVECTORPrint a vector to a file More details ARGthe labels of vectors/matrices that should be output in the file=cc.* FILE the file on which to write the vetors=timeseries
You can learn how to use COLLECT_FRAMES to perform dimensionality reduction calculations by working through this tutorial
Calculating dissimilary matrices
One of the simplest things that we can do if we have stored a set of trajectory frames using this action is we can calculate the dissimilarity between every pair of frames we have stored. This is the first step for many of the dimensionality reduction algorithms described in the dimred module. To calculate these dissimilarities you use the DISSIMILARITIES command.
Notice that instead of reading in a trajectory and computing dissimilarities you can read in the dissimilarity matrix directly using CONSTANT and then perform all analyses with PLUMED.
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/vector | the labels of the values whose time series you would like to collect for later analysis |
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 |
|---|---|---|
| data | matrix | the data that is being collected by this action |
| logweights | vector | the logarithms of the weights of the data points |
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 values whose time series you would like to collect for later analysis |
| STRIDE | compulsory | 1 | the frequency with which data should be stored for analysis |
| CLEAR | compulsory | 0 | the frequency with which data should all be deleted and restarted |
| ALIGN | compulsory | OPTIMAL | if storing atoms how would you like the alignment to be done can be SIMPLE/OPTIMAL |
| ATOMS | optional | not used | list of atomic positions that you would like to collect and store for later analysis |
| LOGWEIGHTS | optional | not used | list of actions that calculates log weights that should be used to weight configurations when calculating averages |