This is part of the colvar module |
Calculate the distances between a number of pairs of atoms and transform each distance by a switching function.
The transformed distance can be compared with a reference value in order to calculate the squared distance between two contact maps. Each distance can also be weighted for a given value. CONTACTMAP can be used together with FUNCPATHMSD to define a path in the contactmap space.
The individual contact map distances related to each contact can be accessed as components named cm.contact-1
, cm.contact-2
, etc, assuming that the label of the CONTACTMAP is cm
.
The following example calculates switching functions based on the distances between atoms 1 and 2, 3 and 4 and 4 and 5. The values of these three switching functions are then output to a file named colvar.
f1: CONTACTMAP ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,2 ATOMS2the atoms involved in each of the contacts you wish to calculate. =3,4 ATOMS3the atoms involved in each of the contacts you wish to calculate. =4,5 ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,6 SWITCHcompulsory keyword The switching functions to use for each of the contacts in your map. ={RATIONAL R_0=1.5} PRINT ARGcompulsory keyword the labels of the values that you would like to print to the file =f1.* FILEthe name of the file on which to output these quantities =colvar
The following example calculates the difference of the current contact map with respect to a reference provided. In this case REFERENCE is the fraction of contact that is formed (i.e. the distance between two atoms transformed with the SWITCH), while R_0 is the contact distance. WEIGHT gives the relative weight of each contact to the final distance measure.
cmap: CONTACTMAP ... ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,2 REFERENCE1A reference value for a given contact, by default is 0.0 =0.1 WEIGHT1A weight value for a given contact, by default is 1.0 =0.5 ATOMS2the atoms involved in each of the contacts you wish to calculate. =3,4 REFERENCE2A reference value for a given contact, by default is 0.0 =0.5 WEIGHT2A weight value for a given contact, by default is 1.0 =1.0 ATOMS3the atoms involved in each of the contacts you wish to calculate. =4,5 REFERENCE3A reference value for a given contact, by default is 0.0 =0.25 WEIGHT3A weight value for a given contact, by default is 1.0 =1.0 ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,6 REFERENCE4A reference value for a given contact, by default is 0.0 =0.0 WEIGHT4A weight value for a given contact, by default is 1.0 =0.5 SWITCHcompulsory keyword The switching functions to use for each of the contacts in your map. ={RATIONAL R_0=1.5} CMDIST( default=off ) calculate the distance with respect to the provided reference contact map ... PRINT ARGcompulsory keyword the labels of the values that you would like to print to the file =cmap FILEthe name of the file on which to output these quantities =colvar
The next example calculates calculates fraction of native contacts (Q) for Trp-cage mini-protein. R_0 is the distance at which the switch function is guaranteed to be 1.0 – it doesn't really matter for Q and should be something very small, like 1 A. REF is the reference distance for the contact, e.g. the distance from a crystal structure. LAMBDA is the tolerance for the distance – if set to 1.0, the contact would have to have exactly the reference value to be formed; instead for lambda values of 1.5–1.8 are usually used to allow some slack. BETA is the softness of the switch function, default is 50nm. WEIGHT is the 1/(number of contacts) giving equal weight to each contact.
When using native contact Q switch function, please cite [14]
# The full (much-longer) example available in regtest/basic/rt72/ cmap: CONTACTMAP ... ATOMS1the atoms involved in each of the contacts you wish to calculate. =1,67 SWITCH1compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.4059} WEIGHT1A weight value for a given contact, by default is 1.0 =0.003597 ATOMS2the atoms involved in each of the contacts you wish to calculate. =1,68 SWITCH2compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.4039} WEIGHT2A weight value for a given contact, by default is 1.0 =0.003597 ATOMS3the atoms involved in each of the contacts you wish to calculate. =1,69 SWITCH3compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.3215} WEIGHT3A weight value for a given contact, by default is 1.0 =0.003597 ATOMS4the atoms involved in each of the contacts you wish to calculate. =5,61 SWITCH4compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.4277} WEIGHT4A weight value for a given contact, by default is 1.0 =0.003597 ATOMS5the atoms involved in each of the contacts you wish to calculate. =5,67 SWITCH5compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.3851} WEIGHT5A weight value for a given contact, by default is 1.0 =0.003597 ATOMS6the atoms involved in each of the contacts you wish to calculate. =5,68 SWITCH6compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.3811} WEIGHT6A weight value for a given contact, by default is 1.0 =0.003597 ATOMS7the atoms involved in each of the contacts you wish to calculate. =5,69 SWITCH7compulsory keyword The switching functions to use for each of the contacts in your map. ={Q R_0=0.01 BETA=50.0 LAMBDA=1.5 REF=0.3133} WEIGHT7A weight value for a given contact, by default is 1.0 =0.003597 SUM( default=off ) calculate the sum of all the contacts in the input ... PRINT ARGcompulsory keyword the labels of the values that you would like to print to the file =cmap FILEthe name of the file on which to output these quantities =colvar
(See also switchingfunction)
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 |
contact | By not using SUM or CMDIST each contact will be stored in a component |
.#!value | the sum of all the switching function on all the distances |
ATOMS | the atoms involved in each of the contacts you wish to calculate. Keywords like ATOMS1, ATOMS2, ATOMS3,... should be listed and one contact will be calculated for each ATOM keyword you specify.. You can use multiple instances of this keyword i.e. ATOMS1, ATOMS2, ATOMS3... |
SWITCH | The switching functions to use for each of the contacts in your map. You can either specify a global switching function using SWITCH or one switching function for each contact. Details of the various switching functions you can use are provided on switchingfunction.. You can use multiple instances of this keyword i.e. SWITCH1, SWITCH2, SWITCH3... |
NUMERICAL_DERIVATIVES | ( default=off ) calculate the derivatives for these quantities numerically |
NOPBC | ( default=off ) ignore the periodic boundary conditions when calculating distances |
SUM | ( default=off ) calculate the sum of all the contacts in the input |
CMDIST | ( default=off ) calculate the distance with respect to the provided reference contact map |
SERIAL | ( default=off ) Perform the calculation in serial - for debug purpose |
REFERENCE | A reference value for a given contact, by default is 0.0 You can either specify a global reference value using REFERENCE or one reference value for each contact.. You can use multiple instances of this keyword i.e. REFERENCE1, REFERENCE2, REFERENCE3... |
WEIGHT | A weight value for a given contact, by default is 1.0 You can either specify a global weight value using WEIGHT or one weight value for each contact.. You can use multiple instances of this keyword i.e. WEIGHT1, WEIGHT2, WEIGHT3... |