TI

The TI estimator is a simple implementation of thermodynamic integration that uses the trapezoid rule for integrating the space between \(\left<\frac{dH}{d\lambda}\right>\) values for each \(\lambda\) sampled.

API Reference

class alchemlyb.estimators.TI(verbose=False)

Thermodynamic integration (TI).

Parameters

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

states_

Lambda states for which free energy differences were obtained.

Type

list

dhdl

The estimated dhdl of each state.

Type

DataFrame

fit(dHdl)

Compute free energy differences between each state by integrating dHdl across lambda values.

Parameters

dHdl (DataFrame) – dHdl[n,k] is the potential energy gradient with respect to lambda for each configuration n and lambda k.

get_params(deep=True)

Get parameters for this estimator.

Parameters

deep (bool, default=True) – 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

dict

separate_dhdl()

For transitions with multiple lambda, the attr:dhdl would return a DataFrame which gives the dHdl for all the lambda states, regardless of whether it is perturbed or not. This function creates a list of pandas.Series for each lambda, where each pandas.Series describes the potential energy gradient for the lambdas state that is perturbed.

Returns

dHdl_list – A list of pandas.Series such that dHdl_list[k] is the potential energy gradient with respect to lambda for each configuration that lambda k is perturbed.

Return type

list

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