MBAR¶
The MBAR
estimator is a light wrapper around the reference implementation of MBAR from pymbar
(pymbar.mbar.MBAR
).
As a generalization of BAR, it uses information from all sampled states to generate an estimate for the free energy difference between each state.
API Reference¶
-
class
alchemlyb.estimators.
MBAR
(maximum_iterations=10000, relative_tolerance=1e-07, initial_f_k=None, method='hybr', verbose=False)¶ Multi-state Bennett acceptance ratio (MBAR).
- 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.
initial_f_k (np.ndarray, float, shape=(K), optional) – Set to the initial dimensionless free energies to use as a guess (default None, which sets all f_k = 0).
method (str, optional, default="hybr") – The optimization routine to use. This can be any of the methods available via scipy.optimize.minimize() or scipy.optimize.root().
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
-
theta_
¶ The theta matrix.
- Type
DataFrame
-
fit
(u_nk)¶ Compute overlap matrix of reduced potentials using multi-state 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.
-
property
overlap_matrix
¶ MBAR overlap matrix.
The estimated state overlap matrix \(O_{ij}\) is an estimate of the probability of observing a sample from state \(i\) in state \(j\).
The
overlap_matrix
is computed on-the-fly. Assign it to a variable if you plan to re-use it.See also
-
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