Utility functions to work with Omnipath in R
.
OmnipathR is an R
package built to provide easy access to the data stored
in the Omnipath webservice:
The webservice implements a very simple REST style API. This package make requests by the HTTP protocol to retreive the data. Hence, fast Internet access is required for a proper use of OmnipathR.
The package also provides some utility functions to filter, analyse and visualize the data.
We provide here a brief summary about the data available through OmnipathR. OmnipathR provides access to 5 types of queries:
- Interactions: protein-protein interactions from different datasets.
- Post-translational modifications (PTMs): enzyme-substrate interactions.
- Complexes: comprehensive database of more than 22000 protein complexes.
- Annotations: large variety of data about proteins and complexes features.
- Intercell: information on the roles in inter-cellular signaling.
For a more detailed information, we recommend you to visit the following sites:
https://github.com/saezlab/pypath/blob/master/webservice.rst
https://github.com/saezlab/OmnipathR/blob/master/vignettes/OmnipathR.pdf
First of all, you need a current version of R
(http://www.r-project.org).
OmnipathR is a freely available package deposited on
https://github.com/saezlab/OmnipathR
You can install it by using the the devtools
package by running the following
commands on a R
console:
if(!require(devtools)) install.packages("devtools")
devtools::install_github("saezlab/omnipathR")
Or download, unzip and install the package from the source files:
install.packages('./OmnipathR',repo=NULL)
To get started, we strongly recommend to read our vignette in order to deal with the different types of queries and handle the data they return:
https://github.com/saezlab/OmnipathR/blob/master/vignettes/OmnipathR.pdf
You can also check the manual:
https://github.com/saezlab/OmnipathR/blob/master/Manual_OmnipathR_0.2.0.pdf
In addition, we provide here some examples for a quick start:
library(OmnipathR)
library(igraph)
Download human protein-protein interactions for some source databases:
interactions <-
import_Omnipath_Interactions(filter_databases=c("SignaLink3","PhosphoSite",
"Signor"))
Download human post-translational modifications for some source databases:
ptms <- import_Omnipath_PTMS(filter_databases=c("PhosphoSite", "Signor"))
Convert both data frames into networks (igraph
objects)
ptms_g = ptms_graph(ptms = ptms )
OPI_g = interaction_graph(interactions = interactions )
Print some interactions in a nice format:
print_interactions(head(interactions))
source interaction target nsources nrefs
1 UBC (P0CG48) ==( ? )==> IKBKG (Q9Y6K9) 5 41
2 IKBKG (Q9Y6K9) ==( ? )==> UBC (P0CG48) 5 41
4 PINK1 (Q9BXM7) ==( + )==> UBC (P0CG48) 5 19
3 UBC (P0CG48) ==( + )==> PRKN (O60260) 3 16
5 UBC (P0CG48) ==( ? )==> TNFAIP3 (P21580) 5 14
6 TNFAIP3 (P21580) ==( ? )==> UBC (P0CG48) 5 14
Find interactions between a specific kinase and a specific substrate:
print_interactions(dplyr::filter(ptms,enzyme_genesymbol=="MAP2K1",
substrate_genesymbol=="MAPK3"))
enzyme interaction substrate modification nsources
4 MAP2K1 (Q02750) ====> MAPK3_Y204 (P27361) phosphorylation 6
3 MAP2K1 (Q02750) ====> MAPK3_T202 (P27361) phosphorylation 6
1 MAP2K1 (Q02750) ====> MAPK3_Y210 (P27361) phosphorylation 1
2 MAP2K1 (Q02750) ====> MAPK3_T207 (P27361) phosphorylation 1
Find shortest paths on the directed network between proteins:
printPath_es(shortest_paths(OPI_g,from = "TYRO3",to = "STAT3", output = 'epath')$epath[[1]],OPI_g)
source interaction target nsources nrefs
1 TYRO3 (Q06418) ==( + )==> GRB2 (P62993) 1 1
2 GRB2 (P62993) ==( + )==> EGFR (P00533) 11 63
3 EGFR (P00533) ==( + )==> STAT3 (P40763) 10 21
Find all shortest paths between proteins:
printPath_vs(all_shortest_paths(OPI_g,from = "DYRK2",to = "MAPKAPK2")$res,OPI_g)
[1] "pathway 1: DYRK2 -> TP53 -> MAPK3 -> MAPKAPK2"
source interaction target nsources nrefs
1 DYRK2 (Q92630) ==( + )==> TP53 (P04637) 7 100
2 TP53 (P04637) ==( - )==> MAPK3 (P27361) 5 3
3 MAPK3 (P27361) ==( + )==> MAPKAPK2 (P49137) 4 4
[1] "pathway 2: DYRK2 -> TP53 -> MAPK14 -> MAPKAPK2"
source interaction target nsources nrefs
1 DYRK2 (Q92630) ==( + )==> TP53 (P04637) 7 100
2 TP53 (P04637) ==( ? )==> MAPK14 (Q16539) 5 7
3 MAPK14 (Q16539) ==( + )==> MAPKAPK2 (P49137) 21 27
[1] "pathway 3: DYRK2 -> TP53 -> MAPK1 -> MAPKAPK2"
source interaction target nsources nrefs
1 DYRK2 (Q92630) ==( + )==> TP53 (P04637) 7 100
2 TP53 (P04637) ==( ? )==> MAPK1 (P28482) 7 8
3 MAPK1 (P28482) ==( + )==> MAPKAPK2 (P49137) 10 9
Feedbacks and bugreports are always very welcomed!
Please use the Github issue page to report bugs or for questions:
https://github.com/saezlab/OmnipathR/issues
Many thanks for using OmnipathR!