Working with networks of results#

After running a network of free energy calculations, we often want to analyse the corresponding network of results.

Converting relative results to absolute estimates#

When a network of relative free energies has been calculated, a commonly performed task is to transform these pairwise estimations of relative free energy differences (\(\Delta \Delta G\)) into absolute free energy differences (\(\Delta G\)). This is done using a maximum likelihood estimator (MLE) [1], as implemented in the cinnabar package. This approach uses the matrix of relative pairwise measurements and their uncertainties, to estimate the overall ranking of ligands. To use this approach the network of pairwise measurements needs to be fully connected, i.e. there should be a way to trace a path along pairwise measurements between any two nodes (ligands) on the network.

Note

The results of a MLE estimation will have a mean of 0.0, meaning that there will be some estimates with positive values and some estimates with negative values. These predictions (\(\Delta G_{pred}\)) can be shifted to match the magnitude of the experimental data, to satisfy the below equation where the sum is performed over N molecules that have experimental data (\(\Delta G_{exp}\)) [2].

\[\sum_i^N \Delta G^i_{exp} = \sum_i^N \Delta G^i_{pred}\]

Gathering using the command line#

After running calculations using the quickrun command, the openfe gather command offers a way to collate information across many different individual simulations and prepare a table of results. The tool offers a summary of the relative binding affinities (--report ddg), or their corresponding MLE values (--report dg).

Using cinnabar directly#

The cinnabar package can be used from within Python to manipulate networks of free energy estimates. A tutorial on using this is provided here here

See also#

For handling the results of a single calculation, please consult Working with individual results