This package is designed for reactome pathway-based analysis. Reactome is an open-source, open access, manually curated and peer-reviewed pathway database.
If you use ReactomePA1 in published research, please cite:
G Yu, QY He*. ReactomePA: an R/Bioconductor package for reactome pathway analysis and visualization. Molecular BioSystems 2016, 12(2):477-479. doi:[10.1039/C5MB00663E](http://dx.doi.org/10.1039/C5MB00663E)
Currently ReactomePA supports several model organisms, including ‘celegans’, ‘fly’, ‘human’, ‘mouse’, ‘rat’, ‘yeast’ and ‘zebrafish’. The input gene ID should be Entrez gene ID. We recommend using clusterProfiler::bitr
to convert biological IDs. For more detail, please refer to bitr: Biological Id TranslatoR.
Enrichment analysis is a widely used approach to identify biological themes. Here, we implement hypergeometric model to assess whether the number of selected genes associated with reactome pathway is larger than expected. The p values were calculated based the hypergeometric model2.
library(ReactomePA)
data(geneList)
de <- names(geneList)[abs(geneList) > 1.5]
head(de)
## [1] "4312" "8318" "10874" "55143" "55388" "991"
x <- enrichPathway(gene=de,pvalueCutoff=0.05, readable=T)
head(as.data.frame(x))
## ID
## R-HSA-69620 R-HSA-69620
## R-HSA-2500257 R-HSA-2500257
## R-HSA-141424 R-HSA-141424
## R-HSA-141444 R-HSA-141444
## R-HSA-69618 R-HSA-69618
## R-HSA-68877 R-HSA-68877
## Description
## R-HSA-69620 Cell Cycle Checkpoints
## R-HSA-2500257 Resolution of Sister Chromatid Cohesion
## R-HSA-141424 Amplification of signal from the kinetochores
## R-HSA-141444 Amplification of signal from unattached kinetochores via a MAD2 inhibitory signal
## R-HSA-69618 Mitotic Spindle Checkpoint
## R-HSA-68877 Mitotic Prometaphase
## GeneRatio BgRatio pvalue p.adjust qvalue
## R-HSA-69620 37/317 293/10513 9.088780e-14 6.343968e-11 5.491536e-11
## R-HSA-2500257 23/317 127/10513 3.172506e-12 1.005875e-09 8.707168e-10
## R-HSA-141424 20/317 96/10513 5.764327e-12 1.005875e-09 8.707168e-10
## R-HSA-141444 20/317 96/10513 5.764327e-12 1.005875e-09 8.707168e-10
## R-HSA-69618 21/317 112/10513 1.433433e-11 2.001072e-09 1.732190e-09
## R-HSA-68877 26/317 200/10513 2.793891e-10 3.250226e-08 2.813497e-08
## geneID
## R-HSA-69620 CDC45/CDCA8/MCM10/CDC20/CENPE/CCNB2/NDC80/UBE2C/SKA1/CENPM/CENPN/CCNA2/CDK1/ERCC6L/MAD2L1/KIF18A/BIRC5/AURKB/CHEK1/CCNB1/MCM5/MCM2/KIF2C/CDC25A/CDC6/PLK1/BUB1B/GTSE1/EXO1/ZWINT/CENPU/SPC25/CENPI/CCNE1/ORC6/ORC1/TAOK1
## R-HSA-2500257 CDCA8/CDC20/CENPE/CCNB2/NDC80/SKA1/CENPM/CENPN/CDK1/ERCC6L/MAD2L1/KIF18A/BIRC5/AURKB/CCNB1/KIF2C/PLK1/BUB1B/ZWINT/CENPU/SPC25/CENPI/TAOK1
## R-HSA-141424 CDCA8/CDC20/CENPE/NDC80/SKA1/CENPM/CENPN/ERCC6L/MAD2L1/KIF18A/BIRC5/AURKB/KIF2C/PLK1/BUB1B/ZWINT/CENPU/SPC25/CENPI/TAOK1
## R-HSA-141444 CDCA8/CDC20/CENPE/NDC80/SKA1/CENPM/CENPN/ERCC6L/MAD2L1/KIF18A/BIRC5/AURKB/KIF2C/PLK1/BUB1B/ZWINT/CENPU/SPC25/CENPI/TAOK1
## R-HSA-69618 CDCA8/CDC20/CENPE/NDC80/UBE2C/SKA1/CENPM/CENPN/ERCC6L/MAD2L1/KIF18A/BIRC5/AURKB/KIF2C/PLK1/BUB1B/ZWINT/CENPU/SPC25/CENPI/TAOK1
## R-HSA-68877 CDCA8/CDC20/CENPE/CCNB2/NDC80/NCAPH/SKA1/NEK2/CENPM/CENPN/CDK1/ERCC6L/MAD2L1/KIF18A/BIRC5/NCAPG/AURKB/CCNB1/KIF2C/PLK1/BUB1B/ZWINT/CENPU/SPC25/CENPI/TAOK1
## Count
## R-HSA-69620 37
## R-HSA-2500257 23
## R-HSA-141424 20
## R-HSA-141444 20
## R-HSA-69618 21
## R-HSA-68877 26
For calculation/parameter details, please refer to the vignette of DOSE3..
Pathway analysis using NGS data (eg, RNA-Seq and ChIP-Seq) can be performed by linking coding and non-coding regions to coding genes via ChIPseeker package, which can annotates genomic regions to their nearest genes, host genes, and flanking genes respectivly. In addtion, it provides a function, seq2gene, that simultaneously considering host genes, promoter region and flanking gene from intergenic region that may under control via cis-regulation. This function maps genomic regions to genes in a many-to-many manner and facilitate functional analysis. For more details, please refer to ChIPseeker4.
We implement barplot, dotplot enrichment map and category-gene-network for visualization. It is very common to visualize the enrichment result in bar or pie chart. We believe the pie chart is misleading and only provide bar chart.
barplot(x, showCategory=8)
dotplot(x, showCategory=15)
Enrichment map can be viusalized by enrichMap:
enrichMap(x, layout=igraph::layout.kamada.kawai, vertex.label.cex = 1)
In order to consider the potentially biological complexities in which a gene may belong to multiple annotation categories, we developed cnetplot function to extract the complex association between genes and diseases.
cnetplot(x, categorySize="pvalue", foldChange=geneList)
We have developed an R
package clusterProfiler5 for comparing biological themes among gene clusters. ReactomePA works fine with clusterProfiler and can compare biological themes at reactome pathway perspective.
require(clusterProfiler)
data(gcSample)
res <- compareCluster(gcSample, fun="enrichPathway")
plot(res)
A common approach in analyzing gene expression profiles was identifying differential expressed genes that are deemed interesting. The enrichPathway function we demonstrated previously were based on these differential expressed genes. This approach will find genes where the difference is large, but it will not detect a situation where the difference is small, but evidenced in coordinated way in a set of related genes. Gene Set Enrichment Analysis (GSEA)6 directly addressed this limitation. All genes can be used in GSEA; GSEA aggregates the per gene statistics across genes within a gene set, therefore making it possible to detect situations where all genes in a predefined set change in a small but coordinated way. For algorithm details, please refer to the vignette of DOSE3.
y <- gsePathway(geneList, nPerm=1000,
minGSSize=120, pvalueCutoff=0.2,
pAdjustMethod="BH", verbose=FALSE)
res <- as.data.frame(y)
head(res)
## ID Description
## R-HSA-9006934 R-HSA-9006934 Signaling by Receptor Tyrosine Kinases
## R-HSA-1474244 R-HSA-1474244 Extracellular matrix organization
## R-HSA-211859 R-HSA-211859 Biological oxidations
## R-HSA-1474228 R-HSA-1474228 Degradation of the extracellular matrix
## R-HSA-6811442 R-HSA-6811442 Intra-Golgi and retrograde Golgi-to-ER traffic
## R-HSA-2467813 R-HSA-2467813 Separation of Sister Chromatids
## setSize enrichmentScore NES pvalue p.adjust
## R-HSA-9006934 466 -0.3269981 -1.453592 0.001216545 0.0112782
## R-HSA-1474244 265 -0.4590060 -1.933696 0.001355014 0.0112782
## R-HSA-211859 166 -0.3726000 -1.487565 0.002954210 0.0112782
## R-HSA-1474228 120 -0.4171865 -1.604350 0.002962963 0.0112782
## R-HSA-6811442 163 0.3379484 1.480716 0.003021148 0.0112782
## R-HSA-2467813 161 0.6363838 2.772837 0.003058104 0.0112782
## qvalues rank leading_edge
## R-HSA-9006934 0.005276349 2788 tags=26%, list=22%, signal=21%
## R-HSA-1474244 0.005276349 1943 tags=34%, list=16%, signal=29%
## R-HSA-211859 0.005276349 2129 tags=25%, list=17%, signal=21%
## R-HSA-1474228 0.005276349 1943 tags=35%, list=16%, signal=30%
## R-HSA-6811442 0.005276349 205 tags=7%, list=2%, signal=7%
## R-HSA-2467813 0.005276349 1768 tags=37%, list=14%, signal=32%
## core_enrichment
## R-HSA-9006934 26052/534/2065/9459/3709/7423/1215/2263/83464/26469/7057/4670/7072/23263/1298/3915/5921/5441/200734/9846/9611/3315/466/11140/5595/5228/7424/1499/64759/6453/2252/55914/7059/26084/8660/23767/8038/5295/6778/2962/3910/3082/1291/29/10253/3791/1301/3643/6776/558/5590/3685/9252/1280/4804/3675/2261/11059/26999/9639/2246/4734/4803/10252/3912/1793/4208/6196/1278/8829/50650/1003/5753/1277/23365/2241/1293/2247/1848/1281/55701/50509/1290/9365/7058/25759/56034/4254/26018/2099/3480/6387/5159/857/1289/1292/3908/3909/8817/4915/5125/3249/4485/3551/3730/9828/3913/5327/3667/1287/7060/3479/10451/1846/80310/3708/8483/2066/5241
## R-HSA-1474244 8038/11132/4017/1288/4811/3910/3371/1291/3791/831/1301/4238/7450/3685/80781/1280/1306/4314/3675/8425/977/4054/7837/7042/3912/4322/1278/1511/4060/30008/1277/164656/22795/10516/81578/1293/2247/1295/58494/8076/5118/2192/1281/83700/50509/4319/1290/1513/11096/2202/4313/2199/3693/10536/1294/11117/3339/1462/1289/1292/3908/4016/3909/4053/6678/1296/633/5654/2331/63923/7043/3913/1300/2200/1634/7177/1287/3679/4680/2006/7373/1307/1311/1308/652/4148/54829/4239
## R-HSA-211859 4837/6799/1553/8459/284541/7366/8648/1543/2098/29104/1548/54996/27306/196/2232/2954/57834/6817/22977/1581/7358/216/1592/2948/126/2946/2944/54988/1589/8639/2953/2952/4128/66002/2947/4129/125/11283/1580/9
## R-HSA-1474228 11132/1288/4811/1291/831/1301/80781/1280/1306/4314/3912/4322/1278/1511/1277/164656/1293/1295/1281/50509/4319/1290/1513/11096/4313/1294/3339/1289/1292/3909/1296/5654/1300/2200/1634/7177/1287/2006/7373/1307/1308
## R-HSA-6811442 9493/1062/81930/3832/3833/146909/10112/24137/11004/29127/56992
## R-HSA-2467813 55143/991/1062/10403/11065/220134/79019/55839/54821/4085/81930/332/9212/9232/11004/5347/701/11130/79682/57405/2491/9700/1058/699/1063/5688/5709/55055/5698/5693/7277/5713/79980/9735/5721/5691/5685/84790/5690/5684/5885/5686/5695/10213/23198/10381/7979/54908/6396/10383/5699/5714/10376/5702/5905/3619/5708/55166/5692/10393
enrichMap(y)
gseaplot(y, geneSetID = "R-HSA-69242")
In ReactomePA, we also implemented viewPathway to visualized the pathway.
viewPathway("E2F mediated regulation of DNA replication", readable=TRUE, foldChange=geneList)
More documents can be found on the project website, https://guangchuangyu.github.io/ReactomePA.
Here is the output of sessionInfo()
on the system on which this document was compiled:
## R version 3.4.2 (2017-09-28)
## Platform: x86_64-pc-linux-gnu (64-bit)
## Running under: Ubuntu 16.04.3 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.6-bioc/R/lib/libRblas.so
## LAPACK: /home/biocbuild/bbs-3.6-bioc/R/lib/libRlapack.so
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_US.UTF-8 LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## attached base packages:
## [1] parallel stats4 stats graphics grDevices utils datasets
## [8] methods base
##
## other attached packages:
## [1] ReactomePA_1.22.0 DOSE_3.4.0 org.Hs.eg.db_3.4.2
## [4] AnnotationDbi_1.40.0 IRanges_2.12.0 S4Vectors_0.16.0
## [7] Biobase_2.38.0 BiocGenerics_0.24.0 BiocStyle_2.6.0
##
## loaded via a namespace (and not attached):
## [1] qvalue_2.10.0 fgsea_1.4.0 reshape2_1.4.2
## [4] splines_3.4.2 colorspace_1.3-2 graphite_1.24.0
## [7] htmltools_0.3.6 yaml_2.1.14 blob_1.1.0
## [10] rlang_0.1.2 DBI_0.7 BiocParallel_1.12.0
## [13] rappdirs_0.3.1 bit64_0.9-7 rvcheck_0.0.9
## [16] plyr_1.8.4 stringr_1.2.0 munsell_0.4.3
## [19] GOSemSim_2.4.0 gtable_0.2.0 memoise_1.1.0
## [22] evaluate_0.10.1 labeling_0.3 knitr_1.17
## [25] Rcpp_0.12.13 reactome.db_1.62.0 backports_1.1.1
## [28] scales_0.5.0 checkmate_1.8.5 DO.db_2.9
## [31] graph_1.56.0 bit_1.1-12 gridExtra_2.3
## [34] fastmatch_1.1-0 ggplot2_2.2.1 digest_0.6.12
## [37] stringi_1.1.5 bookdown_0.5 rprojroot_1.2
## [40] grid_3.4.2 tools_3.4.2 magrittr_1.5
## [43] lazyeval_0.2.1 tibble_1.3.4 RSQLite_2.0
## [46] GO.db_3.4.2 pkgconfig_2.0.1 data.table_1.10.4-3
## [49] rmarkdown_1.6 httr_1.3.1 R6_2.2.2
## [52] igraph_1.1.2 compiler_3.4.2
1. Yu, G. & He, Q.-Y. ReactomePA: An r/bioconductor package for reactome pathway analysis and visualization. Mol. BioSyst. 12, 477–479 (2016).
2. Boyle, E. I. et al. GO::TermFinder–open source software for accessing gene ontology information and finding significantly enriched gene ontology terms associated with a list of genes. Bioinformatics (Oxford, England) 20, 3710–3715 (2004).
3. Yu, G., Wang, L.-G., Yan, G.-R. & He, Q.-Y. DOSE: An r/bioconductor package for disease ontology semantic and enrichment analysis. Bioinformatics 31, 608–609 (2015).
4. Yu, G., Wang, L.-G. & He, Q.-Y. ChIPseeker: An r/bioconductor package for chip peak annotation, comparison and visualization. Bioinformatics 31, 2382–2383 (2015).
5. Yu, G., Wang, L.-G., Han, Y. & He, Q.-Y. clusterProfiler: an r package for comparing biological themes among gene clusters. OMICS: A Journal of Integrative Biology 16, 284–287 (2012).
6. Subramanian, A. et al. Gene set enrichment analysis: A knowledge-based approach for interpreting genome-wide expression profiles. Proceedings of the National Academy of Sciences of the United States of America 102, 15545–15550 (2005).