Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,64 @@ Milestones in the raven-toolbox port. For function-level status see
[docs/raven_migration.md](https://github.com/CompMetEng/raven-toolbox/blob/develop/docs/reference/migration.md); for open work see
[docs/todo.md](https://github.com/CompMetEng/raven-toolbox/blob/develop/docs/reference/todo.md).

## 3.0.0b2 — 2026-10-19

Second beta toward 3.0. The main changes are RAVEN-format model export, SuppOrth homology input,
and a stricter match to RAVEN in homology and gap-filling.

### Model I/O

* `io.write_matlab_model` / `read_matlab_model` now write and read the RAVEN structure directly,
field for field as RAVEN's own exporter does, instead of cobra's COBRA Toolbox layout. A
COBRA Toolbox `.mat` is still read, through cobra's reader.
* SBML export keeps `subSystems`, `rxnNotes`, `rxnReferences` and `rxnConfidenceScores` under the
names RAVEN's `importModel` parses. It no longer writes the Python repr of `metaData` as a
note: only string-valued notes are written, and the model version and date are their own notes.
* `read_yaml_model` reads the SBO term as a string and whole-number charges as ints, so charges
survive an SBML write.
* The Excel export no longer lists InChI twice in the MIRIAM column.
* New: `get_model_metadata` / `set_model_metadata`. `export_for_git` writes version and date.

### Homology and curation

* New: `reconstruction.homology.hits_from_supporth` and `run_supporth` read SuppOrth consensus
orthologs as homology input.
* `get_model_from_homology` now matches RAVEN's `getModelFromHomology`: it keeps every hit tied
for the best bitscore at strictness 3, applies `max_evalue` exclusively, and filters
`only_genes_in_models` on the template gene. Hit values are parsed with round-trip float
precision, so a hit at the cutoff is no longer let through.
* `get_model_from_homology` also keeps gene-free reactions and template notes, drops duplicate
genes, and raises on gene ids that cobra would split.
* `curation.batch_curate` stores notes, references, confidence score and InChI under the keys
the YAML layer uses.

### Gap-filling and analysis

* Renamed `gapfilling.fill_gaps_kumar_milp` to `fill_gaps_milp` (module `gapfilling.kumar_milp`
to `gapfilling.milp`, `KumarGapFillResult` to `MILPGapFillResult`), matching RAVEN's
`gapFillMILP`. It adds template reactions only; `reversed_reactions` and `weights` are removed.
* `fill_gaps_milp` runs with integrality tolerance 1e-9 and returns `exit_status="not_restored"`
when the selection does not restore growth. An infeasible MILP on Gurobi no longer crashes.
* `gap_report` raises a `ValueError` naming reactions with a forced flux when the model is
infeasible, instead of a bare cobra `Infeasible`.
* `biomass.scale_biomass` gained `target_total` and raises before changing the model when the
balancing component cannot absorb the change.

### Context-specific models

* `omics.hpa` moved to `init.hpa`; the `omics` package is gone.
* `init.ftinit` / `run_ftinit` gained `feas_tol`, `opt_tol`, `int_feas_tol` and `presolve`
(defaults unchanged).
* `init.ftinit` skips the tie-break when the primary solve stops at the time limit, and warns
when it solves with GLPK. `merge_linear` and `merge_compartments` keep the source model's solver.

### Packaging and docs

* Assets are downloaded from `CompMetEng/toolbox-assets`; `publish_to_raven_data.py` is now
`publish_to_toolbox_assets.py`.
* Docstrings corrected for `reporter_metabolites`, `random_sampling`, `remove_no_flux_reactions`,
`check_tasks`, `connect_blocked_reactions` and `find_leak_metabolite`.

## 3.0.0b1 — 2026-09-07

First beta toward 3.0, matching the upcoming MATLAB RAVEN 3.0 beta.
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ COBRA ecosystem.

## Status

**raven-toolbox 3.0.0b1** is out — the first beta toward 3.0, tracking the upcoming MATLAB
RAVEN 3.0 beta ([release notes](https://github.com/CompMetEng/raven-toolbox/releases/tag/v3.0.0b1),
**raven-toolbox 3.0.0b2** is out — the second beta toward 3.0, tracking the upcoming MATLAB
RAVEN 3.0 beta ([release notes](https://github.com/CompMetEng/raven-toolbox/releases/tag/v3.0.0b2),
[changelog](CHANGELOG.md)). It 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](https://github.com/CompMetEng/raven-docs/blob/main/docs/parameter-tuning/studies/humangem-validation.md)
Expand All @@ -66,7 +66,7 @@ pip install raven-toolbox
```

That installs the latest **stable** release. PyPI pre-releases are opt-in, so get the
3.0.0b1 beta with:
3.0.0b2 beta with:

```bash
pip install --pre raven-toolbox
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ build-backend = "hatchling.build"

[project]
name = "raven-toolbox"
version = "3.0.0b1"
version = "3.0.0b2"
description = "Reconstruction, Analysis and Visualization of Metabolic Networks in Python, a port of the RAVEN Toolbox built on cobrapy"
readme = "README.md"
requires-python = ">=3.11"
Expand Down
Loading