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.
Features#
Build draft models by transferring reactions from template models using BLAST+, DIAMOND, or HMMER.
Reconstruct metabolic networks 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#
Twenty-two task-focused pages, MATLAB and Python side by side, with the examples executed and their output checked.
Function reference for both MATLAB and Python.
Set up RAVEN in MATLAB or raven-toolbox in Python with a solver.
Use of each implementation, features present in only one of them, and where the same function gives a different answer.
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 holds the full list, including the first RAVEN paper (2013) and the GEM reconstruction protocol.
Source code#
RAVEN is publicly available under the GPLv3 licence at CompMetEng/RAVEN, archived at https://doi.org/10.5281/zenodo.3689518. raven-toolbox, the Python port, is under the MIT licence at CompMetEng/raven-toolbox.
Issues and discussions#
Bug reports and feature requests go to the tracker of the toolbox concerned: RAVEN issues for the MATLAB toolbox, raven-toolbox issues for the Python package. Questions and general discussion go to RAVEN discussions or raven-toolbox discussions.