RAVEN#
MATLAB & Python
A toolkit for building, curating, and simulating genome-scale metabolic models, available as a MATLAB toolbox and a Python package built on cobrapy.
Installation#
pip install --pre raven-toolbox
git clone --depth=1 https://github.com/CompMetEng/raven-toolbox.git
pip install -e raven-toolbox/
git clone --depth=1 https://github.com/CompMetEng/RAVEN.git
Add the folder to the MATLAB path and run checkRaven, which reports whether the installation and the solver work.
The Add-Ons manager installs the latest stable release, RAVEN 2.x. RAVEN 3.0.0b1, which this site documents, is installed from git or from a source archive; see RAVEN (MATLAB).
Features#
Transfers reactions from template models to a new genome, using BLAST+, DIAMOND or HMMER to find the homologous genes.
Builds a draft network from the KEGG annotation of an organism or from KEGG pathway and reaction entries.
Runs flux balance analysis (FBA), flux variability analysis (FVA), gene and reaction deletions and flux sampling. The MATLAB toolbox solves with GLPK, Gurobi, SCIP or a COBRA Toolbox solver; raven-toolbox uses the solvers of cobrapy.
Extracts a context-specific model from gene expression data. ftINIT is the successor of the legacy tINIT method.
Adds reactions from a template model so that blocked reactions carry flux, a metabolic task passes or the model grows.
Checks the structure, the mass and charge balance, the connectivity and the metabolic tasks of a model.
Quick start#
The example loads yeast-GEM, sets growth as the objective, limits glucose uptake to 1 mmol/gDW/h and runs FBA.
from raven_toolbox.io import read_yaml_model
# read_yaml_model returns a cobra.Model
model = read_yaml_model("yeast-GEM.yml")
model.objective = "r_2111"
model.reactions.get_by_id("r_1714").lower_bound = -1.0
# optimize is the cobrapy method
sol = model.optimize()
print(f"Growth rate: {sol.objective_value:.4f} h⁻¹")
model = readYAMLmodel('yeast-GEM.yml');
model = setParam(model, 'obj', 'r_2111', 1);
model = setParam(model, 'lb', 'r_1714', -1);
sol = solveLP(model);
fprintf('Growth rate: %.4f h-1\n', sol.f);
Documentation#
One page per task, with MATLAB and Python examples side by side. Most examples are executed, and their output is checked against the text.
Reference of the MATLAB functions and the Python functions.
Installation of RAVEN or raven-toolbox, and the choice of a solver.
The features that exist in one implementation alone, and the functions that return a different result in each.
Citing RAVEN#
Cite the following publication when using RAVEN in research:
Wang H, Marcišauskas S, Sánchez BJ, Domenzain I, Hermansson D, Agren R, Nielsen J, Kerkhoven EJ (2018). RAVEN 2.0: A versatile toolbox for metabolic network reconstruction and a case study on Streptomyces coelicolor. PLoS Computational Biology 14(10): e1006541. https://doi.org/10.1371/journal.pcbi.1006541
Citations lists further publications, among them the first RAVEN paper (2013) and the protocol for genome-scale model reconstruction.
Source code#
RAVEN is released under the GPLv3 licence at CompMetEng/RAVEN, archived at https://doi.org/10.5281/zenodo.3689518. raven-toolbox, the Python port, is released under the MIT licence at CompMetEng/raven-toolbox.
Issues and discussions#
Bug reports and feature requests go to the issue tracker of the toolbox concerned: RAVEN issues for the MATLAB toolbox, raven-toolbox issues for the Python package. Questions go to RAVEN discussions or raven-toolbox discussions.