BranniganLab / safep

Tools for Analyzing and Debugging (SA)FEP calculations. See also the SAFEP Tutorial: https://github.com/jhenin/SAFEP_tutorial/tree/main Documentation: https://safep-alchemy.readthedocs.io/en/latest/
GNU Lesser General Public License v2.1
5 stars 1 forks source link

Make TI processing code compatible with newer Colvars options #54

Open jhenin opened 20 hours ago

jhenin commented 20 hours ago

In particular, non-linear decoupling that removes the need for explicit, complicated lambda schedules. Functions should take the lambda exponent as extra parameter. This may be a better alternative to https://github.com/Colvars/colvars/pull/753, since the energy derivative can be recomputed from the CV trajectory, if all user parameters are known.

EzryStIago commented 19 hours ago

Oh! I didn't know colvars had non-linear TI. Is that new?

But yes, our current approach is to manually recalculate the (linear) gradients so we can get error estimates. I'm agnostic as to whether this is the best approach. Is there a way to output the gradients directly from colvars/namd? Then we wouldn't need to mirror any gradient calculations.

In that issue you linked, you mention equilibrium detection, is there a reason we can't use this pymbar functionality (which we use indirectly for subsampling FEP data), or did you have a different method in mind?

jhenin commented 11 minutes ago

Well... I started implementing this, struggled to understand what was already written, and then realized it's already implemented - the exponent is stored in the not-so-transparently-named entry targetFE. The only part that is missing is handling the "decoupling" option.