BAR¶
The BAR
estimator is a light wrapper around the implementation of the Bennett Acceptance Ratio (BAR) method [Bennett1976] from pymbar
(pymbar.mbar.BAR
).
It uses information from neighboring sampled states to generate an estimate for the free energy difference between these state.
See also
API Reference¶
- class alchemlyb.estimators.BAR(maximum_iterations=10000, relative_tolerance=1e-07, method='false-position', verbose=False)¶
Bennett acceptance ratio (BAR).
- Parameters
maximum_iterations (int, optional) – Set to limit the maximum number of iterations performed.
relative_tolerance (float, optional) – Set to determine the relative tolerance convergence criteria.
method (str, optional, default='false-position') – choice of method to solve BAR nonlinear equations, one of ‘self-consistent-iteration’ or ‘false-position’ (default: ‘false-position’)
verbose (bool, optional) – Set to True if verbose debug output is desired.
- delta_f_¶
The estimated dimensionless free energy difference between each state.
- Type
DataFrame
- d_delta_f_¶
The estimated statistical uncertainty (one standard deviation) in dimensionless free energy differences.
- Type
DataFrame
Notes
See [Bennett1976] for details of the derivation and cite the paper (together with [Shirts2008] for the Python implementation in
pymbar
) when using BAR in published work.When possible, use MBAR instead of BAR as it makes better use of the available data.
See also
Changed in version 1.0.0: delta_f_, d_delta_f_, states_ are view of the original object.
- fit(u_nk)¶
Compute overlap matrix of reduced potentials using Bennett acceptance ratio.
- Parameters
u_nk (DataFrame) – u_nk[n,k] is the reduced potential energy of uncorrelated configuration n evaluated at state k.
- get_params(deep=True)¶
Get parameters for this estimator.
- set_params(**params)¶
Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as
Pipeline
). The latter have parameters of the form<component>__<parameter>
so that it’s possible to update each component of a nested object.- Parameters
**params (dict) – Estimator parameters.
- Returns
self – Estimator instance.
- Return type
estimator instance