An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          


corneto logo


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)

[![GitHub stars](https://img.shields.io/github/stars/saezlab/corneto)](https://github.com/saezlab/corneto/stargazers)
[![main](https://github.com/saezlab/corneto/actions/workflows/unit-tests.yml/badge.svg)](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/)


Saez lab logo
UKHD logo
PerMedCoE logo
UKHD logo