Action: HBPAMM_MATRIX
Module |
pamm |
Description |
Usage |
Adjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded |
  |
output value |
type |
a matrix containing the weights for the bonds between each pair of atoms |
matrix |
Output components
This action can calculate the values in the following table when the associated keyword is included in the input for the action. 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 |
Keyword |
Description |
w |
matrix |
COMPONENTS |
a matrix containing the weights for the bonds between each pair of atoms |
x |
matrix |
COMPONENTS |
the projection of the bond on the x axis |
y |
matrix |
COMPONENTS |
the projection of the bond on the y axis |
z |
matrix |
COMPONENTS |
the projection of the bond on the z axis |
The atoms that serve as the input for this action are specified using one or more of the keywords in the following table.
Keyword |
Type |
Description |
GROUP |
atoms |
the atoms for which you would like to calculate the adjacency matrix |
GROUPA |
atoms |
when you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPB |
GROUPB |
atoms |
when you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPA |
ATOMS |
atoms |
the atoms for which you would like to calculate the adjacency matrix |
GROUPC |
atoms |
a group of atoms that must be summed over when calculating each element of the adjacency matrix |
Further details and examples
Adjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded
This method allows you to calculate an adjacency matrix and use all the methods discussed in the documentation for
the CONTACT_MATRIX upon it to define CVs. The i,j element of the matrix that is calculated
by this action is one if there is a hydrogen bond connecting atom i to atom j. Furthermore, we determine whether
there is a hydrogen atom between these two atoms by using the PAMM technique that is discussed in the articles from the
bibliography below and in the documentation for the PAMM action.
The example shown below illustrates how the method is used in practice
Click on the labels of the actions for more information on what each action computes
mThe HBPAMM_MATRIX action with label m calculates the following quantities: Quantity | Type | Description |
m | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: HBPAMM_MATRIXAdjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded This action has hidden defaults. More details GROUPthe atoms for which you would like to calculate the adjacency matrix=1-192:3 CLUSTERSthe name of the file that contains the definitions of all the kernels for PAMM= #! FIELDS height ptc ssc adc sigma_ptc_ptc sigma_ptc_ssc sigma_ptc_adc sigma_ssc_ptc sigma_ssc_ssc sigma_ssc_adc sigma_adc_ptc sigma_adc_ssc sigma_adc_adc
#! SET multivariate true
#! SET kerneltype gaussian
7.62333341E-0002 -8.18288945E-0001 2.82463003E+0000 2.74063420E+0000 8.16250857E-0002 -6.73769671E-0002 -4.59932811E-0002 -6.73769671E-0002 6.75337422E-0002 4.53759149E-0002 -4.59932811E-0002 4.53759149E-0002 4.43189576E-0002
6.99310782E-0002 8.69642605E-0001 2.87365811E+0000 2.79326509E+0000 4.26992535E-0002 3.05953458E-0002 2.05388393E-0002 3.05953458E-0002 3.29012486E-0002 2.12273873E-0002 2.05388393E-0002 2.12273873E-0002 2.45196159E-0002
1.98671093E-0001 -2.27062808E+0000 4.25703566E+0000 2.78401408E+0000 7.98163641E-0002 -7.27264015E-0002 -1.99919283E-0002 -7.27264015E-0002 8.18886784E-0002 2.09866914E-0002 -1.99919283E-0002 2.09866914E-0002 4.62997869E-0002
1.45233007E-0002 -1.21470165E+0000 4.79894096E+0000 2.84314625E+0000 1.86259108E-0001 -2.27095842E-0002 2.85921248E-0002 -2.27095842E-0002 3.74404487E-0002 -3.26295559E-0003 2.85921248E-0002 -3.26295559E-0003 5.65919817E-0002
2.04518164E-0001 2.26156229E+0000 4.22597375E+0000 2.79821642E+0000 7.75379113E-0002 6.98466908E-0002 2.95665680E-0002 6.98466908E-0002 8.00913946E-0002 3.26640646E-0002 2.95665680E-0002 3.26640646E-0002 5.40779543E-0002
1.46258706E-0002 1.26722013E+0000 4.80633662E+0000 2.89897290E+0000 8.80357941E-0002 2.26981492E-0002 4.05790153E-0003 2.26981492E-0002 4.60485360E-0002 -7.70322510E-0003 4.05790153E-0003 -7.70322510E-0003 5.45100475E-0002
1.84562156E-0001 -2.60991008E+0000 4.59285310E+0000 4.03390174E+0000 1.51456600E-0001 -1.42734555E-0001 -1.17741061E-0001 -1.42734555E-0001 1.50000160E-0001 1.19653950E-0001 -1.17741061E-0001 1.19653950E-0001 2.01301812E-0001
2.87297679E-0002 -1.34664608E+0000 4.81762077E+0000 4.11037008E+0000 1.20169846E-0001 -2.40092647E-0002 -9.50215564E-0002 -2.40092647E-0002 3.53100140E-0002 4.17402875E-0002 -9.50215564E-0002 4.17402875E-0002 2.59240031E-0001
1.12880383E-0001 2.26335545E+0000 4.25751027E+0000 3.68162217E+0000 1.34662241E-0001 1.26724092E-0001 7.24910086E-0002 1.26724092E-0001 1.35760215E-0001 7.81381697E-0002 7.24910086E-0002 7.81381697E-0002 1.13119071E-0001
2.86798480E-0002 1.33616209E+0000 4.85052180E+0000 4.23465934E+0000 1.80874139E-0001 3.35404961E-0002 1.71858062E-0001 3.35404961E-0002 3.57517317E-0002 5.62338216E-0002 1.71858062E-0001 5.62338216E-0002 3.56622291E-0001
6.66450035E-0002 2.74946369E+0000 4.74656373E+0000 4.24763632E+0000 2.54371954E-0002 1.64469606E-0002 4.36734028E-0003 1.64469606E-0002 2.24742542E-0002 6.72714867E-0003 4.36734028E-0003 6.72714867E-0003 9.75985896E-0002
GROUPCa group of atoms that must be summed over when calculating each element of the adjacency matrix=2-192:3,3-192:3
m: HBPAMM_MATRIXAdjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded This action uses the defaults shown here. More details GROUPthe atoms for which you would like to calculate the adjacency matrix=1-192:3 CLUSTERSthe name of the file that contains the definitions of all the kernels for PAMM= #! FIELDS height ptc ssc adc sigma_ptc_ptc sigma_ptc_ssc sigma_ptc_adc sigma_ssc_ptc sigma_ssc_ssc sigma_ssc_adc sigma_adc_ptc sigma_adc_ssc sigma_adc_adc
#! SET multivariate true
#! SET kerneltype gaussian
7.62333341E-0002 -8.18288945E-0001 2.82463003E+0000 2.74063420E+0000 8.16250857E-0002 -6.73769671E-0002 -4.59932811E-0002 -6.73769671E-0002 6.75337422E-0002 4.53759149E-0002 -4.59932811E-0002 4.53759149E-0002 4.43189576E-0002
6.99310782E-0002 8.69642605E-0001 2.87365811E+0000 2.79326509E+0000 4.26992535E-0002 3.05953458E-0002 2.05388393E-0002 3.05953458E-0002 3.29012486E-0002 2.12273873E-0002 2.05388393E-0002 2.12273873E-0002 2.45196159E-0002
1.98671093E-0001 -2.27062808E+0000 4.25703566E+0000 2.78401408E+0000 7.98163641E-0002 -7.27264015E-0002 -1.99919283E-0002 -7.27264015E-0002 8.18886784E-0002 2.09866914E-0002 -1.99919283E-0002 2.09866914E-0002 4.62997869E-0002
1.45233007E-0002 -1.21470165E+0000 4.79894096E+0000 2.84314625E+0000 1.86259108E-0001 -2.27095842E-0002 2.85921248E-0002 -2.27095842E-0002 3.74404487E-0002 -3.26295559E-0003 2.85921248E-0002 -3.26295559E-0003 5.65919817E-0002
2.04518164E-0001 2.26156229E+0000 4.22597375E+0000 2.79821642E+0000 7.75379113E-0002 6.98466908E-0002 2.95665680E-0002 6.98466908E-0002 8.00913946E-0002 3.26640646E-0002 2.95665680E-0002 3.26640646E-0002 5.40779543E-0002
1.46258706E-0002 1.26722013E+0000 4.80633662E+0000 2.89897290E+0000 8.80357941E-0002 2.26981492E-0002 4.05790153E-0003 2.26981492E-0002 4.60485360E-0002 -7.70322510E-0003 4.05790153E-0003 -7.70322510E-0003 5.45100475E-0002
1.84562156E-0001 -2.60991008E+0000 4.59285310E+0000 4.03390174E+0000 1.51456600E-0001 -1.42734555E-0001 -1.17741061E-0001 -1.42734555E-0001 1.50000160E-0001 1.19653950E-0001 -1.17741061E-0001 1.19653950E-0001 2.01301812E-0001
2.87297679E-0002 -1.34664608E+0000 4.81762077E+0000 4.11037008E+0000 1.20169846E-0001 -2.40092647E-0002 -9.50215564E-0002 -2.40092647E-0002 3.53100140E-0002 4.17402875E-0002 -9.50215564E-0002 4.17402875E-0002 2.59240031E-0001
1.12880383E-0001 2.26335545E+0000 4.25751027E+0000 3.68162217E+0000 1.34662241E-0001 1.26724092E-0001 7.24910086E-0002 1.26724092E-0001 1.35760215E-0001 7.81381697E-0002 7.24910086E-0002 7.81381697E-0002 1.13119071E-0001
2.86798480E-0002 1.33616209E+0000 4.85052180E+0000 4.23465934E+0000 1.80874139E-0001 3.35404961E-0002 1.71858062E-0001 3.35404961E-0002 3.57517317E-0002 5.62338216E-0002 1.71858062E-0001 5.62338216E-0002 3.56622291E-0001
6.66450035E-0002 2.74946369E+0000 4.74656373E+0000 4.24763632E+0000 2.54371954E-0002 1.64469606E-0002 4.36734028E-0003 1.64469606E-0002 2.24742542E-0002 6.72714867E-0003 4.36734028E-0003 6.72714867E-0003 9.75985896E-0002
GROUPCa group of atoms that must be summed over when calculating each element of the adjacency matrix=2-192:3,3-192:3 NL_CUTOFF The cutoff for the neighbor list=0.0 NL_STRIDE The frequency with which we are updating the atoms in the neighbor list=1 GAUSS_CUTOFF the cutoff at which to stop evaluating the kernel function is set equal to sqrt(2*x)*(max(adc)+cov(adc))=6.25 ORDER the order in which the groups are specified in the input=dah REGULARISE don't allow the denominator to be smaller then this value=0.001
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=m FILEthe name of the file on which to output these quantities=colvar
This example could be used to investigate the connectivity between a collection of water molecules in liquid water. Notice, however,
that the output matrix here is not symmetric.
If you want to investigate whether there are hydrogen bonds between two groups of molecules you can use an input like this:
Click on the labels of the actions for more information on what each action computes
mThe HBPAMM_MATRIX action with label m calculates the following quantities: Quantity | Type | Description |
m | matrix | a matrix containing the weights for the bonds between each pair of atoms |
: HBPAMM_MATRIXAdjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded This action has hidden defaults. More details GROUPAwhen you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPB=1 GROUPBwhen you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPA=2-192:3 CLUSTERSthe name of the file that contains the definitions of all the kernels for PAMM= #! FIELDS height ptc ssc adc sigma_ptc_ptc sigma_ptc_ssc sigma_ptc_adc sigma_ssc_ptc sigma_ssc_ssc sigma_ssc_adc sigma_adc_ptc sigma_adc_ssc sigma_adc_adc
#! SET multivariate true
#! SET kerneltype gaussian
7.62333341E-0002 -8.18288945E-0001 2.82463003E+0000 2.74063420E+0000 8.16250857E-0002 -6.73769671E-0002 -4.59932811E-0002 -6.73769671E-0002 6.75337422E-0002 4.53759149E-0002 -4.59932811E-0002 4.53759149E-0002 4.43189576E-0002
6.99310782E-0002 8.69642605E-0001 2.87365811E+0000 2.79326509E+0000 4.26992535E-0002 3.05953458E-0002 2.05388393E-0002 3.05953458E-0002 3.29012486E-0002 2.12273873E-0002 2.05388393E-0002 2.12273873E-0002 2.45196159E-0002
1.98671093E-0001 -2.27062808E+0000 4.25703566E+0000 2.78401408E+0000 7.98163641E-0002 -7.27264015E-0002 -1.99919283E-0002 -7.27264015E-0002 8.18886784E-0002 2.09866914E-0002 -1.99919283E-0002 2.09866914E-0002 4.62997869E-0002
1.45233007E-0002 -1.21470165E+0000 4.79894096E+0000 2.84314625E+0000 1.86259108E-0001 -2.27095842E-0002 2.85921248E-0002 -2.27095842E-0002 3.74404487E-0002 -3.26295559E-0003 2.85921248E-0002 -3.26295559E-0003 5.65919817E-0002
2.04518164E-0001 2.26156229E+0000 4.22597375E+0000 2.79821642E+0000 7.75379113E-0002 6.98466908E-0002 2.95665680E-0002 6.98466908E-0002 8.00913946E-0002 3.26640646E-0002 2.95665680E-0002 3.26640646E-0002 5.40779543E-0002
1.46258706E-0002 1.26722013E+0000 4.80633662E+0000 2.89897290E+0000 8.80357941E-0002 2.26981492E-0002 4.05790153E-0003 2.26981492E-0002 4.60485360E-0002 -7.70322510E-0003 4.05790153E-0003 -7.70322510E-0003 5.45100475E-0002
1.84562156E-0001 -2.60991008E+0000 4.59285310E+0000 4.03390174E+0000 1.51456600E-0001 -1.42734555E-0001 -1.17741061E-0001 -1.42734555E-0001 1.50000160E-0001 1.19653950E-0001 -1.17741061E-0001 1.19653950E-0001 2.01301812E-0001
2.87297679E-0002 -1.34664608E+0000 4.81762077E+0000 4.11037008E+0000 1.20169846E-0001 -2.40092647E-0002 -9.50215564E-0002 -2.40092647E-0002 3.53100140E-0002 4.17402875E-0002 -9.50215564E-0002 4.17402875E-0002 2.59240031E-0001
1.12880383E-0001 2.26335545E+0000 4.25751027E+0000 3.68162217E+0000 1.34662241E-0001 1.26724092E-0001 7.24910086E-0002 1.26724092E-0001 1.35760215E-0001 7.81381697E-0002 7.24910086E-0002 7.81381697E-0002 1.13119071E-0001
2.86798480E-0002 1.33616209E+0000 4.85052180E+0000 4.23465934E+0000 1.80874139E-0001 3.35404961E-0002 1.71858062E-0001 3.35404961E-0002 3.57517317E-0002 5.62338216E-0002 1.71858062E-0001 5.62338216E-0002 3.56622291E-0001
6.66450035E-0002 2.74946369E+0000 4.74656373E+0000 4.24763632E+0000 2.54371954E-0002 1.64469606E-0002 4.36734028E-0003 1.64469606E-0002 2.24742542E-0002 6.72714867E-0003 4.36734028E-0003 6.72714867E-0003 9.75985896E-0002
GROUPCa group of atoms that must be summed over when calculating each element of the adjacency matrix=2-192:3,3-192:3
m: HBPAMM_MATRIXAdjacency matrix in which two electronegative atoms are adjacent if they are hydrogen bonded This action uses the defaults shown here. More details GROUPAwhen you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPB=1 GROUPBwhen you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPA=2-192:3 CLUSTERSthe name of the file that contains the definitions of all the kernels for PAMM= #! FIELDS height ptc ssc adc sigma_ptc_ptc sigma_ptc_ssc sigma_ptc_adc sigma_ssc_ptc sigma_ssc_ssc sigma_ssc_adc sigma_adc_ptc sigma_adc_ssc sigma_adc_adc
#! SET multivariate true
#! SET kerneltype gaussian
7.62333341E-0002 -8.18288945E-0001 2.82463003E+0000 2.74063420E+0000 8.16250857E-0002 -6.73769671E-0002 -4.59932811E-0002 -6.73769671E-0002 6.75337422E-0002 4.53759149E-0002 -4.59932811E-0002 4.53759149E-0002 4.43189576E-0002
6.99310782E-0002 8.69642605E-0001 2.87365811E+0000 2.79326509E+0000 4.26992535E-0002 3.05953458E-0002 2.05388393E-0002 3.05953458E-0002 3.29012486E-0002 2.12273873E-0002 2.05388393E-0002 2.12273873E-0002 2.45196159E-0002
1.98671093E-0001 -2.27062808E+0000 4.25703566E+0000 2.78401408E+0000 7.98163641E-0002 -7.27264015E-0002 -1.99919283E-0002 -7.27264015E-0002 8.18886784E-0002 2.09866914E-0002 -1.99919283E-0002 2.09866914E-0002 4.62997869E-0002
1.45233007E-0002 -1.21470165E+0000 4.79894096E+0000 2.84314625E+0000 1.86259108E-0001 -2.27095842E-0002 2.85921248E-0002 -2.27095842E-0002 3.74404487E-0002 -3.26295559E-0003 2.85921248E-0002 -3.26295559E-0003 5.65919817E-0002
2.04518164E-0001 2.26156229E+0000 4.22597375E+0000 2.79821642E+0000 7.75379113E-0002 6.98466908E-0002 2.95665680E-0002 6.98466908E-0002 8.00913946E-0002 3.26640646E-0002 2.95665680E-0002 3.26640646E-0002 5.40779543E-0002
1.46258706E-0002 1.26722013E+0000 4.80633662E+0000 2.89897290E+0000 8.80357941E-0002 2.26981492E-0002 4.05790153E-0003 2.26981492E-0002 4.60485360E-0002 -7.70322510E-0003 4.05790153E-0003 -7.70322510E-0003 5.45100475E-0002
1.84562156E-0001 -2.60991008E+0000 4.59285310E+0000 4.03390174E+0000 1.51456600E-0001 -1.42734555E-0001 -1.17741061E-0001 -1.42734555E-0001 1.50000160E-0001 1.19653950E-0001 -1.17741061E-0001 1.19653950E-0001 2.01301812E-0001
2.87297679E-0002 -1.34664608E+0000 4.81762077E+0000 4.11037008E+0000 1.20169846E-0001 -2.40092647E-0002 -9.50215564E-0002 -2.40092647E-0002 3.53100140E-0002 4.17402875E-0002 -9.50215564E-0002 4.17402875E-0002 2.59240031E-0001
1.12880383E-0001 2.26335545E+0000 4.25751027E+0000 3.68162217E+0000 1.34662241E-0001 1.26724092E-0001 7.24910086E-0002 1.26724092E-0001 1.35760215E-0001 7.81381697E-0002 7.24910086E-0002 7.81381697E-0002 1.13119071E-0001
2.86798480E-0002 1.33616209E+0000 4.85052180E+0000 4.23465934E+0000 1.80874139E-0001 3.35404961E-0002 1.71858062E-0001 3.35404961E-0002 3.57517317E-0002 5.62338216E-0002 1.71858062E-0001 5.62338216E-0002 3.56622291E-0001
6.66450035E-0002 2.74946369E+0000 4.74656373E+0000 4.24763632E+0000 2.54371954E-0002 1.64469606E-0002 4.36734028E-0003 1.64469606E-0002 2.24742542E-0002 6.72714867E-0003 4.36734028E-0003 6.72714867E-0003 9.75985896E-0002
GROUPCa group of atoms that must be summed over when calculating each element of the adjacency matrix=2-192:3,3-192:3 NL_CUTOFF The cutoff for the neighbor list=0.0 NL_STRIDE The frequency with which we are updating the atoms in the neighbor list=1 GAUSS_CUTOFF the cutoff at which to stop evaluating the kernel function is set equal to sqrt(2*x)*(max(adc)+cov(adc))=6.25 ORDER the order in which the groups are specified in the input=dah REGULARISE don't allow the denominator to be smaller then this value=0.001
PRINTPrint quantities to a file. More details ARGthe labels of the values that you would like to print to the file=m FILEthe name of the file on which to output these quantities=colvar
This input outputs a 1×63 matrix in which the 1,ith element tells you whether or not atom 1 donates a hydrogen bond
to the ith element in the group of 63 atoms that was specified using the ACCEPTORS keyword.
In general, it is better to use this action through the HBPAMM_SA, HBPAMM_SD and HBPAMM_SH
keywords, which can be used to calculate the number of hydrogen bonds each donor, acceptor or hydrogen atom in your system participates in.
References
More information about how this action can be used is available in the following articles:
- G. A. Tribello, F. Giberti, G. C. Sosso, M. Salvalaglio, M. Parrinello, Analyzing and Driving Cluster Formation in Atomistic Simulations. Journal of Chemical Theory and Computation. 13, 1317–1327 (2017)
- P. Gasparotto, M. Ceriotti, Recognizing molecular patterns by machine learning: An agnostic structural definition of the hydrogen bond. The Journal of Chemical Physics. 141 (2014)
- P. Gasparotto, R. H. Meißner, M. Ceriotti, Recognizing Local and Global Structural Motifs at the Atomic Scale. Journal of Chemical Theory and Computation. 14, 486–498 (2018)
Syntax
The following table describes the keywords and options that can be used with this action
Keyword |
Type |
Default |
Description |
GROUP |
input |
none |
the atoms for which you would like to calculate the adjacency matrix |
GROUPA |
input |
none |
when you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPB |
GROUPB |
input |
none |
when you are calculating the adjacency matrix between two sets of atoms this keyword is used to specify the atoms along with the keyword GROUPA |
ATOMS |
input |
none |
the atoms for which you would like to calculate the adjacency matrix |
GROUPC |
input |
none |
a group of atoms that must be summed over when calculating each element of the adjacency matrix |
NL_CUTOFF |
compulsory |
0.0 |
The cutoff for the neighbor list |
NL_STRIDE |
compulsory |
1 |
The frequency with which we are updating the atoms in the neighbor list |
ORDER |
compulsory |
dah |
the order in which the groups are specified in the input |
CLUSTERS |
compulsory |
none |
the name of the file that contains the definitions of all the kernels for PAMM |
REGULARISE |
compulsory |
0.001 |
don't allow the denominator to be smaller then this value |
GAUSS_CUTOFF |
compulsory |
6.25 |
the cutoff at which to stop evaluating the kernel function is set equal to sqrt(2x)(max(adc)+cov(adc)) |
SERIAL |
optional |
false |
do the calculation in serial |
COMPONENTS |
optional |
false |
also calculate the components of the vectors connecting the atoms in the contact matrix |
NOPBC |
optional |
false |
don't use pbc |