FES convergence issue on metadynamics simulation
Posted: Sun Aug 14, 2022 8:02 am
Hi. I have some problems while running OpenMM 7.5 well-tempered metadynamics module. I'm trying to calculate the two-dimensional FES utilizing metadynamics module. Two bias variables are defined accordingly:
biasCA = BiasVariable(cvCA,0.0,2.0,0.1,False)
biastheta = BiasVariable(cvtheta, -rad/2, rad/2, distrad, False)
(rad is a value of 3.14159265 and disrad is a value of 0.174532925, which is equal to rad/18)
Now the metadynamics object is defined as follows:
meta = Metadynamics(system, [biasCA,biastheta], temperature, 10, 0.25*kilojoules_per_mole, 500, 500, biasDir='./')
Simulation was running pretty well without any issue, but I've found that the free energy results got highly fluctuated depending on the running time. I tried to check the convergence of FES by running multiple simulations with different runtime (20ns, 40ns, 60ns, ...). Although short simulation may represent fluctuating behavior due to several FES regions unexplored, even FES with more than 200ns indicate same issue (like contour lines are irregularly positioned and free energy value is changed quite widely up to ~10kT), which makes me hard to figure out whether FES is well-converged or not.
I wonder is there any way to rationalize the convergence of FES results. Do I need to change the biasFactor and Gaussian height value to search for the proper setting? To add, I'd like to understand the way to interpret the bias npy file written during the simulation. Is it possible to analyze the FES exploration using such file?
biasCA = BiasVariable(cvCA,0.0,2.0,0.1,False)
biastheta = BiasVariable(cvtheta, -rad/2, rad/2, distrad, False)
(rad is a value of 3.14159265 and disrad is a value of 0.174532925, which is equal to rad/18)
Now the metadynamics object is defined as follows:
meta = Metadynamics(system, [biasCA,biastheta], temperature, 10, 0.25*kilojoules_per_mole, 500, 500, biasDir='./')
Simulation was running pretty well without any issue, but I've found that the free energy results got highly fluctuated depending on the running time. I tried to check the convergence of FES by running multiple simulations with different runtime (20ns, 40ns, 60ns, ...). Although short simulation may represent fluctuating behavior due to several FES regions unexplored, even FES with more than 200ns indicate same issue (like contour lines are irregularly positioned and free energy value is changed quite widely up to ~10kT), which makes me hard to figure out whether FES is well-converged or not.
I wonder is there any way to rationalize the convergence of FES results. Do I need to change the biasFactor and Gaussian height value to search for the proper setting? To add, I'd like to understand the way to interpret the bias npy file written during the simulation. Is it possible to analyze the FES exploration using such file?