COnstraint-Based Reconstruction and EXascale Analysis
Documentation | Tests | Coverage | How to contribute? |
---|---|---|---|
This is package provides constraint-based reconstruction and analysis tools for exa-scale metabolic models in Julia.
How to get started
Prerequisites and requirements
-
Operating system: Use Linux (Debian, Ubuntu or centOS), MacOS, or Windows
10 as your operating system.
COBREXA
has been tested on these systems. -
Julia language: In order to use
COBREXA
, you need to install Julia 1.0 or higher. Download and follow the installation instructions for Julia here. -
Hardware requirements:
COBREXA
runs on any hardware that can run Julia, and can easily use resources from multiple computers interconnected on a network. For processing large datasets, you are required to ensure that the total amount of available RAM on all involved computers is larger than the data size. -
Optimization solvers:
COBREXA
usesJuMP.jl
to formulate optimization problems and is compatible with allJuMP
supported solvers. However, to perform analysis at least one of these solvers needs to be installed on your machine. For a pure Julia implementation, you may use e.g.Tulip.jl
, but other solvers (GLPK, Gurobi, ...) work just as well.
💡 If you are new to Julia, it is advisable to familiarize yourself with the environment first. Use the Julia documentation to solve various language-related issues, and the Julia package manager docs to solve installation-related difficulties. Of course, the Julia channel is another fast and easy way to find answers to Julia specific questions.
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
⋮ => ⋮
Testing the installation
If you run a non-standard platform (e.g. a customized operating system), or if
you added any modifications to the COBREXA
source code, you may want to run
the test suite to ensure that everything works as expected:
] test COBREXA
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.