Reconstruction, Analysis and Visualisation of Metabolic Networks — in Python.
raven-python is the Python counterpart of the
RAVEN Toolbox 2 (MATLAB). It builds on
cobrapy for everything cobrapy already does well
(simulation, standard analyses, SBML I/O, model manipulation) and adds the functionality
that is unique to RAVEN:
- De novo reconstruction from KEGG and protein homology (BLAST / DIAMOND).
- Context-specific models from omics data via tINIT / ftINIT, with task-aware gap-filling and the linear-merge MILP reduction.
- Metabolic-task validation (
check_tasks,find_task_essential_reactions). - Connectivity gap-filling against template models.
- Omics integration — Human Protein Atlas (proteomics + RNA-seq) ingestion.
- Sub-cellular localisation prediction by MILP, with partial-update mode and pluggable predictors (WoLF PSORT, DeepLoc, …).
- N-model comparison; reporter metabolites; FSEOF; flux sampling.
- YAML I/O following the cobra standard, plus geckopy's
ec-*enzyme-constrained fields; SIF export; RAVEN-style Excel export.
:::{admonition} Design principle :class: tip
The canonical in-memory object is always a {class}cobra.Model. There is no parallel
RAVEN struct and no ravenCobraWrapper-style adapter — RAVEN-specific fields that cobra
doesn't model natively live in cobra's annotation / notes dictionaries. This keeps
raven-python interoperable with the wider COBRA ecosystem.
:::
::::{grid} 1 1 2 2 :gutter: 3
:::{grid-item-card} 🚀 Quickstart :link: guide/quickstart :link-type: doc
Install, load a model, and run your first reconstruction / ftINIT extraction. :::
:::{grid-item-card} 🧭 Coming from MATLAB RAVEN? :link: reference/migration :link-type: doc
The function-by-function map from RAVEN to raven-python (and cobrapy). :::
:::{grid-item-card} 📚 User guide :link: guide/index :link-type: doc
Task-oriented how-tos for each capability — reconstruction, tINIT, tasks, omics, … :::
:::{grid-item-card} 🔍 API reference :link: reference/api/index :link-type: doc
Every public function and class, generated from the docstrings. ::: ::::
raven-python has been validated against MATLAB RAVEN on Human-GEM (5 Hart2015 cell-line models, Jaccard 0.975–0.980 — see the Human-GEM validation study). The functional scope of the original toolbox is covered, with two principled omissions: MetaCyc-based reconstruction (flagged for removal from MATLAB RAVEN too) and dynamic FBA (well covered by other maintained Python packages). What's still open is catalogued in the to-do list.
:hidden:
:caption: Getting started
guide/quickstart
installation
:hidden:
:caption: User guide
guide/index
:hidden:
:caption: Reference
reference/index
:hidden:
:caption: Studies & validation
studies/index
:hidden:
:caption: Maintenance
maintenance/index
:hidden:
:caption: Project
reference/changelog
reference/todo
reference/known_issues
:hidden:
:caption: Design archive
archive/ftinit_review_and_plan
archive/localization_design
archive/plan_get_model_from_homology