Skip to content
Snippets Groups Projects
St. Elmo's avatar
57382e37
History

COnstraint-Based Reconstruction and EXascale Analysis

Documentation Tests Coverage How to contribute?
docs-img CI codecov contrib

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 uses JuMP.jl to formulate optimization problems and is compatible with all JuMP supported solvers. However, to perform analysis at least one of these solvers needs to be installed on your machine. For a pure Julia implementation, we recommend Tulip.jl, but any other solver would also work.

💡 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.

Installation

Using the Julia package manager to install COBREXA is straightforward -- after starting Julia, type:

] add COBREXA

All these commands should be run from Julia at the julia> prompt.

Then you can load the COBREXA package and start using it through:

using COBREXA

When using COBREXA for the first time it may take several minutes to load, due to pre-compilation of the source code and dependencies, especially on a fresh Julia installation.

Test the installation

If you run a non-standard platform (e.g. a customized operating systems), 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

Quick start guide

In addition to COBREXA, you also need to include a Julia package which provides an appropriate solver. One such solver is Tulip, which is provided by the Tulip.jl package.

] add Tulip

With the package installed and tested, let's perform simple flux balance analysis on a constraint based model.

using COBREXA
using Tulip

if !isfile("e_coli_core.xml")
  download("http://bigg.ucsd.edu/static/models/e_coli_core.xml", "e_coli_core.xml")
end

model = load_model("e_coli_core.xml")

sol = flux_balance_analysis_dict(model, Tulip.Optimizer)

sol["BIOMASS_Ecoli_core_w_GAM"] # 0.87

More functionality is described in the documentation, e.g. model construction and exa-scale analysis in pure Julia.

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.

Uni.lu logo   LCSB logo   HHU logo   QTB logo   PerMedCoE logo