Constraint-Based Reconstruction and EXascale Analysis
Repository | Tests | Coverage | How to contribute? |
---|---|---|---|
COBREXA is a toolkit for working with large constraint-based metabolic models, and a running very large number of analysis tasks on these models in parallel. Its main purpose is to make the methods of Constraint-based Reconstruction and Analysis (COBRA) scale to problem sizes that require the use of huge computer clusters and HPC environments, which allows them to be realistically applied to pre-exascale-sized models.
In this package, you will find the usual COBRA-like functions that interface to underlying linear programming solvers. We use JuMP.jl
as the unified interface for many solvers; you can plug in whichever compatible solver you want, including the popular Tulip.jl
, GLPK.jl
, OSQP.jl
, and Gurobi.jl
.
Development history of COBREXA.jl.
Quick start guide
You can install COBREXA from Julia repositories. Start julia
, press ]
to switch to the Packaging environment, and type:
add COBREXA
You also need to install your favorite solver supported by JuMP.jl
, typing e.g.:
add Tulip
When the packages are installed, switch back to the "normal" julia shell by pressing Backspace (the prompt should change color back to green). After that, you can download a SBML model from the internet and perform a flux balance analysis as follows:
using COBREXA # loads the package
using Tulip # loads the optimization solver
# download the model
download("http://bigg.ucsd.edu/static/models/e_coli_core.xml", "e_coli_core.xml")
# open the SBML file and load the contents
model = load_model("e_coli_core.xml")
# run a FBA
fluxes = flux_balance_analysis_dict(model, Tulip.Optimizer)
The variable fluxes
will now contain a dictionary of the computed optimal flux of each reaction in the model:
Dict{String,Float64} with 95 entries:
"R_EX_fum_e" => 0.0
"R_ACONTb" => 6.00725
"R_TPI" => 7.47738
"R_SUCOAS" => -5.06438
"R_GLNS" => 0.223462
"R_EX_pi_e" => -3.2149
"R_PPC" => 2.50431
"R_O2t" => 21.7995
"R_G6PDH2r" => 4.95999
"R_TALA" => 1.49698
⋮ => ⋮
Basic and quick-start tutorials
Detailed tutorial content is available here.
- Loading and converting model data
- Basic analysis of constraint-based models
- Distributed processing and HPC environments
- Modifying and saving the models
Advanced tutorials
Detailed listing of advanced tutorials is available here.
Example notebooks and workflows
Detailed notebook content is available here.
- Loading, converting, and saving models
- Finding balance and variability of constraint-based models
- Basic usage of
StandardModel
- Basic usage of
CoreModel
andCoreModelCoupled
- Model construction and modification
- Exploring model variants with
screen
- Building and analysing a small community model
- Using a custom model data structure
Functions reference
Contribution guide
If you wish to contribute code, patches or improvements to COBREXA.jl
, please read the basic contribution guidelines and hints..
Acknowledgements
COBREXA.jl
is developed at the Luxembourg Centre for Systems Biomedicine of the University of Luxembourg (uni.lu/lcsb), cooperating with the Institute for Quantitative and Theoretical Biology at the Heinrich Heine University in Düsseldorf (qtb.hhu.de).
The development was supported by European Union's Horizon 2020 Programme under PerMedCoE project (permedcoe.eu) agreement no. 951773.