{"id":24528965,"url":"https://github.com/saezlab/corneto","last_synced_at":"2026-02-07T12:03:01.833Z","repository":{"id":75692600,"uuid":"523244099","full_name":"saezlab/corneto","owner":"saezlab","description":"Unified knowledge-driven network inference from omics data","archived":false,"fork":false,"pushed_at":"2026-02-01T21:57:02.000Z","size":139721,"stargazers_count":91,"open_issues_count":5,"forks_count":10,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-02-02T00:49:00.252Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://corneto.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saezlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-08-10T07:27:19.000Z","updated_at":"2026-01-16T04:26:36.000Z","dependencies_parsed_at":"2024-01-03T11:35:10.138Z","dependency_job_id":"ca3a3b53-2abd-442b-bc13-18d5cd5c0ccd","html_url":"https://github.com/saezlab/corneto","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/saezlab/corneto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saezlab%2Fcorneto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saezlab%2Fcorneto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saezlab%2Fcorneto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saezlab%2Fcorneto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saezlab","download_url":"https://codeload.github.com/saezlab/corneto/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saezlab%2Fcorneto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29194007,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-22T07:34:14.244Z","updated_at":"2026-02-07T12:03:01.828Z","avatar_url":"https://github.com/saezlab.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"corneto logo\" src=\"https://raw.githubusercontent.com/saezlab/corneto-data/refs/heads/main/assets/logo/corneto-logo-512px.png\" height=\"200\"/\u003e\n\u003cbr\u003e\n\u003ch3\u003eCORNETO: Unified knowledge-driven network inference from omics data.\u003c/h3\u003e\n\n\n\u003ch4\u003e\n\n[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)\n\n\u003c/h4\u003e\n\n\u003c!-- badges: start --\u003e\n[![GitHub stars](https://img.shields.io/github/stars/saezlab/corneto)](https://github.com/saezlab/corneto/stargazers)\n[![main](https://github.com/saezlab/corneto/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/saezlab/corneto/actions)\n\u003c!-- badges: end --\u003e\n\n\u003c/div\u003e\n\n\n---\n\nCORNETO 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.\n\n## Why CORNETO?\n\n| Feature | Why it matters |\n|---|---|\n| 🧩 **Unified optimisation core** | Express causal signaling, FBA, PCSF \u0026 more with the same primitives. |\n| 🎯 **Exact, solver-backed answers** | LP/MILP formulations guarantee optimality |\n| 📊 **Multi-sample power** | Borrow strength across conditions for cleaner, comparable subnetworks. |\n| 🔧 **Modular \u0026 extensible** | Plug-in new constraints, priors, or scoring functions in a few lines of code. |\n| ⚡ **Multi-backend** | Supports CVXPY and PICOS backends with dozens of mathematical solvers. |\n\n\n\n## 🚀 Installation\n\n### Recommended Installation\n\nFor most users, we recommend creating a conda environment and installing the research flavor:\n\n```bash\nconda create -n corneto python\u003e=3.10\nconda activate corneto\nconda install python-graphviz\npip install corneto[research]\n```\n\nThis installs CORNETO with all research dependencies including Gurobi, PICOS, and visualization libraries.\n\n### Standard Installation\n\nThe minimal installation via pip provides core functionalities:\n\n```bash\npip install corneto\n```\n\n### Optional dependencies\n\nCORNETO provides several optional dependency groups:\n\n- **`research`**: Full research stack with Gurobi, PICOS, visualization, and network tools\n- **`os`**: Open-source solvers (SCIP, HiGHS) with visualization and network tools\n- **`ml`**: Machine learning dependencies (JAX, Keras, scikit-learn)\n\nInstall any combination with:\n```bash\npip install corneto[research,ml]  # Multiple extras\n```\n\n### Gurobi Installation\n\nFor 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:\n\n```python\nfrom corneto.utils import check_gurobi\ncheck_gurobi()\n```\n\n### Development Installation\n\nIf you plan to contribute to CORNETO, we recommend using [Poetry](https://python-poetry.org) for dependency management.\n\n```bash\ngit clone https://github.com/saezlab/corneto.git\ncd corneto\npoetry install --with dev\n```\n\n### Legacy Compatibility\n\nThe 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.\n\n## 🧪 Experiments\n\nNotebooks with the experiments presented in the manuscript are available here: https://github.com/saezlab/corneto-manuscript-experiments\n\n## 🎓 How to cite\n\n```\n@article{Rodriguez-Mier2025,\n\tauthor = {Rodriguez-Mier, Pablo and Garrido-Rodriguez, Martin and Gabor, Attila and Saez-Rodriguez, Julio},\n\ttitle = {Unifying multi-sample network inference from prior knowledge and omics data with CORNETO},\n\tjournal = {Nature Machine Intelligence},\n\tyear = {2025},\n\tdoi = {10.1038/s42256-025-01069-9},\n\turl = {https://www.nature.com/articles/s42256-025-01069-9}\n}\n```\n\n## 🙏 Acknowledgements\n\nCORNETO 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/)\n\n\u003cdiv align=\"left\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/saezlab/.github/main/profile/logos/saezlab.png\" alt=\"Saez lab logo\" height=\"64px\" style=\"margin: 0 20px;\"\u003e\n  \u003cimg src=\"https://yt3.googleusercontent.com/ytc/AIf8zZSHTQJs12aUZjHsVBpfFiRyrK6rbPwb-7VIxZQk=s176-c-k-c0x00ffffff-no-rj\" alt=\"UKHD logo\" height=\"64px\" style=\"margin: 0 20px;\"\u003e\n  \u003cimg src=\"https://lcsb-biocore.github.io/COBREXA.jl/stable/assets/permedcoe.svg\" alt=\"PerMedCoE logo\" height=\"64px\" style=\"margin: 0 20px;\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/saezlab/corneto/refs/heads/main/docs/_static/decider-eu-logo.png\" alt=\"UKHD logo\" height=\"64px\" style=\"margin: 0 20px;\"\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaezlab%2Fcorneto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaezlab%2Fcorneto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaezlab%2Fcorneto/lists"}