GROMACS version: 2022.1
GROMACS modification: No
OS: Red Hat Enterprise Linux
Hi all, I am currently running some protein-ligand umbrella sampling simulations to measure the binding affinity of methyl-fucose to bacterial lectin. I am using this paper as my reference experimental binding affinity (table IV) and have used PDB ID 2BT9 to obtain the protein/ligand structural info.
To calculate the binding energy (deltaG) I am following this protocol:
- I have removed all water molecules from the PDB file (experimental results show crystallographic water is not involved in ligand binding) and parameterised the protein using GROMACS and the charmm36-jul2021 forcefield.
- I have parametrised one of the methyl-fucose ligands using CGenFF, and then added the new parameters and atoms to the protein .gro file (similar to the process described here: Protein-Ligand Complex).
- I have solvated the system using TIP3P water and ensured the system charge was overall neutral.
- I have minimised and NVT/NPT equilibrated the complex.
- I have conducted steered MD to pull the ligand out of its binding pocket. The params I have used are as below:
pull = yes
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group1_name = binding_site ; residues close to the ligand binding site
pull_group2_name = MF2 ; ligand name
pull_coord1_type = umbrella ; harmonic potential
pull_coord1_geometry = distance ; simple distance increase
pull_coord1_dim = N N Y
pull_coord1_groups = 1 2
pull_coord1_start = yes ; define initial COM distance > 0
pull_coord1_rate = 0.01 ; 0.01 nm per ps = 10 nm per ns
pull_coord1_k = 1000 ; kJ mol^-1 nm^-2
- After this, I generate umbrella sampling starting configurations along the reaction coordinate (up to when the ligand is ~2.5nm away from the binding site).
- I then run NPT equilibration and 10ns production md using the following pull params:
pull = yes
pull_ncoords = 1 ; only one reaction coordinate
pull_ngroups = 2 ; two groups defining one reaction coordinate
pull_group1_name = MF2
pull_group2_name = binding_site
pull_coord1_type = umbrella ; harmonic potential
pull_coord1_geometry = distance ; simple distance increase
pull_coord1_dim = N N Y
pull_coord1_groups = 1 2
pull_coord1_start = yes ; define initial COM distance > 0
pull_coord1_rate = 0.0 ; restrain in place
pull_coord1_k = 1000 ; kJ mol^-1 nm^-2
- Finally, I combined the snapshot results using WHAM, generating a window histogram and energy profile of the results.
However, I am getting conflicting results from this. The binding affinity should be around 8kcal/mol (according to the experimental value) for each and every ligand (very identical binding profile). Pulling one particular ligand results in a very low binding affinity of ~2.2kcal/mol, while pulling another results in an extremely high value of around 16kcal/mol. Both histograms/profiles are attached here, along with one example pulling simulation. I also seem to not be able to properly sample the region where the ligand has just about left the binding pocket for the second, stronger-affinity ligand (clearly seen in the histogram/profile).
Does anyone know what I am missing here? Is there something that could be influencing the binding affinity in the way I have defined my simulations? I can provide further .mdp files/details if required.
Many thanks in advance for your help!
I have attached all files here as I can’t seem to attach media to the post directly.