Python client for the OmniPath web service

saezlab, updated 🕥 2022-12-26 10:23:09

|PyPI| |Downloads| |CI| |Docs| |Coverage|

Python client for the OmniPath web service


You can install omnipath by running::

pip install omnipath

The OmniPath database

OmniPath is a database of:

  • Protein-protein, TF target and miRNA-mRNA interactions
  • Enzyme-PTM relationships
  • Protein complexes
  • Annotations of protein function, structure, localization, expression
  • Intercellular communication roles of proteins

To learn more about OmniPath, you can visit its website, or read our recent preprint or our first paper from 2016, especially its supplementary material.

The Python client

The data is available through a web service hosted on this website_. This repository hosts a Python package for querying this web service and downloading data into data frames or dictionaries.

The Python package for OmniPath is pypath, isn't it?

pypath_ is a tool for building the OmniPath databases in a fully customizable way. We recommend to use pypath if you want to:

  • Tailor the database building to your needs
  • Include resources not available in the public web service
  • Use the rich Python APIs available for the database objects
  • Make sure the data from the original sources is the most up-to-date
  • Use the methods in pypath.inputs to download data from resources
  • Use the various extra tools in pypath.utils, e.g. for identifier translation, homology translation, querying Gene Ontology, working with protein sequences, processing BioPAX, etc.

Is there an R client?

Yes there is. The R/Bioconductor package OmnipathR you may find on GitHub <> or in Bioconductor <>. The R client currently supports all features of the web service.


We even have a Cytoscape plug-in_. With the plug-in you are able to load networks into Cytoscape and access certain (not all) annotations of the proteins.

.. |PyPI| image:: :target: :alt: PyPI

.. |Downloads| image:: :target: :alt: Downloads

.. |CI| image:: :target: :alt: CI

.. |Coverage| image:: :target: :alt: Coverage

.. |Docs| image:: :target: :alt: Documentation

.. _website : .. _Cytoscape plug-in : .. _pypath : .. _preprint : .. _paper from 2016 : .. _supplementary material :


"ChunkedEncodingError" when running dc.get_resource('MSigDB')

opened on 2023-03-07 15:08:34 by alexandregrimaldi

Hi, when I try to retrieve msigdb data from decoupleR using the dc.get_resource('MSigDB') function, I get this ChunkedEncodingError: ('Connection broken: IncompleteRead(4751 bytes read, 3445 more expected)', IncompleteRead(4751 bytes read, 3445 more expected)).

How can I verify pathways linked to a specific ligand/receptor or protein/protein interaction?

opened on 2022-11-03 10:35:09 by mgrantpeters

Hello, thank you for the fantastic omnipath/pypath resource. I have found it very useful for understanding ligand-receptor interactions, but have struggled to find pathway information attached to these - going through the available vignettes in your page, the closest I can find is retrieving the SignaLink pathway:

op.requests.Annotations.get(proteins='ProteinHere', resources="SignaLink_pathway", genesymbols=True)

While this provides me information of pathways associated with a particular protein, I have not been able to retrieve information about pathways a particular ligand-receptor pair trigger downstream. Can this information be retrieved from omnipath? If so, could you point me to any resources (specific databases in omnipath, vignettes) that will help me do this? Apologies if this information is available elsewhere and I have missed it somehow - thank you for your time.

source, target, ligand and receptor

opened on 2022-09-06 03:36:25 by wangjiawen2013

Hi, I am confused with some glossaries (source, target, ligand and receptor), and here is an related issue.

omnipath connection on Amazon web service and my PC

opened on 2022-07-26 13:49:23 by sophieRAIBAUD

Dear all again many thanks for your help on spatial transcriptomic data ....

I have some trouble using : error message: Failed to establish a new connection: [Errno 110] Connection timed out' But I can connect to omnipath using : wget --no-check-certificate instead of: wget is there a way to add the option no-check-certificate in the function ? I have tried to releave the security using os.environ["PYTHONHTTPSVERIFY"]="0" but it does not work Many thanks Sophie

set species

opened on 2022-06-14 09:57:32 by wangjiawen2013

Hi, I have downloaded omnipat database with this chunk of code (

```python import squidpy as sq import omnipath as op

adata = sq.datasets.visium_fluo_adata_crop() cluster_key = 'cluster'

df = op.interactions.import_intercell_network( transmitter_params={"categories": "ligand"}, receiver_params={"categories": "receptor"} )

df['source'] = df['genesymbol_intercell_source'] #rename sources and targets df['target'] = df['genesymbol_intercell_target'], cluster_key=cluster_key, interactions=df) res = adata.uns[f"{cluster_key}_ligrec"] ```

Is it a human database or mouse database ? How to specify the species in function interactions.import_intercell_network() ? It seems that it can be set in omnipath R package:

Copy new intercell related procedures from the R package

opened on 2022-04-19 21:41:28 by deeenes

I am just writing this as a note, and once @michalk8, me or someone else will have a little time, it would be great to implement these methods here.

Based on the experiences of working with cell-cell communication, we created these new solutions in OmnipathR:

  • Quality filters for the OmniPath intercell network, based on the amount and consensus of evidences, and the localization of proteins (here and here)
  • A shortcut to simply retrieve all curated ligand-receptor network resources almost without any modification (here)
Saez Lab

Systems Biomedicine - Julio Saez-Rodriguez's group

GitHub Repository Homepage