https://github.com/saezlab/corneto
Unified knowledge-driven network inference from omics data
https://github.com/saezlab/corneto
Last synced: 6 months ago
JSON representation
Unified knowledge-driven network inference from omics data
- Host: GitHub
- URL: https://github.com/saezlab/corneto
- Owner: saezlab
- License: gpl-3.0
- Created: 2022-08-10T07:27:19.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2026-02-01T21:57:02.000Z (6 months ago)
- Last Synced: 2026-02-02T00:49:00.252Z (6 months ago)
- Language: Python
- Homepage: https://corneto.org
- Size: 133 MB
- Stars: 91
- Watchers: 3
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
CORNETO: Unified knowledge-driven network inference from omics data.
[Paper](https://www.nature.com/articles/s42256-025-01069-9) | [Documentation](https://saezlab.github.io/corneto/stable) | [Notebooks](https://saezlab.github.io/corneto/stable/tutorials/index.html)
[](https://github.com/saezlab/corneto/stargazers)
[](https://github.com/saezlab/corneto/actions)
---
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:
```bash
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:
```bash
pip install corneto
```
### Optional dependencies
CORNETO provides several optional dependency groups:
- **`research`**: Full research stack with Gurobi, PICOS, visualization, and network tools
- **`os`**: Open-source solvers (SCIP, HiGHS) with visualization and network tools
- **`ml`**: Machine learning dependencies (JAX, Keras, scikit-learn)
Install any combination with:
```bash
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](https://www.gurobi.com/documentation/). After installation, you can verify that Gurobi is correctly set up by running:
```python
from corneto.utils import check_gurobi
check_gurobi()
```
### Development Installation
If you plan to contribute to CORNETO, we recommend using [Poetry](https://python-poetry.org) for dependency management.
```bash
git clone https://github.com/saezlab/corneto.git
cd corneto
poetry install --with dev
```
### Legacy Compatibility
The stable version used by [LIANA+](https://liana-py.readthedocs.io/) and [NetworkCommons](https://networkcommons.readthedocs.io/) 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](https://saezlab.org) (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/)