RAVEN#

RAVEN 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#

Homology reconstruction

Build draft models by transferring reactions from template models using BLAST+, DIAMOND, or HMMER.

KEGG-based reconstruction

Reconstruct metabolic networks directly from KEGG organism annotations and pathway databases.

Flux analysis

FBA, FVA, gene knockouts, and flux sampling with Gurobi or GLPK solvers.

ftINIT

Fast task-and-data-driven INIT for extracting context-specific models from transcriptomics data.

Gap-filling

Identify and fill stoichiometric gaps by LP to restore connectivity or enable predicted growth.

Model curation

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#

Guide

Nineteen task-focused pages, MATLAB and Python side by side, every example executed and checked on each commit.

Guide
API reference

Complete function reference for both MATLAB and Python.

API reference
Installation

Set up RAVEN in MATLAB or raven-toolbox in Python with a solver.

Installation
RAVEN vs. raven-toolbox

Which to use for what, what only one of them has, and where the same function gives a different answer.

RAVEN vs. raven-toolbox

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.