Enrichr - a gene set enrichment analysis web server: Website, Paper

enrichR - an R interface to all ‘Enrichr’ databases: CRAN

Demo Dataset: E-MTAB-8411 from The clock gene Bmal1 inhibits macrophage motility, phagocytosis, and impairs defense against pneumonia. PNAS. 2020;117(3):1543-1551.

License: GPL-3.0

Start R

cd /ngs/GO-Enrichment-Analysis-Demo

R

Load package and set path

library("enrichR")
library("ggplot2")

Load data

If you have downloaded the DESeq2_DEG.txt file with wget:

data <- data.table::fread("DESeq2_DEG.txt")
data$GeneID <- substr(data$GeneID, 1, 18)

If you like to donwload the file in R now:

data <- data.table::fread("https://raw.githubusercontent.com/ycl6/GO-Enrichment-Analysis-Demo/master/DESeq2_DEG.txt")
data$GeneID <- substr(data$GeneID, 1, 18)
data
##                    GeneID GeneSymbol      log2fc    pvalue      padj
##     1: ENSMUSG00000000001      Gnai3  0.08804493 0.1925609 0.6146732
##     2: ENSMUSG00000000003       Pbsn          NA        NA        NA
##     3: ENSMUSG00000000028      Cdc45 -0.32106635 0.1401127 0.5331437
##     4: ENSMUSG00000000031        H19 -1.20339889 0.7161464        NA
##     5: ENSMUSG00000000037      Scml2 -0.57746426 0.2979159        NA
##    ---                                                              
## 55381: ENSMUSG00000118636 AC117663.3          NA        NA        NA
## 55382: ENSMUSG00000118637 AL772212.1          NA        NA        NA
## 55383: ENSMUSG00000118638 AL805980.1          NA        NA        NA
## 55384: ENSMUSG00000118639 AL590997.4          NA        NA        NA
## 55385: ENSMUSG00000118640 AC167036.2  0.06415390 0.9208414        NA

Define significance threshold

up.idx <- which(data$padj < 0.05 & data$log2fc > 0) # FDR < 0.05 and logFC > 0
dn.idx <- which(data$padj < 0.05 & data$log2fc < 0) # FDR < 0.05 and logFC < 0
dim(data)
## [1] 55385     5
length(up.idx)
## [1] 383
length(dn.idx)
## [1] 429

Define significant genes

up.genes <- data[up.idx,]$GeneSymbol
dn.genes <- data[dn.idx,]$GeneSymbol
head(up.genes, 10)
##  [1] "Axin2"  "Hnrnpd" "Kcnn3"  "Mapk7"  "Agpat3" "Sema6b" "Efnb2"  "Il16"   "Ltbp1" 
## [10] "Rgs19"
head(dn.genes, 10)
##  [1] "Cox5a"  "Pdgfb"  "Itga5"  "Cd52"   "Dnmt3l" "Tubb6"  "Ell2"   "Ifrd1"  "Stk38l"
## [10] "Ubl3"

Alternatively, if you only have Ensembl gene ID

up.genes <- data[up.idx,]$GeneID
dn.genes <- data[dn.idx,]$GeneID
head(up.genes, 10)
##  [1] "ENSMUSG00000000142" "ENSMUSG00000000568" "ENSMUSG00000000794" "ENSMUSG00000001034"
##  [5] "ENSMUSG00000001211" "ENSMUSG00000001227" "ENSMUSG00000001300" "ENSMUSG00000001741"
##  [9] "ENSMUSG00000001870" "ENSMUSG00000002458"
head(dn.genes, 10)
##  [1] "ENSMUSG00000000088" "ENSMUSG00000000489" "ENSMUSG00000000555" "ENSMUSG00000000682"
##  [5] "ENSMUSG00000000730" "ENSMUSG00000001473" "ENSMUSG00000001542" "ENSMUSG00000001627"
##  [9] "ENSMUSG00000001630" "ENSMUSG00000001687"

Prepare input data

We would need to convert any other identifier format to SYMBOL which is the required input identifier format. This can be done by using the select function from AnnotationDbi that we saw in Part 1 of this demo, or by using the “Biological Id TRanslator” bitr function from clusterProfiler which is a wrapper function of AnnotationDbi::select.

Here, we will use bitr here to see how this can be done.

# Use fromType = "ENSEMBL" if your input identifier is Ensembl gene ID
up.genes.df = clusterProfiler::bitr(up.genes, fromType = "ENSEMBL", toType = "SYMBOL", 
                    OrgDb = "org.Mm.eg.db")
## 
## Loading required package: org.Mm.eg.db
## Loading required package: AnnotationDbi
## Loading required package: stats4
## Loading required package: BiocGenerics
## Loading required package: parallel
## 
## Attaching package: 'BiocGenerics'
## The following objects are masked from 'package:parallel':
## 
##     clusterApply, clusterApplyLB, clusterCall, clusterEvalQ, clusterExport,
##     clusterMap, parApply, parCapply, parLapply, parLapplyLB, parRapply,
##     parSapply, parSapplyLB
## The following objects are masked from 'package:stats':
## 
##     IQR, mad, sd, var, xtabs
## The following objects are masked from 'package:base':
## 
##     anyDuplicated, append, as.data.frame, basename, cbind, colnames, dirname,
##     do.call, duplicated, eval, evalq, Filter, Find, get, grep, grepl, intersect,
##     is.unsorted, lapply, Map, mapply, match, mget, order, paste, pmax, pmax.int,
##     pmin, pmin.int, Position, rank, rbind, Reduce, rownames, sapply, setdiff,
##     sort, table, tapply, union, unique, unsplit, which.max, which.min
## Loading required package: Biobase
## Welcome to Bioconductor
## 
##     Vignettes contain introductory material; view with 'browseVignettes()'. To
##     cite Bioconductor, see 'citation("Biobase")', and for packages
##     'citation("pkgname")'.
## Loading required package: IRanges
## Loading required package: S4Vectors
## 
## Attaching package: 'S4Vectors'
## The following object is masked from 'package:base':
## 
##     expand.grid
## 
## 'select()' returned 1:many mapping between keys and columns
head(up.genes.df, 10)
##               ENSEMBL SYMBOL
## 1  ENSMUSG00000000142  Axin2
## 2  ENSMUSG00000000568 Hnrnpd
## 3  ENSMUSG00000000794  Kcnn3
## 4  ENSMUSG00000001034  Mapk7
## 5  ENSMUSG00000001211 Agpat3
## 6  ENSMUSG00000001227 Sema6b
## 7  ENSMUSG00000001300  Efnb2
## 8  ENSMUSG00000001741   Il16
## 9  ENSMUSG00000001870  Ltbp1
## 10 ENSMUSG00000002458  Rgs19
dn.genes.df = clusterProfiler::bitr(dn.genes, fromType = "ENSEMBL", toType = "SYMBOL", 
                    OrgDb = "org.Mm.eg.db")
## 'select()' returned 1:many mapping between keys and columns
head(dn.genes.df, 10)
##               ENSEMBL SYMBOL
## 1  ENSMUSG00000000088  Cox5a
## 2  ENSMUSG00000000489  Pdgfb
## 3  ENSMUSG00000000555  Itga5
## 4  ENSMUSG00000000682   Cd52
## 5  ENSMUSG00000000730 Dnmt3l
## 6  ENSMUSG00000001473  Tubb6
## 7  ENSMUSG00000001542   Ell2
## 8  ENSMUSG00000001627  Ifrd1
## 9  ENSMUSG00000001630 Stk38l
## 10 ENSMUSG00000001687   Ubl3

Connecting to Enrichr web service

List available databases from Enrichr

dbs <- listEnrichrDbs()
dbs <- dbs[order(dbs$libraryName),]

class(dbs)
## [1] "data.frame"
dim(dbs)
## [1] 171   5
head(dbs)
##     geneCoverage genesPerTerm                       libraryName
## 56          4271          128         Achilles_fitness_decrease
## 55          4320          129         Achilles_fitness_increase
## 82         16129          292 Aging_Perturbations_from_GEO_down
## 83         15309          308   Aging_Perturbations_from_GEO_up
## 171        12361          124  Allen_Brain_Atlas_10x_scRNA_2021
## 53         13877          304            Allen_Brain_Atlas_down
##                                       link numTerms
## 56  http://www.broadinstitute.org/achilles      216
## 55  http://www.broadinstitute.org/achilles      216
## 82        http://www.ncbi.nlm.nih.gov/geo/      286
## 83        http://www.ncbi.nlm.nih.gov/geo/      286
## 171          https://portal.brain-map.org/      766
## 53               http://www.brain-map.org/     2192

Show all database names.

dbs$libraryName
##   [1] "Achilles_fitness_decrease"                        
##   [2] "Achilles_fitness_increase"                        
##   [3] "Aging_Perturbations_from_GEO_down"                
##   [4] "Aging_Perturbations_from_GEO_up"                  
##   [5] "Allen_Brain_Atlas_10x_scRNA_2021"                 
##   [6] "Allen_Brain_Atlas_down"                           
##   [7] "Allen_Brain_Atlas_up"                             
##   [8] "ARCHS4_Cell-lines"                                
##   [9] "ARCHS4_IDG_Coexp"                                 
##  [10] "ARCHS4_Kinases_Coexp"                             
##  [11] "ARCHS4_TFs_Coexp"                                 
##  [12] "ARCHS4_Tissues"                                   
##  [13] "BioCarta_2013"                                    
##  [14] "BioCarta_2015"                                    
##  [15] "BioCarta_2016"                                    
##  [16] "BioPlanet_2019"                                   
##  [17] "BioPlex_2017"                                     
##  [18] "Cancer_Cell_Line_Encyclopedia"                    
##  [19] "CCLE_Proteomics_2020"                             
##  [20] "ChEA_2013"                                        
##  [21] "ChEA_2015"                                        
##  [22] "ChEA_2016"                                        
##  [23] "Chromosome_Location"                              
##  [24] "Chromosome_Location_hg19"                         
##  [25] "ClinVar_2019"                                     
##  [26] "CORUM"                                            
##  [27] "COVID-19_Related_Gene_Sets"                       
##  [28] "Data_Acquisition_Method_Most_Popular_Genes"       
##  [29] "dbGaP"                                            
##  [30] "DepMap_WG_CRISPR_Screens_Broad_CellLines_2019"    
##  [31] "DepMap_WG_CRISPR_Screens_Sanger_CellLines_2019"   
##  [32] "Disease_Perturbations_from_GEO_down"              
##  [33] "Disease_Perturbations_from_GEO_up"                
##  [34] "Disease_Signatures_from_GEO_down_2014"            
##  [35] "Disease_Signatures_from_GEO_up_2014"              
##  [36] "DisGeNET"                                         
##  [37] "Drug_Perturbations_from_GEO_2014"                 
##  [38] "Drug_Perturbations_from_GEO_down"                 
##  [39] "Drug_Perturbations_from_GEO_up"                   
##  [40] "DrugMatrix"                                       
##  [41] "DSigDB"                                           
##  [42] "Elsevier_Pathway_Collection"                      
##  [43] "ENCODE_and_ChEA_Consensus_TFs_from_ChIP-X"        
##  [44] "ENCODE_Histone_Modifications_2013"                
##  [45] "ENCODE_Histone_Modifications_2015"                
##  [46] "ENCODE_TF_ChIP-seq_2014"                          
##  [47] "ENCODE_TF_ChIP-seq_2015"                          
##  [48] "Enrichr_Libraries_Most_Popular_Genes"             
##  [49] "Enrichr_Submissions_TF-Gene_Coocurrence"          
##  [50] "Enrichr_Users_Contributed_Lists_2020"             
##  [51] "Epigenomics_Roadmap_HM_ChIP-seq"                  
##  [52] "ESCAPE"                                           
##  [53] "Gene_Perturbations_from_GEO_down"                 
##  [54] "Gene_Perturbations_from_GEO_up"                   
##  [55] "Genes_Associated_with_NIH_Grants"                 
##  [56] "GeneSigDB"                                        
##  [57] "Genome_Browser_PWMs"                              
##  [58] "GO_Biological_Process_2013"                       
##  [59] "GO_Biological_Process_2015"                       
##  [60] "GO_Biological_Process_2017"                       
##  [61] "GO_Biological_Process_2017b"                      
##  [62] "GO_Biological_Process_2018"                       
##  [63] "GO_Cellular_Component_2013"                       
##  [64] "GO_Cellular_Component_2015"                       
##  [65] "GO_Cellular_Component_2017"                       
##  [66] "GO_Cellular_Component_2017b"                      
##  [67] "GO_Cellular_Component_2018"                       
##  [68] "GO_Molecular_Function_2013"                       
##  [69] "GO_Molecular_Function_2015"                       
##  [70] "GO_Molecular_Function_2017"                       
##  [71] "GO_Molecular_Function_2017b"                      
##  [72] "GO_Molecular_Function_2018"                       
##  [73] "GTEx_Tissue_Sample_Gene_Expression_Profiles_down" 
##  [74] "GTEx_Tissue_Sample_Gene_Expression_Profiles_up"   
##  [75] "GWAS_Catalog_2019"                                
##  [76] "HMDB_Metabolites"                                 
##  [77] "HMS_LINCS_KinomeScan"                             
##  [78] "HomoloGene"                                       
##  [79] "Human_Gene_Atlas"                                 
##  [80] "Human_Phenotype_Ontology"                         
##  [81] "HumanCyc_2015"                                    
##  [82] "HumanCyc_2016"                                    
##  [83] "huMAP"                                            
##  [84] "InterPro_Domains_2019"                            
##  [85] "Jensen_COMPARTMENTS"                              
##  [86] "Jensen_DISEASES"                                  
##  [87] "Jensen_TISSUES"                                   
##  [88] "KEA_2013"                                         
##  [89] "KEA_2015"                                         
##  [90] "KEGG_2013"                                        
##  [91] "KEGG_2015"                                        
##  [92] "KEGG_2016"                                        
##  [93] "KEGG_2019_Human"                                  
##  [94] "KEGG_2019_Mouse"                                  
##  [95] "Kinase_Perturbations_from_GEO_down"               
##  [96] "Kinase_Perturbations_from_GEO_up"                 
##  [97] "L1000_Kinase_and_GPCR_Perturbations_down"         
##  [98] "L1000_Kinase_and_GPCR_Perturbations_up"           
##  [99] "Ligand_Perturbations_from_GEO_down"               
## [100] "Ligand_Perturbations_from_GEO_up"                 
## [101] "LINCS_L1000_Chem_Pert_down"                       
## [102] "LINCS_L1000_Chem_Pert_up"                         
## [103] "LINCS_L1000_Ligand_Perturbations_down"            
## [104] "LINCS_L1000_Ligand_Perturbations_up"              
## [105] "lncHUB_lncRNA_Co-Expression"                      
## [106] "MCF7_Perturbations_from_GEO_down"                 
## [107] "MCF7_Perturbations_from_GEO_up"                   
## [108] "MGI_Mammalian_Phenotype_2013"                     
## [109] "MGI_Mammalian_Phenotype_2017"                     
## [110] "MGI_Mammalian_Phenotype_Level_3"                  
## [111] "MGI_Mammalian_Phenotype_Level_4"                  
## [112] "MGI_Mammalian_Phenotype_Level_4_2019"             
## [113] "Microbe_Perturbations_from_GEO_down"              
## [114] "Microbe_Perturbations_from_GEO_up"                
## [115] "miRTarBase_2017"                                  
## [116] "Mouse_Gene_Atlas"                                 
## [117] "MSigDB_Computational"                             
## [118] "MSigDB_Hallmark_2020"                             
## [119] "MSigDB_Oncogenic_Signatures"                      
## [120] "NCI-60_Cancer_Cell_Lines"                         
## [121] "NCI-Nature_2015"                                  
## [122] "NCI-Nature_2016"                                  
## [123] "NIH_Funded_PIs_2017_AutoRIF_ARCHS4_Predictions"   
## [124] "NIH_Funded_PIs_2017_GeneRIF_ARCHS4_Predictions"   
## [125] "NIH_Funded_PIs_2017_Human_AutoRIF"                
## [126] "NIH_Funded_PIs_2017_Human_GeneRIF"                
## [127] "NURSA_Human_Endogenous_Complexome"                
## [128] "Old_CMAP_down"                                    
## [129] "Old_CMAP_up"                                      
## [130] "OMIM_Disease"                                     
## [131] "OMIM_Expanded"                                    
## [132] "Panther_2015"                                     
## [133] "Panther_2016"                                     
## [134] "Pfam_Domains_2019"                                
## [135] "Pfam_InterPro_Domains"                            
## [136] "PheWeb_2019"                                      
## [137] "Phosphatase_Substrates_from_DEPOD"                
## [138] "PPI_Hub_Proteins"                                 
## [139] "ProteomicsDB_2020"                                
## [140] "Rare_Diseases_AutoRIF_ARCHS4_Predictions"         
## [141] "Rare_Diseases_AutoRIF_Gene_Lists"                 
## [142] "Rare_Diseases_GeneRIF_ARCHS4_Predictions"         
## [143] "Rare_Diseases_GeneRIF_Gene_Lists"                 
## [144] "Reactome_2013"                                    
## [145] "Reactome_2015"                                    
## [146] "Reactome_2016"                                    
## [147] "RNA-Seq_Disease_Gene_and_Drug_Signatures_from_GEO"
## [148] "SILAC_Phosphoproteomics"                          
## [149] "SubCell_BarCode"                                  
## [150] "SysMyo_Muscle_Gene_Sets"                          
## [151] "Table_Mining_of_CRISPR_Studies"                   
## [152] "TargetScan_microRNA"                              
## [153] "TargetScan_microRNA_2017"                         
## [154] "TF_Perturbations_Followed_by_Expression"          
## [155] "TF-LOF_Expression_from_GEO"                       
## [156] "TG_GATES_2020"                                    
## [157] "Tissue_Protein_Expression_from_Human_Proteome_Map"
## [158] "Tissue_Protein_Expression_from_ProteomicsDB"      
## [159] "Transcription_Factor_PPIs"                        
## [160] "TRANSFAC_and_JASPAR_PWMs"                         
## [161] "TRRUST_Transcription_Factors_2019"                
## [162] "UK_Biobank_GWAS_v1"                               
## [163] "Virus_Perturbations_from_GEO_down"                
## [164] "Virus_Perturbations_from_GEO_up"                  
## [165] "Virus-Host_PPI_P-HIPSTer_2020"                    
## [166] "VirusMINT"                                        
## [167] "WikiPathways_2013"                                
## [168] "WikiPathways_2015"                                
## [169] "WikiPathways_2016"                                
## [170] "WikiPathways_2019_Human"                          
## [171] "WikiPathways_2019_Mouse"

Search for mouse databases with keyword "Mouse"

dbs[grep("Mouse",dbs$libraryName),]$libraryName
## [1] "KEGG_2019_Mouse"         "Mouse_Gene_Atlas"        "WikiPathways_2019_Mouse"

Select databases

dbs_go <- c("GO_Molecular_Function_2018", "GO_Cellular_Component_2018", "GO_Biological_Process_2018")
dbs_pw <- c("KEGG_2019_Mouse", "WikiPathways_2019_Mouse", "BioPlanet_2019")
dbs_dd <- c("PheWeb_2019", "ClinVar_2019")

Perform enrichment analysis

GO analysis

upEnriched_go <- enrichr(genes = up.genes.df$SYMBOL, databases = dbs_go)
## Uploading data to Enrichr... Done.
##   Querying GO_Molecular_Function_2018... Done.
##   Querying GO_Cellular_Component_2018... Done.
##   Querying GO_Biological_Process_2018... Done.
## Parsing results... Done.
dnEnriched_go <- enrichr(genes = dn.genes.df$SYMBOL, databases = dbs_go)
## Uploading data to Enrichr... Done.
##   Querying GO_Molecular_Function_2018... Done.
##   Querying GO_Cellular_Component_2018... Done.
##   Querying GO_Biological_Process_2018... Done.
## Parsing results... Done.
class(upEnriched_go)
## [1] "list"
names(upEnriched_go)
## [1] "GO_Molecular_Function_2018" "GO_Cellular_Component_2018" "GO_Biological_Process_2018"
# View top 5 terms in the first element of the list
head(upEnriched_go[[1]], 5)
##                                                          Term Overlap       P.value
## 1                      GTPase activator activity (GO:0005096)  15/249 0.00006671951
## 2                      GTPase regulator activity (GO:0030695)  15/275 0.00020020157
## 3                          peptidoglycan binding (GO:0042834)    3/16 0.00294039405
## 4 Rho guanyl-nucleotide exchange factor activity (GO:0005089)    5/59 0.00466003336
## 5              sodium channel inhibitor activity (GO:0019871)     2/6 0.00487394563
##   Adjusted.P.value Old.P.value Old.Adjusted.P.value Odds.Ratio Combined.Score
## 1       0.02675452           0                    0   3.502347       33.67512
## 2       0.04014042           0                    0   3.147887       26.80799
## 3       0.39089044           0                    0  12.335150       71.90420
## 4       0.39089044           0                    0   4.966007       26.66116
## 5       0.39089044           0                    0  26.665761      141.96455
##                                                                                                      Genes
## 1 VAV3;RAP1GAP2;RGS18;STARD13;DOCK4;TBC1D9B;RGS19;RGS14;DAB2IP;AXIN2;ARHGAP12;ARHGAP32;CDC42EP3;RGS11;EVI5
## 2 VAV3;RAP1GAP2;RGS18;STARD13;DOCK4;TBC1D9B;RGS19;RGS14;DAB2IP;AXIN2;ARHGAP12;ARHGAP32;CDC42EP3;RGS11;EVI5
## 3                                                                                        NOD1;NOD2;PGLYRP1
## 4                                                                              VAV3;TIAM2;NET1;FARP1;ITSN1
## 5                                                                                              NEDD4;SCN1B

Pathway analysis

upEnriched_pw <- enrichr(genes = up.genes.df$SYMBOL, databases = dbs_pw)
## Uploading data to Enrichr... Done.
##   Querying KEGG_2019_Mouse... Done.
##   Querying WikiPathways_2019_Mouse... Done.
##   Querying BioPlanet_2019... Done.
## Parsing results... Done.
dnEnriched_pw <- enrichr(genes = dn.genes.df$SYMBOL, databases = dbs_pw)
## Uploading data to Enrichr... Done.
##   Querying KEGG_2019_Mouse... Done.
##   Querying WikiPathways_2019_Mouse... Done.
##   Querying BioPlanet_2019... Done.
## Parsing results... Done.
class(upEnriched_pw)
## [1] "list"
names(upEnriched_pw)
## [1] "KEGG_2019_Mouse"         "WikiPathways_2019_Mouse" "BioPlanet_2019"
# View top 5 terms in the first element of the list
head(upEnriched_pw[[1]], 5)
##                                                     Term Overlap      P.value
## 1 Arrhythmogenic right ventricular cardiomyopathy (ARVC)    7/72 0.0003675764
## 2                                 Rap1 signaling pathway  12/209 0.0005426545
## 3                    Complement and coagulation cascades    7/88 0.0012315737
## 4                           Dilated cardiomyopathy (DCM)    7/90 0.0014046617
## 5                Transcriptional misregulation in cancer  10/183 0.0022266832
##   Adjusted.P.value Old.P.value Old.Adjusted.P.value Odds.Ratio Combined.Score
## 1       0.05833535           0                    0   5.804408       45.90462
## 2       0.05833535           0                    0   3.306525       24.86189
## 3       0.07550057           0                    0   4.654049       31.17963
## 4       0.07550057           0                    0   4.541438       29.82798
## 5       0.08754581           0                    0   3.124117       19.07974
##                                                                       Genes
## 1                              ITGB1;TCF7L2;CACNB3;TCF7L1;ITGA4;ITGA6;ITGA9
## 2 ITGB1;DOCK4;SIPA1L1;ITGAM;RGS14;FLT4;ADCY3;LCP2;RASGRP2;ADCY6;BCAR1;FGFR1
## 3                                       C4B;THBD;ITGAM;SERPINB2;CFH;CD55;F5
## 4                                ITGB1;CACNB3;ITGA4;ADCY3;ITGA6;ADCY6;ITGA9
## 5                       PER2;SMAD1;LYL1;MAF;ITGAM;ZEB1;NUPR1;MMP9;KLF3;PBX1

Diseases/Drugs analysis

upEnriched_dd <- enrichr(genes = up.genes.df$SYMBOL, databases = dbs_dd)
## Uploading data to Enrichr... Done.
##   Querying PheWeb_2019... Done.
##   Querying ClinVar_2019... Done.
## Parsing results... Done.
dnEnriched_dd <- enrichr(genes = dn.genes.df$SYMBOL, databases = dbs_dd)
## Uploading data to Enrichr... Done.
##   Querying PheWeb_2019... Done.
##   Querying ClinVar_2019... Done.
## Parsing results... Done.
class(upEnriched_dd)
## [1] "list"
names(upEnriched_dd)
## [1] "PheWeb_2019"  "ClinVar_2019"
# View top 5 terms in the first element of the list
head(upEnriched_dd[[1]], 5)
##                        Term Overlap      P.value Adjusted.P.value Old.P.value
## 1     Difficulty in walking    4/21 0.0005375414        0.2177043           0
## 2   Circulatory disease NEC    3/24 0.0095281171        0.4761665           0
## 3 Eustachian tube disorders    2/12 0.0199293058        0.4761665           0
## 4     Hypercoagulable state    3/32 0.0209519920        0.4761665           0
## 5      Hypercholesterolemia    3/35 0.0265524980        0.4761665           0
##   Old.Adjusted.P.value Odds.Ratio Combined.Score                   Genes
## 1                    0  12.608807       94.92547 SLC12A5;AQP9;MTUS1;MMP9
## 2                    0   7.632931       35.51991      KLHL33;HIBCH;TTC28
## 3                    0  10.663043       41.75183            EPB41L3;ANO6
## 4                    0   5.525040       21.35716           SELP;PRKG1;F5
## 5                    0   5.006301       18.16602  ZCCHC24;CADM1;CDC42EP3

Plot enrichment

Demonstrate using different paramters to plot enrichment using the plotEnrich function.

plotEnrich(upEnriched_go[[3]], showTerms = 20, numChar = 50, y = "Count", orderBy = "P.value")

plotEnrich(upEnriched_pw[[1]], showTerms = 15, numChar = 40, y = "Ratio", orderBy = "P.value")

plotEnrich(upEnriched_dd[[2]], showTerms = 10, numChar = 30, y = "Count", orderBy = "Combined.Score")

Output results to files

Use the printEnrich function to output Enrichr results to tab-delimited text files.

printEnrich(upEnriched_go, prefix = "enrichr-GO-up", showTerms = 20)
printEnrich(dnEnriched_go, prefix = "enrichr-GO-dn", showTerms = 20)
printEnrich(upEnriched_pw, prefix = "enrichr-PW-up", showTerms = 20)
printEnrich(dnEnriched_pw, prefix = "enrichr-PW-dn", showTerms = 20)
printEnrich(upEnriched_dd, prefix = "enrichr-DD-up", showTerms = 20)
printEnrich(dnEnriched_dd, prefix = "enrichr-DD-dn", showTerms = 20)

Session information

sessionInfo()
## R version 4.0.3 (2020-10-10)
## Platform: x86_64-conda-linux-gnu (64-bit)
## Running under: Ubuntu 18.04.5 LTS
## 
## Matrix products: default
## BLAS/LAPACK: /home/ihsuan/miniconda3/envs/r4/lib/libopenblasp-r0.3.12.so
## 
## locale:
##  [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8       
##  [4] LC_COLLATE=en_GB.UTF-8     LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8   
##  [7] LC_PAPER=en_GB.UTF-8       LC_NAME=C                  LC_ADDRESS=C              
## [10] LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C       
## 
## attached base packages:
## [1] parallel  stats4    stats     graphics  grDevices utils     datasets  methods  
## [9] base     
## 
## other attached packages:
## [1] org.Mm.eg.db_3.12.0  AnnotationDbi_1.52.0 IRanges_2.24.1       S4Vectors_0.28.1    
## [5] Biobase_2.50.0       BiocGenerics_0.36.0  ggplot2_3.3.3        enrichR_3.0         
## [9] knitr_1.31          
## 
## loaded via a namespace (and not attached):
##  [1] enrichplot_1.10.2      bit64_4.0.5            RColorBrewer_1.1-2    
##  [4] httr_1.4.2             tools_4.0.3            bslib_0.2.4           
##  [7] utf8_1.1.4             R6_2.5.0               DBI_1.1.1             
## [10] colorspace_2.0-0       withr_2.4.1            tidyselect_1.1.0      
## [13] gridExtra_2.3          bit_4.0.4              curl_4.3              
## [16] compiler_4.0.3         scatterpie_0.1.5       labeling_0.4.2        
## [19] shadowtext_0.0.7       sass_0.3.1             scales_1.1.1          
## [22] stringr_1.4.0          digest_0.6.27          rmarkdown_2.7         
## [25] DOSE_3.16.0            pkgconfig_2.0.3        htmltools_0.5.1.1     
## [28] highr_0.8              fastmap_1.1.0          rlang_0.4.10          
## [31] RSQLite_2.2.3          jquerylib_0.1.3        generics_0.1.0        
## [34] farver_2.1.0           jsonlite_1.7.2         BiocParallel_1.24.1   
## [37] GOSemSim_2.16.1        dplyr_1.0.4            magrittr_2.0.1        
## [40] GO.db_3.12.1           Matrix_1.3-2           Rcpp_1.0.6            
## [43] munsell_0.5.0          fansi_0.4.2            viridis_0.5.1         
## [46] lifecycle_1.0.0        stringi_1.5.3          yaml_2.2.1            
## [49] ggraph_2.0.5           MASS_7.3-53.1          plyr_1.8.6            
## [52] qvalue_2.22.0          grid_4.0.3             blob_1.2.1            
## [55] ggrepel_0.9.1          DO.db_2.9              crayon_1.4.1          
## [58] lattice_0.20-41        graphlayouts_0.7.1     cowplot_1.1.1         
## [61] splines_4.0.3          pillar_1.5.0           fgsea_1.16.0          
## [64] igraph_1.2.6           rjson_0.2.20           reshape2_1.4.4        
## [67] fastmatch_1.1-0        glue_1.4.2             evaluate_0.14         
## [70] downloader_0.4         data.table_1.14.0      BiocManager_1.30.10   
## [73] vctrs_0.3.6            tweenr_1.0.1           gtable_0.3.0          
## [76] purrr_0.3.4            polyclip_1.10-0        tidyr_1.1.3           
## [79] assertthat_0.2.1       cachem_1.0.4           xfun_0.21             
## [82] ggforce_0.3.2          tidygraph_1.2.0        viridisLite_0.3.0     
## [85] tibble_3.1.0           clusterProfiler_3.18.1 rvcheck_0.1.8         
## [88] memoise_2.0.0          ellipsis_0.3.1