CORNETO: A Unified Framework for Omics-Driven Network Inference
Project description
CORNETO: Unified knowledge-driven network inference from omics data.
CORNETO is a Python framework for inferring biological networks from omics data by framing them as optimisation problems. It provides a unified, flexible, and extensible API to solve a wide range of network inference problems, including signalling pathway and metabolic model reconstruction.
Why CORNETO?
| Feature | Why it matters |
|---|---|
| 🧩 Unified optimisation core | Express causal signaling, FBA, PCSF & more with the same primitives. |
| 🎯 Exact, solver-backed answers | LP/MILP formulations guarantee optimality |
| 📊 Multi-sample power | Borrow strength across conditions for cleaner, comparable subnetworks. |
| 🔧 Modular & extensible | Plug-in new constraints, priors, or scoring functions in a few lines of code. |
| ⚡ Multi-backend | Supports CVXPY and PICOS backends with dozens of mathematical solvers. |
🚀 Installation
Recommended Installation
For most users, we recommend creating a conda environment and installing the research flavor:
conda create -n corneto python>=3.10
conda activate corneto
conda install python-graphviz
pip install corneto[research]
This installs CORNETO with all research dependencies including Gurobi, PICOS, and visualization libraries.
Standard Installation
The minimal installation via pip provides core functionalities:
pip install corneto
Optional dependencies
CORNETO provides several optional dependency groups:
research: Full research stack with Gurobi, PICOS, visualization, and network toolsos: Open-source solvers (SCIP, HiGHS) with visualization and network toolsml: Machine learning dependencies (JAX, Keras, scikit-learn)
Install any combination with:
pip install corneto[research,ml] # Multiple extras
Gurobi Installation
For research problems, we strongly recommend using the Gurobi solver. Gurobi is a commercial solver that offers free academic licences. To install and configure Gurobi, please refer to the official Gurobi documentation. After installation, you can verify that Gurobi is correctly set up by running:
from corneto.utils import check_gurobi
check_gurobi()
Development Installation
If you plan to contribute to CORNETO, we recommend using Poetry for dependency management.
git clone https://github.com/saezlab/corneto.git
cd corneto
poetry install --with dev
Legacy Compatibility
The stable version used by LIANA+ and NetworkCommons remains available. However, we recommend using the latest version for new projects to access the latest features and improvements described in our manuscript.
🧪 Experiments
Notebooks with the experiments presented in the manuscript are available here: https://github.com/saezlab/corneto-manuscript-experiments
🎓 How to cite
@article{Rodriguez-Mier2025,
author = {Rodriguez-Mier, Pablo and Garrido-Rodriguez, Martin and Gabor, Attila and Saez-Rodriguez, Julio},
title = {Unifying multi-sample network inference from prior knowledge and omics data with CORNETO},
journal = {Nature Machine Intelligence},
year = {2025},
doi = {10.1038/s42256-025-01069-9},
url = {https://www.nature.com/articles/s42256-025-01069-9}
}
🙏 Acknowledgements
CORNETO is developed at the Institute for Computational Biomedicine (Heidelberg University). We acknowledge funding from the European Unions Horizon 2020 Programme under the grant agreement No 951773 (PerMedCoE https://permedcoe.eu/) and under grant agreement No 965193 (DECIDER https://www.deciderproject.eu/)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file corneto-1.0.0b4.tar.gz.
File metadata
- Download URL: corneto-1.0.0b4.tar.gz
- Upload date:
- Size: 227.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18b2cc5b9dbdfdfa6e1c5423b50af77d47b3f7df4fa2c84b502d81884b0e04fe
|
|
| MD5 |
ea5d09c3406fd08cb3e2af007f366ac5
|
|
| BLAKE2b-256 |
89d3280d87ba49867669fc014d01e3b36e6584cee36f4396ea04e256e801dc32
|
Provenance
The following attestation bundles were made for corneto-1.0.0b4.tar.gz:
Publisher:
build-and-publish.yml on saezlab/corneto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
corneto-1.0.0b4.tar.gz -
Subject digest:
18b2cc5b9dbdfdfa6e1c5423b50af77d47b3f7df4fa2c84b502d81884b0e04fe - Sigstore transparency entry: 926822129
- Sigstore integration time:
-
Permalink:
saezlab/corneto@8a7c6c3df67d4d480b54e27f527858b2f53c66b0 -
Branch / Tag:
refs/tags/v1.0.0-beta.4 - Owner: https://github.com/saezlab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-publish.yml@8a7c6c3df67d4d480b54e27f527858b2f53c66b0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file corneto-1.0.0b4-py3-none-any.whl.
File metadata
- Download URL: corneto-1.0.0b4-py3-none-any.whl
- Upload date:
- Size: 285.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4b0cb1b8a61294d61251bdce0d7ea714cbc5881ae97740ebcc3e13851c91180
|
|
| MD5 |
ce655269056f8bd0d1f815d793ee5446
|
|
| BLAKE2b-256 |
9942e9b6881c1b6785f29150c9af965111def7a336c68a751f0b7e2cdb8c10d5
|
Provenance
The following attestation bundles were made for corneto-1.0.0b4-py3-none-any.whl:
Publisher:
build-and-publish.yml on saezlab/corneto
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
corneto-1.0.0b4-py3-none-any.whl -
Subject digest:
b4b0cb1b8a61294d61251bdce0d7ea714cbc5881ae97740ebcc3e13851c91180 - Sigstore transparency entry: 926822131
- Sigstore integration time:
-
Permalink:
saezlab/corneto@8a7c6c3df67d4d480b54e27f527858b2f53c66b0 -
Branch / Tag:
refs/tags/v1.0.0-beta.4 - Owner: https://github.com/saezlab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
build-and-publish.yml@8a7c6c3df67d4d480b54e27f527858b2f53c66b0 -
Trigger Event:
push
-
Statement type: