Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

corneto logo

CORNETO: Unified knowledge-driven network inference from omics data.

Paper | Documentation | Notebooks

GitHub stars main


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.11
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:

  • plot: Graphviz, NetworkX, and Matplotlib visualization support
  • 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:

pip install corneto[plot]         # Visualization without the full research stack
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/)

Saez lab logo UKHD logo PerMedCoE logo UKHD logo

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

corneto-1.0.0rc3.tar.gz (204.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

corneto-1.0.0rc3-py3-none-any.whl (258.9 kB view details)

Uploaded Python 3

File details

Details for the file corneto-1.0.0rc3.tar.gz.

File metadata

  • Download URL: corneto-1.0.0rc3.tar.gz
  • Upload date:
  • Size: 204.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for corneto-1.0.0rc3.tar.gz
Algorithm Hash digest
SHA256 0bf330a2243bb518c37294abaff032dd2c7ae847ef07d09f21eb1aaed12ddc8e
MD5 79dc2c2a39d76809f0bf7e1e8d4cff30
BLAKE2b-256 bbb23d5d69b60bc7cef1b51a0188602d66e96b571a3ff179279984ccf5e9e60f

See more details on using hashes here.

Provenance

The following attestation bundles were made for corneto-1.0.0rc3.tar.gz:

Publisher: build-and-publish.yml on saezlab/corneto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file corneto-1.0.0rc3-py3-none-any.whl.

File metadata

  • Download URL: corneto-1.0.0rc3-py3-none-any.whl
  • Upload date:
  • Size: 258.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for corneto-1.0.0rc3-py3-none-any.whl
Algorithm Hash digest
SHA256 1108391aa23615c80096cc76146ab01adeb2190f7adb85f8956ab30263229d1f
MD5 558a017c10029dfd7b6c0d91db653199
BLAKE2b-256 0ca87b86ffc2e379110a827c0c8796c4b0e571471b8ce37eea8130345101c071

See more details on using hashes here.

Provenance

The following attestation bundles were made for corneto-1.0.0rc3-py3-none-any.whl:

Publisher: build-and-publish.yml on saezlab/corneto

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page