Colvars / colvars

Collective variables library for molecular simulation and analysis programs
http://colvars.github.io/
GNU Lesser General Public License v3.0
201 stars 58 forks source link

Poisson_integrator seems highly inaccurate with 2D path-CV #518

Closed gitkol closed 1 year ago

gitkol commented 1 year ago

Hi, I attached a standard case of 2D path-CV based meta-eABF simulation of a conformational transition with a barrier. If you want to check the details, everything is available at https://www.plumed-nest.org/eggs/23/012/, but I included all the files here required to demonstrate the problem. I ran abf_integrate with -n 100000000, and it gives a perfectly reasonable 2D PMF with a barrier between two minima, one of which is significantly lower than the other. However, if I integrate with poisson_integrator (I am using your latest release) the PMF is completely wrong, in fact it shows a deep minimum where there should be the barrier. I would much prefer using the new integrator, but now I have doubts. The one idea I have is that the binning resolution is vastly different between S and Z, maybe that throws things off, nonetheless, abf_integrator is just fine.

Best regards,

Istvan Kolossvary

Poisson_problem.zip

giacomofiorin commented 1 year ago

Hi @gitkol, before looking further, can you clarify whether your simulation was done with Colvars or Plumed?

jhenin commented 1 year ago

Hi Istvan @gitkol , Thank you for your report. It demonstrates an issue that I have seen in some examples recently, but this is a particularly spectacular case. It has to do with the boundary conditions of the Poisson integrator, specifically how it deals with regions with little or no sampling at the boundaries when they are heterogeneous (that is, sampling is much more extensive at some regions of the boundary than others). I have ideas on how to fix this, but unfortunately that's not trivial at all. The old MCMC integrator, because of its simple design, is able to deal with these boundaries in a smarter way by avoiding the undersampled areas entirely. Jérôme

fabsugar commented 1 year ago

Dear Istvan, if you want to have a double check, I have a simple and robust integrator based on Kinetic Monte Carlo (KMC). The basic principle is similar to the MCMC integrator of Jerome. I usually run a long KMC (few billions of steps) at large temperature (e.g. 2000K, which depends on your barriers) to efficiently sample all the space. The integrator is the graf_fes_kmc.py https://github.com/FCAM-NIH/FCAM/blob/main/graf_fes_kmc.py program in:

https://github.com/FCAM-NIH/FCAM

You should eliminate grid points that are not sampled or assign to them a weight of zero (on the last column). If you need help let me know, best, Fabrizio

On Mon, Mar 20, 2023 at 10:00 AM gitkol @.***> wrote:

Hi, I attached a standard case of 2D path-CV based meta-eABF simulation of a conformational transition with a barrier. If you want to check the details, everything is available at https://www.plumed-nest.org/eggs/23/012/, but I included all the files here required to demonstrate the problem. I ran abf_integrate with -n 100000000, and it gives a perfectly reasonable 2D PMF with a barrier between two minima, one of which is significantly lower than the other. However, if I integrate with poisson_integrator (I am using your latest release) the PMF is completely wrong, in fact it shows a deep minimum where there should be the barrier. I would much prefer using the new integrator, but now I have doubts. The one idea I have is that the binning resolution is vastly different between S and Z, maybe that throws things off, nonetheless, abf_integrator is just fine.

Best regards,

Istvan Kolossvary

Poisson_problem.zip https://github.com/Colvars/colvars/files/11019004/Poisson_problem.zip

— Reply to this email directly, view it on GitHub https://github.com/Colvars/colvars/issues/518, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACZ54ABRC6NTJZUSARL73LDW5BPIHANCNFSM6AAAAAAWBECNQY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

gitkol commented 1 year ago

I did the calculation with PLUMED @giacomofiorin . Thanks, Fabrizio @fabsugar. I'll try your integrator.

Istvan