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.

Features#

Homology reconstruction

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

KEGG-based reconstruction

Reconstruct metabolic networks 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

Twenty-two task-focused pages, MATLAB and Python side by side, with the examples executed and their output checked.

Guide
API reference

Function reference for both MATLAB and Python.

API reference
Installation

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

Installation
Comparison of RAVEN and raven-toolbox

Use of each implementation, features present in only one of them, and where the same function gives a different answer.

Comparison of RAVEN and raven-toolbox

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.