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.
Install#
pip install --pre raven-toolbox
Home → Add-Ons → Get Add-Ons → search “RAVEN Toolbox”.
Then run checkRaven to verify.
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, then run checkRaven to verify.
Key features#
Build draft models by transferring reactions from template models using BLAST+, DIAMOND, or HMMER.
Reconstruct metabolic networks directly from KEGG organism annotations and pathway databases.
FBA, FVA, gene knockouts, and flux sampling with Gurobi or GLPK solvers.
Fast task-and-data-driven INIT for extracting context-specific models from transcriptomics data.
Identify and fill stoichiometric gaps by LP to restore connectivity or enable predicted growth.
Check mass and charge balance, dead-end metabolites, and metabolic task fulfilment.
Quick start#
from raven_toolbox.io import read_yaml_model
# load yeast-GEM from RAVEN YAML -- returns a plain cobra.Model
model = read_yaml_model("yeast-GEM.yml")
# set growth as the objective
model.objective = "r_2111"
# constrain glucose uptake to 1 mmol/gDW/h
model.reactions.get_by_id("r_1714").lower_bound = -1.0
# run FBA -- simulation comes from cobrapy, unchanged
sol = model.optimize()
print(f"Growth rate: {sol.objective_value:.4f} h⁻¹")
% load yeast-GEM from RAVEN YAML
model = readYAMLmodel('yeast-GEM.yml');
% set growth as the objective
model = setParam(model, 'obj', 'r_2111', 1);
% constrain glucose uptake to 1 mmol/gDW/h
model = setParam(model, 'lb', 'r_1714', -1);
% run FBA
sol = solveLP(model);
fprintf('Growth rate: %.4f h-1\n', sol.f);
Documentation#
Nineteen task-focused pages, MATLAB and Python side by side, every example executed and checked on each commit.
Complete function reference for both MATLAB and Python.
Set up RAVEN in MATLAB or raven-toolbox in Python with a solver.
Which to use for what, what only one of them has, and where the same function gives a different answer.
Citing RAVEN#
If you use RAVEN in your research, please cite:
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
See Citations for the full list, including the earlier RAVEN paper and the GEM reconstruction protocol.
Source code#
RAVEN is publicly available under the GPLv3 license at CompMetEng/RAVEN, archived at https://doi.org/10.5281/zenodo.3689518. raven-toolbox, the Python port, is under the MIT license at CompMetEng/raven-toolbox.
Issues and discussions#
Report a bug or request a feature on the tracker for the toolbox it concerns: RAVEN issues for the MATLAB toolbox, raven-toolbox issues for the Python package. For questions and general discussion, use RAVEN discussions or raven-toolbox discussions.