Metadata-Version: 2.3
Name: corneto
Version: 0.9.1a6
Summary: CORNETO
Home-page: https://github.com/saezlab/corneto/
License: GPLv3
Author: Pablo Rordriguez-Mier
Author-email: pablo.rodriguez-mier@uni-heidelberg.de
Requires-Python: >=3.9,<3.14
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Provides-Extra: all-backends
Provides-Extra: cbc
Provides-Extra: cvxpy
Provides-Extra: default
Provides-Extra: full
Provides-Extra: gurobi
Provides-Extra: picos
Requires-Dist: PySCIPOpt (>=5.2.1,<6.0.0)
Requires-Dist: cvxpy-base (>=1.6.0,<2.0.0) ; extra == "default"
Requires-Dist: gurobipy (>=12.0.1,<13.0.0) ; extra == "default" or extra == "gurobi"
Requires-Dist: highspy (>=1.9.0,<2.0.0)
Requires-Dist: matplotlib (>=3.5.2,<4.0.0) ; extra == "full"
Requires-Dist: networkx (>=2.7.1,<3.0.0) ; extra == "full"
Requires-Dist: numpy (>=1.16)
Project-URL: Repository, https://github.com/saezlab/corneto/
Description-Content-Type: text/markdown

# CORNETO: An unified network learning framework from biological prior knowledge <img src="https://github.com/pablormier/resources/raw/main/images/logos/corneto-logo-512px.png" align="right" height="200" alt="logo">
<!-- badges: start -->
[![main](https://github.com/saezlab/corneto/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/saezlab/corneto/actions)
<!-- badges: end -->

CORNETO (CORe NETwork Optimization) is an unified network inference framework implemented in Python library that models biological network inference problems using convex and combinatorial optimization. It offers a comprehensive framework that facilitates the design and formulation of common optimization problems related to inference of biological networks from omics data. The library leverages domain-specific language frameworks, such as [CVXPY](https://www.cvxpy.org/index.html) or [PICOS](https://picos-api.gitlab.io/picos/), to translate high-level problem specifications in a clear manner and solves the problem using a wide range of supported free and commercial solvers.

> **NOTE**: This is an early preview of the library, which includes a very limited subset of methods for signalling, and an early version of the API to build optimization problems. We're currently working towards having a final version including additional and novel methods.

## Installation

The library will be uploaded to pypi once the API is stable. Meanwhile, it can be installed by downloading the wheel file from the repository. It's recommended to use also conda to create a new environment, although it's not mandatory.

### Recommended setup

CORNETO does not include any backend nor solver by default to avoid issues with architectures for which some of the required binaries are not available. The recommended setup for CORNETO requires CVXPY and Gurobi:

```bash
pip install corneto cvxpy gurobipy
```

Please note that **GUROBI is a commercial solver which offers free academic licenses**. If you have an academic email, this step is very easy to do in just few minutes: https://www.gurobi.com/features/academic-named-user-license/. 
Alternatively, it is possible to use CORNETO with any free solver, such as HIGHS, included in Scipy. To install CORNETO with support for HIGHs, you only need to install the latest version of scipy:

```bash
pip install corneto cvxpy scipy
```

> :warning: Please note that without any backend, you can't do much with CORNETO. There are two supported backends right now: [PICOS](https://picos-api.gitlab.io/picos/tutorial.html) and [CVXPY](https://www.cvxpy.org/). Both backends allow symbolic manipulation of expressions in matrix notation. 



## Acknowledgements

CORNETO is developed at the [Institute for Computational Biomedicine](https://saezlab.org) (Heidelberg University). The development of this project is supported by European Union's Horizon 2020 Programme under
PerMedCoE project ([permedcoe.eu](https://permedcoe.eu/)) agreement no. 951773.

<img src="https://raw.githubusercontent.com/saezlab/.github/main/profile/logos/saezlab.png" alt="Saez lab logo" height="64px" style="height:64px; width:auto"> <img src="https://lcsb-biocore.github.io/COBREXA.jl/stable/assets/permedcoe.svg" alt="PerMedCoE logo" height="64px" style="height:64px; width:auto"> <img src="https://www.klinikum.uni-heidelberg.de/typo3conf/ext/site_ukhd/Resources/Public/Images/Logo_ukhd_de.svg" alt="UKHD logo" height="64px" style="height:64px; width:auto">  


