OmnipathR

repository·master·Indexed 41 days ago

https://github.com/saezlab/omnipathr

An R client for the OmniPath web service that provides access to biological interactions, including protein-protein interactions (PPI), post-translational modifications (PTM), complexes, protein annotations, and intercellular signaling roles. It includes functions like omnipath() and enzyme_substrate() for data retrieval, and tools to convert interaction data into igraph network objects.

Tokens
808
Snippets
6
Records
7
Agent score
2%

What's inside OmnipathR

  1. Overview of OmniPath query types

    master

    OmnipathR provides access to five main types of queries via the OmniPath web service:

    1. Interactions: Protein-protein interactions from various datasets.
    2. Enzyme-substrate: Enzyme-PTM (post-translational modification) relationships.
    3. Complexes: A database of over 22,000 protein complexes.
    4. Annotations: Data regarding protein and complex features.
    5. Intercell: Information on intercellular signaling roles.
  2. Install OmnipathR from GitHub

    master

    If you need the most recent features that are not yet available in the Bioconductor release, you can install the package directly from GitHub using devtools.

    require(devtools)
    install_github('saezlab/OmnipathR')
    require(devtools)
    install_github('saezlab/OmnipathR')
  3. Install OmnipathR from Bioconductor

    master

    You can install the stable version of OmnipathR using BiocManager. Ensure you have a current version of R installed.

    To install the last official release from Bioconductor:

    if (!requireNamespace('BiocManager', quietly = TRUE))
        install.packages('BiocManager')
    
    BiocManager::install('OmnipathR', version = '3.12')

    To install the development version with the latest updates:

    BiocManager::install('OmnipathR', version = 'devel')
    if (!requireNamespace('BiocManager', quietly = TRUE))
        install.packages('BiocManager')
    
    BiocManager::install('OmnipathR', version = '3.12')
  4. Find shortest paths in an interaction network

    master

    Once you have an igraph object (e.g., created via interaction_graph), you can find shortest paths between proteins.

    Single shortest path:

    # Find the shortest path between TYRO3 and STAT3
    print_path_es(shortest_paths(OPI_g, from = 'TYRO3', to = 'STAT3', output = 'epath')$epath[[1]], OPI_g)

    All shortest paths:

    # Find all shortest paths between DYRK2 and MAPKAPK2
    print_path_vs(all_shortest_paths(OPI_g, from = 'DYRK2', to = 'MAPKAPK2')$res, OPI_g)
    print_path_es(shortest_paths(OPI_g, from = 'TYRO3', to = 'STAT3', output = 'epath')$epath[[1]], OPI_g)
    
    print_path_vs(all_shortest_paths(OPI_g, from = 'DYRK2', to = 'MAPKAPK2')$res, OPI_g)
  5. Query enzyme-substrate relationships with `enzyme_substrate()`

    master

    Use the enzyme_substrate() function to retrieve enzyme-PTM (post-translational modification) relationships.

    library(OmnipathR)
    
    # Download human enzyme-PTM relationships from specified resources
    enzsub <- enzyme_substrate(resources = c('PhosphoSite', 'SIGNOR'))
    library(OmnipathR)
    
    enzsub <- enzyme_substrate(resources = c('PhosphoSite', 'SIGNOR'))
  6. Convert interaction data to igraph objects

    master

    You can convert data frames returned by omnipath() or enzyme_substrate() into igraph network objects using interaction_graph() and ptms_graph().

    # Convert enzyme-PTM data to a graph
    ptms_g = ptms_graph(ptms = enzsub)
    
    # Convert protein-protein interaction data to a graph
    OPI_g = interaction_graph(interactions = interactions)
    ptms_g = ptms_graph(ptms = enzsub)
    OPI_g = interaction_graph(interactions = interactions)
  7. Query protein-protein interactions with `omnipath()`

    master

    Use the omnipath() function to retrieve protein-protein interactions from specific datasets (resources).

    library(OmnipathR)
    
    # Download human protein-protein interactions from specified resources
    interactions <- omnipath(
        resources = c('SignaLink3', 'PhosphoSite', 'SIGNOR')
    )
    library(OmnipathR)
    
    interactions <- omnipath(
        resources = c('SignaLink3', 'PhosphoSite', 'SIGNOR')
    )