Release history#
This section lists features and improvements of note in each release.
The full release history can be viewed at the GitHub cinnabar releases page.
v0.6.0#
Added:
Added the predictive index (PI) metric to compare ranking performance, this is also exposed in bootstrap statistics and can be used in plots PR#194.
Added the ability to define new estimators by subclassing the
Estimatorclass and implementing the_estimatemethod, these can then be applied to theFEMapto generate absolute DG estimates. PR#193.Added
FEMap.get_cycle_closure_dataframeto calculate cycle closure errors for all cycles in the network, reporting raw closure errors, per-edge contributions, and uncertainty-normalized cycle closures. PR#107.Added
FEMap.get_cycle_closure_edge_statistics_dataframeto report per-edge cycle closure statistics. PR#107.Added
plotting.plot_cycle_closureto visualize the cycle closure error distribution as a histogram. PR#107.Documentation and tutorials for the ECDF plotting functionality PR#206.
Added error estimates to ECDF plots via bootstrapping PR#201.
Added ECDF plotting functionality to visualize the empirical cumulative distribution function of predicted vs experimental absolute, relative and all-to-all pairwise binding free energies PR#172.
Exposed stats calculation functions in the
cinnabar.statsmodule to the public API and added docs allowing users to use them directly PR#186.Added the
compute_fraction_best_ligandsfunction to compute the fraction of best ligands metric PR#164.Added
highlight_edgesargument to thedraw_graphfunction, allowing the user to highlight edges in the network graph PR#203.Guidelines on scatter plots can now be set manually, the values are also annotated on the plots PR#204.
Added
get_all_to_all_relative_dataframe()function the theFEMapclass to compute pairwise relative free energy differences between all ligands in a dataset PR#187.The
get_relative/absolute/all_to_all_relative_dataframe()functions can now return values aspIC50. This is controlled by passingobservable_type="pic50"PR#208.All scatter and ECDF plotting functions can now plot as
pIC50. This is controlled by passingobservable_type="pic50"PR#213.Added an affinity conversion function
convert_observablewhich provides value and uncertainty conversions to and fromdg,ki,ic50andpic50with units PR#182.
Changed:
The
FEMMap.get_absolute_dataframeandFEMap.get_relative_dataframemethods now return dataframes in a sorted order of node labels grouped by source flags to enable easier comparisons between sources and with experimental values PR#192.The
FEMap.get_relative_dataframenow also includes experimental differences for the simulated legs in the dataframe to enable easier comparisons between predicted and experimental values PR#192.cinnabar.arsenichas been renamed tocinnabar.cli, other references to arsenic have also been removed. PR#158.Plotting functions
plot_DDGs,plot_DGsandplot_all_DDGsnow require an FEMap as input along with a computational source, see the API tutorial for more details PR#212.The MLE estimator will now raise an error on any uncertainties of exactly zero on calculated edges due to issues with SVD calculations PR#177.
Deprecated:
plotting._master_plotis deprecated and will be removed in a future version. Useplotting.pair_plotinstead PR#204.FEMap.to_legacy_graphmethod is now deprecated and will be removed in a future release PR#212.
Fixed:
v0.5.0#
Added:
Added support for python 3.13.
Vendored
openff-models(PR #131).Adding operator now available in
FEMap, i.e. you can addFEMapinstances using+(PR #114).
Changed:
v0.2.1 - Release#
Bugfixes#
Fix erroneous MLE estimate when self-edges are included (PR #38).