Metadata-Version: 2.4
Name: omnipath-utils
Version: 0.1.1
Summary: ID translation, taxonomy, orthology and reference lists for molecular biology
Project-URL: Documentation, https://saezlab.github.io/omnipath-utils
Project-URL: Homepage, https://github.com/saezlab/omnipath-utils
Project-URL: Issues, https://github.com/saezlab/omnipath-utils/issues
Project-URL: Repository, https://github.com/saezlab/omnipath-utils
Author-email: Denes Turei <turei.denes@gmail.com>
Maintainer-email: Denes Turei <turei.denes@gmail.com>
License-Expression: GPL-3.0-or-later
License-File: LICENSE
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Requires-Python: >=3.10
Requires-Dist: cachedir>=0.1.2
Requires-Dist: dlmachine>=0.0.2
Requires-Dist: narwhals>=1.0
Requires-Dist: pkg-infra>=0.1.1
Requires-Dist: platformdirs>=4.0
Requires-Dist: pydantic>=2.0
Requires-Dist: requests>=2.28
Provides-Extra: build
Requires-Dist: asyncpg>=0.29; extra == 'build'
Requires-Dist: psycopg[binary]>=3.0; extra == 'build'
Requires-Dist: pyarrow>=14.0; extra == 'build'
Requires-Dist: sqlalchemy>=2.0; extra == 'build'
Provides-Extra: db
Requires-Dist: asyncpg>=0.29; extra == 'db'
Requires-Dist: psycopg[binary]>=3.0; extra == 'db'
Requires-Dist: sqlalchemy>=2.0; extra == 'db'
Provides-Extra: dev
Requires-Dist: bump2version; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Provides-Extra: docs
Requires-Dist: mkdocs-material>=9.6; extra == 'docs'
Requires-Dist: mkdocs<2,>=1.6; extra == 'docs'
Requires-Dist: mkdocstrings[python]>=0.29; extra == 'docs'
Requires-Dist: pymdown-extensions>=10.15; extra == 'docs'
Provides-Extra: pypath
Requires-Dist: pypath-omnipath>=0.16; extra == 'pypath'
Provides-Extra: server
Requires-Dist: asyncpg>=0.29; extra == 'server'
Requires-Dist: litestar[standard]>=2.0; extra == 'server'
Requires-Dist: psycopg[binary]>=3.0; extra == 'server'
Requires-Dist: sqlalchemy>=2.0; extra == 'server'
Requires-Dist: uvicorn[standard]>=0.30; extra == 'server'
Provides-Extra: tests
Requires-Dist: asyncpg>=0.29; extra == 'tests'
Requires-Dist: coverage>=6.0; extra == 'tests'
Requires-Dist: litestar[standard]>=2.0; extra == 'tests'
Requires-Dist: psycopg[binary]>=3.0; extra == 'tests'
Requires-Dist: pytest-cov; extra == 'tests'
Requires-Dist: pytest>=6.0; extra == 'tests'
Requires-Dist: ruff; extra == 'tests'
Requires-Dist: sqlalchemy>=2.0; extra == 'tests'
Requires-Dist: uvicorn[standard]>=0.30; extra == 'tests'
Description-Content-Type: text/markdown

[![Tests](https://github.com/saezlab/omnipath-utils/actions/workflows/ci-testing-unit.yml/badge.svg)](https://github.com/saezlab/omnipath-utils/actions)

# Utilities for molecular prior-knowledge processing

ID translation, taxonomy, reference lists, orthologous genes, and more. Also
available as a web service: https://utils.omnipathdb.org/

## For most users: use omnipath-client

If you just want to translate IDs, resolve organisms, or access reference
lists, install the lightweight client:

```bash
pip install omnipath-client
```

```python
from omnipath_client.utils import map_name, translate_column
map_name('TP53', 'genesymbol', 'uniprot')  # {'P04637'}
```

The client queries the [utils.omnipathdb.org](https://utils.omnipathdb.org)
web service -- no database setup required, same API as the local package.

Install `omnipath-utils` directly only if you need to run the service
locally or build the database yourself.

## Quick Start

```python
from omnipath_utils.mapping import map_name, map_names
from omnipath_utils.taxonomy import ensure_ncbi_tax_id
from omnipath_utils.reflists import is_swissprot

# Translate gene symbol to UniProt
map_name('TP53', 'genesymbol', 'uniprot')
# {'P04637', ...}

# Translate multiple
map_names(['TP53', 'EGFR'], 'genesymbol', 'uniprot')
# {'P04637', 'P00533', ...}

# Resolve organism
ensure_ncbi_tax_id('human')   # 9606
ensure_ncbi_tax_id('hsapiens') # 9606

# Check if reviewed
is_swissprot('P04637')  # True
```

## Installation

```bash
pip install omnipath-utils
```

With database and web service:

```bash
pip install "omnipath-utils[server]"
```

## Web Service

```bash
omnipath-utils build --organisms 9606
omnipath-utils serve --port 8082
```

```bash
curl "http://localhost:8082/mapping/translate?identifiers=TP53,EGFR&id_type=genesymbol&target_id_type=uniprot"
```

## Documentation

https://saezlab.github.io/omnipath-utils

## License

The package is under the GNU GPLv3 license. This doesn't affect the web service
and data, where each original resource carries its own license, and is
potentially available for commercial use.
