Multidimensional AWH

GROMACS version: 2021.2
GROMACS modification: No

I am trying to test a two dimensional AWH for the binding of a ligand to a dimeric macromolecule but I am getting this error:

Fatal error:
No external provider for external pull potentials have been provided for 1
pull coordinates. The first coordinate without provider is number 2, which
expects a module named 'awh' to provide the external potential.

These are the pull + AWH sections of my mdp file:

pull                    = yes
pull_ngroups            = 3        
pull_group1_name        = A
pull_group2_name        = B
pull_group3_name        = LIG

pull_ncoords            = 2         
pull_coord1_geometry    = distance  
pull_coord2_geometry    = distance  
pull_coord1_groups      = 1 3       
pull_coord2_groups      = 2 3       
pull_coord1_type        = external-potential 
pull_coord2_type        = external-potential

pull-coord1-potential-provider = awh
pull-coord2-potential-provider = awh


awh			= yes
awh-potential		= convolved
awh-share-multisim	= yes
awh-nstout		= 1000
awh-nstsample		= 10
awh-nsamples-update	= 10
awh-nbias		= 1
;
awh1-error-init		= 5
awh1-equilibrate-histogram	= yes
awh1-share-group	= 1
awh1-ndim		= 1
awh1-dim1-coord-provider	= pull
awh1-dim1-coord-index	= 1
awh1-dim1-force-constant	= 128000
awh1-dim1-start		= 0
awh1-dim1-end		= 3
awh1-dim1-diffusion	= 5e-5
;
awh2-error-init		= 5
awh2-equilibrate-histogram	= yes
awh2-share-group	= 1
awh2-ndim		= 1
awh2-dim1-coord-provider	= pull
awh2-dim1-coord-index	= 1
awh2-dim1-force-constant	= 128000
awh2-dim1-start		= 0
awh2-dim1-end		= 3
awh2-dim1-diffusion	= 5e-5

As far as I understand the external provider for external pull potentials have been provided for both pull coordinates, so I do not understand this error. Any help?

You made two independent AWH biases. Instead you want a single AWH bias with two dimensions.

OK, this seems to be working:

pull                    = yes
pull_ngroups            = 3        
pull_group1_name        = A
pull_group2_name        = B
pull_group3_name        = LIG

pull_ncoords            = 2         
pull_coord1_geometry    = distance  
pull_coord2_geometry    = distance  
pull_coord1_groups      = 1 3       
pull_coord2_groups      = 2 3       
pull_coord1_type        = external-potential 
pull_coord2_type        = external-potential

pull-coord1-potential-provider = awh
pull-coord2-potential-provider = awh


awh			= yes
awh-potential		= convolved
awh-share-multisim	= yes
awh-nstout		= 1000
awh-nstsample		= 10
awh-nsamples-update	= 10
awh-nbias		= 1
;
awh1-error-init		= 5
awh1-equilibrate-histogram	= yes
awh1-share-group	= 1
awh1-ndim		= 2

awh1-dim1-coord-provider	= pull
awh1-dim1-coord-index	= 1
awh1-dim1-force-constant	= 128000
awh1-dim1-start		= 0
awh1-dim1-end		= 3
awh1-dim1-diffusion	= 5e-5
;
awh1-dim2-coord-provider	= pull
awh1-dim2-coord-index	= 2
awh1-dim2-force-constant	= 128000
awh1-dim2-start		= 0
awh1-dim2-end		= 3
awh1-dim2-diffusion	= 5e-5

Thank you!

With the previous mdp file I got a reasonable output but the size of the grid in the two dimensions is too small. The good thing is that the resolution of the PMF is high but with such resolution the sampling is very slow. I did a similar calculation using just one dimension and the size of the windows in the reaction coordinate is the same. How can I control the resolution of the PMF? I guess there is a parameter for this but I do not see in the description of the mdp files.

Thanks for any help…

The resolution does not affect the sampling speed. But with higher resolution you might notice that some “pixels” are not sampled (sufficiently). This leads to noisy results, but a coarser grid does not speed up the sampling, it only smears out the bias and PMF.

The resolution is set indirectly through the force constant and the temperature.