choderalab / pymbar

Python implementation of the multistate Bennett acceptance ratio (MBAR)
http://pymbar.readthedocs.io
MIT License
240 stars 93 forks source link

BAR estimate without overlap #523

Closed wiederm closed 8 months ago

wiederm commented 8 months ago

Hi,

I am unsure how the BAR estimator calculates the free energy estimate if there is no overlap between work distributions. Even for distributions with no overlap, there is an estimate returned --- I created a minimal example here: https://colab.research.google.com/gist/wiederm/0cfc7f89ef56d461b7494a49a2de058b/understandingexp.ipynb

The estimate seems based on the forward and reverse EXP estimates, but that might be coincidental. image

mrshirts commented 8 months ago
  1. It looks like there is a typo in line 569 of this code, as it refers to bar_ddF instead of bar_ddf. The corresponding line in master (567) is fixed, so there may need to be an update in this installation. I think this is the main reason why the overlap is not defined, not anything to do with the math.
  2. Mathematically, no overlap in the discrete distributions doesn't mean undefined overlap mathematically, but it does tail off exponentially.
  3. Mathematically, I believe that in the limit of poor overlap, the BAR estimate does indeed converge to the average of the exponential average free energies. BAR is not providing any additional information in that situation.
wiederm commented 8 months ago

Thank you for your prompt response. Your explanation makes sense.