class openfe.protocols.openmm_rfe.RelativeHybridTopologyProtocolResult(**data)#

Dict-like container for the output of a RelativeHybridTopologyProtocol

get_estimate() Quantity#

Average free energy difference of this transformation

Returns:

dG – The free energy difference between the first and last states. This is a Quantity defined with units.

Return type:

unit.Quantity

get_uncertainty() Quantity#

The uncertainty/error in the dG value: The std of the estimates of each independent repeat

get_individual_estimates() list[tuple[pint.util.Quantity, pint.util.Quantity]]#

Return a list of tuples containing the individual free energy estimates and associated MBAR errors for each repeat.

Returns:

dGs – n_replicate simulation list of tuples containing the free energy estimates (first entry) and associated MBAR estimate errors (second entry).

Return type:

list[tuple[unit.Quantity]]

get_forward_and_reverse_energy_analysis() list[dict[str, typing.Union[numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]], pint.util.Quantity]]]#

Get a list of forward and reverse analysis of the free energies for each repeat using uncorrelated production samples.

The returned dicts have keys: ‘fractions’ - the fraction of data used for this estimate ‘forward_DGs’, ‘reverse_DGs’ - for each fraction of data, the estimate ‘forward_dDGs’, ‘reverse_dDGs’ - for each estimate, the uncertainty

The ‘fractions’ values are a numpy array, while the other arrays are Quantity arrays, with units attached.

Returns:

forward_reverse

Return type:

dict[str, Union[npt.NDArray, unit.Quantity]]

get_overlap_matrices() list[dict[str, numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]]]]#

Return a list of dictionary containing the MBAR overlap estimates calculated for each repeat.

Returns:

overlap_stats

A list of dictionaries containing the following keys:
  • scalar: One minus the largest nontrivial eigenvalue

  • eigenvalues: The sorted (descending) eigenvalues of the overlap matrix

  • matrix: Estimated overlap matrix of observing a sample from state i in state j

Return type:

list[dict[str, npt.NDArray]]

get_replica_transition_statistics() list[dict[str, numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]]]]#

The replica lambda state transition statistics for each repeat.

Note

This is currently only available in cases where a replica exchange simulation was run.

Returns:

repex_stats

A list of dictionaries containing the following:
  • eigenvalues: The sorted (descending) eigenvalues of the lambda state transition matrix

  • matrix: The transition matrix estimate of a replica switching from state i to state j.

Return type:

list[dict[str, npt.NDArray]]

get_replica_states() list[numpy.ndarray[typing.Any, numpy.dtype[+ScalarType]]]#

Returns the timeseries of replica states for each repeat.

Returns:

replica_states – List of replica states for each repeat

Return type:

List[npt.NDArray]

equilibration_iterations() list[float]#

Returns the number of equilibration iterations for each repeat of the calculation.

Returns:

equilibration_lengths

Return type:

list[float]

production_iterations() list[float]#

Returns the number of uncorrelated production samples for each repeat of the calculation.

Returns:

production_lengths

Return type:

list[float]

property data: dict[str, Any]#

Aggregated data contents from multiple ProtocolDAGResult instances.

The structure of this data is specific to the Protocol subclass each ProtocolResult subclass corresponds to.