Constraint-Based Reconstruction and EXascale Analysis
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 directly from the GitHub repository. Start julia
, press ]
to switch to the Packaging environment, and type:
add https://github.com/LCSB-BioCore/COBREXA.jl
You also need to install your favorite solver supported by JuMP.jl
, typing e.g.:
add GLPK
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 GLPK # 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, GLPK.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.95998
"R_TALA" => 1.49698
⋮ => ⋮
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
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
Functions reference
Contribution guide
If you wish to contribute code, patches or improvements to COBREXA.jl
, please read the basic contribution guidelines and hints..