Module |
sprint |
Description |
Usage |
Calculate SPRINT topological variables from an adjacency matrix. |
  |
Further details and examples
Calculate SPRINT topological variables from an adjacency matrix.
The SPRINT topological variables are calculated from the largest eigenvalue, λ of
an n×n adjacency matrix and its corresponding eigenvector, V, using:
si=√nλvi
The example input below calculates the 7 SPRINT coordinates for a 7 atom cluster of Lennard-Jones
atoms and prints their values to a file.
Click on the labels of the actions for more information on what each action computes
ss: SPRINTCalculate SPRINT topological variables from an adjacency matrix. This action is a shortcut. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-7 SWITCHspecify the switching function to use between two sets of indistinguishable atoms={RATIONAL R_0=0.1}
# ss: SPRINT GROUP=1-7 SWITCH={RATIONAL R_0=0.1}
The SPRINT action with label ss calculates the following quantities: Quantity | Description |
ss.coord | the sprint coordinates |
ss_jmatThe CONTACT_MATRIX action with label ss_jmat calculates the following quantities: Quantity | Type | Description |
ss_jmat | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUPspecifies the list of atoms that should be assumed indistinguishable=1-7 SWITCHthe input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=0.1}
ss_diagThe DIAGONALIZE action with label ss_diag calculates the following quantities: Quantity | Type | Description |
ss_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
ss_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=ss_jmat VECTORS the eigenvalues and vectors that you would like to calculate=1
ss_spThe CUSTOM action with label ss_sp calculates the following quantities: Quantity | Type | Description |
ss_sp | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=ss_diag.vals-1,ss_diag.vecs-1 FUNCthe function you wish to evaluate=sqrt(7)*x*y PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_selection1The SELECT_WITH_MASK action with label ss_selection1 calculates the following quantities: Quantity | Type | Description |
ss_selection1 | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=ss_sp COMPONENTSthe components in the input value that you woul like to build a new vector from=1,2,3,4,5,6,7
ss1The SORT action with label ss1 calculates the following quantities: Quantity | Type | Description |
ss1.1 | scalar | the 1th largest element of the vector ss_selection1 |
ss1.2 | scalar | the 2th largest element of the vector ss_selection1 |
ss1.3 | scalar | the 3th largest element of the vector ss_selection1 |
ss1.4 | scalar | the 4th largest element of the vector ss_selection1 |
ss1.5 | scalar | the 5th largest element of the vector ss_selection1 |
ss1.6 | scalar | the 6th largest element of the vector ss_selection1 |
ss1.7 | scalar | the 7th largest element of the vector ss_selection1 |
: SORTThis function can be used to sort colvars according to their magnitudes. More details ARGthe values input to this function=ss_selection1
ss_coord-0The COMBINE action with label ss_coord-0 calculates the following quantities: Quantity | Type | Description |
ss_coord-0 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.1 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-1The COMBINE action with label ss_coord-1 calculates the following quantities: Quantity | Type | Description |
ss_coord-1 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.2 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-2The COMBINE action with label ss_coord-2 calculates the following quantities: Quantity | Type | Description |
ss_coord-2 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.3 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-3The COMBINE action with label ss_coord-3 calculates the following quantities: Quantity | Type | Description |
ss_coord-3 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.4 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-4The COMBINE action with label ss_coord-4 calculates the following quantities: Quantity | Type | Description |
ss_coord-4 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.5 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-5The COMBINE action with label ss_coord-5 calculates the following quantities: Quantity | Type | Description |
ss_coord-5 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.6 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-6The COMBINE action with label ss_coord-6 calculates the following quantities: Quantity | Type | Description |
ss_coord-6 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.7 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input --- PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=ss.* FILEthe name of the file on which to output these quantities=colvar
This example input calculates the 14 SPRINT coordinates for a molecule composed of 7 hydrogen and
7 carbon atoms.
Click on the labels of the actions for more information on what each action computes
ss: SPRINTCalculate SPRINT topological variables from an adjacency matrix. This action is a shortcut. More details ...
GROUP1specifies the list of atoms that should be assumed indistinguishable=1-7 GROUP2specifies the list of atoms that should be assumed indistinguishable=8-14
SWITCH11specify the switching function to use between two sets of indistinguishable atoms={RATIONAL R_0=2.6 NN=6 MM=12}
SWITCH12specify the switching function to use between two sets of indistinguishable atoms={RATIONAL R_0=2.2 NN=6 MM=12}
SWITCH22specify the switching function to use between two sets of indistinguishable atoms={RATIONAL R_0=2.2 NN=6 MM=12}
...
# ss: SPRINT ...
The SPRINT action with label ss calculates the following quantities: Quantity | Description |
ss.coord | the sprint coordinates |
ss_jmatThe CONCATENATE action with label ss_jmat calculates the following quantities: Quantity | Type | Description |
ss_jmat | matrix | the concatenated vector/matrix that was constructed from the input values |
: CONTACT_MATRIXAdjacency matrix in which two atoms are adjacent if they are within a certain cutoff. More details GROUP1specifies the list of atoms that should be assumed indistinguishable=1-7 GROUP2specifies the list of atoms that should be assumed indistinguishable=8-14 SWITCH11the input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=2.6 NN=6 MM=12} SWITCH12the input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=2.2 NN=6 MM=12} SWITCH22the input for the switching function that acts upon the distance between each pair of atoms. Options for this keyword are explained in the documentation for LESS_THAN.={RATIONAL R_0=2.2 NN=6 MM=12}
ss_diagThe DIAGONALIZE action with label ss_diag calculates the following quantities: Quantity | Type | Description |
ss_diag.vals-1 | scalar | the eigevalues of the input matrix This is the 1th of these quantities |
ss_diag.vecs-1 | vector | the eigenvectors of the input matrix This is the 1th of these quantities |
: DIAGONALIZECalculate the eigenvalues and eigenvectors of a square matrix More details ARGthe input matrix=ss_jmat VECTORS the eigenvalues and vectors that you would like to calculate=1
ss_spThe CUSTOM action with label ss_sp calculates the following quantities: Quantity | Type | Description |
ss_sp | vector | the vector obtained by doing an element-wise application of an arbitrary function to the input vectors |
: CUSTOMCalculate a combination of variables using a custom expression. More details ARGthe values input to this function=ss_diag.vals-1,ss_diag.vecs-1 FUNCthe function you wish to evaluate=sqrt(14)*x*y PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_selection1The SELECT_WITH_MASK action with label ss_selection1 calculates the following quantities: Quantity | Type | Description |
ss_selection1 | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=ss_sp COMPONENTSthe components in the input value that you woul like to build a new vector from=1,2,3,4,5,6,7
ss1The SORT action with label ss1 calculates the following quantities: Quantity | Type | Description |
ss1.1 | scalar | the 1th largest element of the vector ss_selection1 |
ss1.2 | scalar | the 2th largest element of the vector ss_selection1 |
ss1.3 | scalar | the 3th largest element of the vector ss_selection1 |
ss1.4 | scalar | the 4th largest element of the vector ss_selection1 |
ss1.5 | scalar | the 5th largest element of the vector ss_selection1 |
ss1.6 | scalar | the 6th largest element of the vector ss_selection1 |
ss1.7 | scalar | the 7th largest element of the vector ss_selection1 |
: SORTThis function can be used to sort colvars according to their magnitudes. More details ARGthe values input to this function=ss_selection1
ss_coord-0The COMBINE action with label ss_coord-0 calculates the following quantities: Quantity | Type | Description |
ss_coord-0 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.1 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-1The COMBINE action with label ss_coord-1 calculates the following quantities: Quantity | Type | Description |
ss_coord-1 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.2 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-2The COMBINE action with label ss_coord-2 calculates the following quantities: Quantity | Type | Description |
ss_coord-2 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.3 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-3The COMBINE action with label ss_coord-3 calculates the following quantities: Quantity | Type | Description |
ss_coord-3 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.4 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-4The COMBINE action with label ss_coord-4 calculates the following quantities: Quantity | Type | Description |
ss_coord-4 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.5 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-5The COMBINE action with label ss_coord-5 calculates the following quantities: Quantity | Type | Description |
ss_coord-5 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.6 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-6The COMBINE action with label ss_coord-6 calculates the following quantities: Quantity | Type | Description |
ss_coord-6 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss1.7 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_selection2The SELECT_WITH_MASK action with label ss_selection2 calculates the following quantities: Quantity | Type | Description |
ss_selection2 | vector | a vector/matrix of values that is obtained using a mask to select elements of interest |
: SELECT_COMPONENTSCreate a new value to hold a subset of the components that are in a vector or matrix More details ARGthe value from which we are selecting components=ss_sp COMPONENTSthe components in the input value that you woul like to build a new vector from=8,9,10,11,12,13,14
ss2The SORT action with label ss2 calculates the following quantities: Quantity | Type | Description |
ss2.1 | scalar | the 1th largest element of the vector ss_selection2 |
ss2.2 | scalar | the 2th largest element of the vector ss_selection2 |
ss2.3 | scalar | the 3th largest element of the vector ss_selection2 |
ss2.4 | scalar | the 4th largest element of the vector ss_selection2 |
ss2.5 | scalar | the 5th largest element of the vector ss_selection2 |
ss2.6 | scalar | the 6th largest element of the vector ss_selection2 |
ss2.7 | scalar | the 7th largest element of the vector ss_selection2 |
: SORTThis function can be used to sort colvars according to their magnitudes. More details ARGthe values input to this function=ss_selection2
ss_coord-7The COMBINE action with label ss_coord-7 calculates the following quantities: Quantity | Type | Description |
ss_coord-7 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.1 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-8The COMBINE action with label ss_coord-8 calculates the following quantities: Quantity | Type | Description |
ss_coord-8 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.2 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-9The COMBINE action with label ss_coord-9 calculates the following quantities: Quantity | Type | Description |
ss_coord-9 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.3 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-10The COMBINE action with label ss_coord-10 calculates the following quantities: Quantity | Type | Description |
ss_coord-10 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.4 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-11The COMBINE action with label ss_coord-11 calculates the following quantities: Quantity | Type | Description |
ss_coord-11 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.5 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-12The COMBINE action with label ss_coord-12 calculates the following quantities: Quantity | Type | Description |
ss_coord-12 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.6 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
ss_coord-13The COMBINE action with label ss_coord-13 calculates the following quantities: Quantity | Type | Description |
ss_coord-13 | scalar | a linear compbination |
: COMBINECalculate a polynomial combination of a set of other variables. More details ARGthe values input to this function=ss2.7 PERIODICif the output of your function is periodic then you should specify the periodicity of the function=NO
# --- End of included input ---
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=ss.* FILEthe name of the file on which to output these quantities=colvar
If you explore the inputs above you can see that when PLUMED reads them it creates a more complicated input file
for calculating the SPRINT CVs. You can get a sense of how these CVs are calculated by looking at the
expanded versions of the shortcuts in the inputs above. The insight into these methods that you can obtain by looking
at these expanded input should hopefully give you ideas for developing new versions of these methods that use the same
body of theory. For example, if you look at the inputs above you can see that one or more CONTACT_MATRIX actions are
used to calculate sprint. These CONTACT_MATRIX determine whether atoms are adjacent or not. However, you can
use different quantities to measure whether or not two given atoms/molecules are
adjacent or not and compute a different type of adjacency matrix. For example you can say that two molecules are
adjacent if they are within a certain distance of each other and if they have similar orientations or you can argue that
two molecules are adjacent if there is a hydrogen bond between them.
References
More information about how this action can be used is available in the following articles:
- F. Pietrucci, W. Andreoni, Graph Theory MeetsAb InitioMolecular Dynamics: Atomic Structures and Transformations at the Nanoscale. Physical Review Letters. 107 (2011)
Syntax
The following table describes the keywords and options that can be used with this action
Keyword |
Type |
Default |
Description |
MATRIX |
optional |
not used |
the matrix that you would like to perform SPRINT on |
GROUP |
optional |
not used |
specifies the list of atoms that should be assumed indistinguishable |
SWITCH |
optional |
not used |
specify the switching function to use between two sets of indistinguishable atoms |