DifferentiableMetabolism.jl

Differentiable constraint-based metabolic models
Author stelmo
Popularity
10 Stars
Updated Last
4 Months Ago
Started In
February 2022

DifferentiableMetabolism.jl

Build status Documentation
CI status codecov Documentation

This package extends COBREXA.jl with the ability to differentiate an optimal solution of a constraint-based metabolic model with respect to parameters.

Note, only non-degenerate (unique) solutions can be differentiated for the derivatives to have a concrete interpretation. You need to ensure that your solution is non-degenerate, otherwise you will only compute sub-gradients. Builtin functionality (pruning) can help with this.

To use this package, download and install Julia, and add the following packages using the built in package manager:

] add COBREXA, DifferentiableMetabolism

Any optimization solver that is compatible with JuMP can be used, provided it can solve the optimization problems you are interested in (LPs and QPs), and it returns the dual variables through the JuMP interface. In the tests we use Tulip.jl for LPs, and Clarabel.jl for QPs. Other solvers, like Gurobi, work well, but they require a license (usually free for academic use).

You can test the installation through:

] test DifferentiableMetabolism

For more information, please see the documentation.

This package is maintained and open for extensions. Feel free to discuss changes and ideas via issues and pull requests.

Acknowledgements

DifferentiableMetabolism.jl was developed at Institute for Quantitative and Theoretical Biology at Heinrich Heine University Düsseldorf (qtb.hhu.de), and at the Luxembourg Centre for Systems Biomedicine of the University of Luxembourg (uni.lu/lcsb).

HHU logo QTB logo Uni.lu logo   LCSB logo