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_
¶ DataFrame – The estimated dimensionless free energy difference between each state.
-
d_delta_f_
¶ DataFrame – The estimated statistical uncertainty (one standard deviation) in dimensionless free energy differences.
-
theta_
¶ DataFrame – The theta matrix.
-
states_
¶ list – Lambda states for which free energy differences were obtained.
-
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.
Parameters: deep (boolean, optional) – If True, will return the parameters for this estimator and contained subobjects that are estimators. Returns: params – Parameter names mapped to their values. Return type: mapping of string to any
-
set_params
(**params)¶ Set the parameters of this estimator.
The method works on simple estimators as well as on nested objects (such as pipelines). The latter have parameters of the form
<component>__<parameter>
so that it’s possible to update each component of a nested object.Returns: Return type: self