CONTACTMAP
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.

Description of components

By default the value of the calculated quantity can be referenced elsewhere in the input file by using the label of the action. Alternatively this Action can be used to be used to calculate the following quantities by employing the keywords listed below. These quanties 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
The atoms involved can be specified using
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...
Compulsory keywords
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...
Options
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 contant 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...

Examples

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.

CONTACTMAP ATOMS1=1,2 ATOMS2=3,4 ATOMS3=4,5 ATOMS4=5,6 SWITCH={RATIONAL R_0=1.5} LABEL=f1
PRINT ARG=f1.* FILE=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 SWITH), while R_0 is the contact distance. WEIGHT gives the relative weight of each contact to the final distance measure.

CONTACTMAP ...
ATOMS1=1,2 REFERENCE1=0.1 WEIGHT1=0.5 
ATOMS2=3,4 REFERENCE2=0.5 WEIGHT2=1.0 
ATOMS3=4,5 REFERENCE3=0.25 WEIGHT3=1.0 
ATOMS4=5,6 REFERENCE4=0.0 WEIGHT4=0.5 
SWITCH={RATIONAL R_0=1.5} 
LABEL=cmap
CMDIST
... CONTACTMAP

PRINT ARG=cmap FILE=colvar

(See also PRINT)