11 MeSH enrichment analysis
The meshes package (Yu 2018) supports enrichment analysis (over-representation analysis and gene set
enrichment analysis) of gene list or whole expression profile using MeSH
annotation. Data source from gendoo, gene2pubmed and RBBH are all
supported. User can select interesting category to test. All 16
categories of MeSH are supported. The analysis supports about 200 species (see also Chapter 4 for more details).
11.1 MeSH over-representation analysis
First, we need to load/fetch species-specific MeSH annotation database:
#############################
## BioC 2.14 to BioC 3.13 ##
#############################
##
## library(MeSH.Hsa.eg.db)
## db <- MeSH.Hsa.eg.db
##
##---------------------------
# From BioC 3.14 (Nov. 2021, with R-4.2.0)
library(AnnotationHub)
library(MeSHDbi)
ah <- AnnotationHub(localHub=TRUE)
hsa <- query(ah, c("MeSHDb", "Homo sapiens"))
file_hsa <- hsa[[1]]
db <- MeSHDbi::MeSHDb(file_hsa)In this example, we use data source from gendoo and C (Diseases) category.
library(meshes)
data(geneList, package="DOSE")
de <- names(geneList)[1:100]
x <- enrichMeSH(de, MeSHDb = db, database='gendoo', category = 'C')
head(x)## ID Description GeneRatio BgRatio pvalue
## D000705 D000705 Anaphase 26/100 232/26076 4.495523e-31
## D019926 D019926 Cyclin B 30/100 428/26076 1.061989e-29
## D018386 D018386 Kinetochores 24/100 224/26076 3.337217e-28
## D020090 D020090 Chromosome Segregation 26/100 362/26076 5.663108e-26
## D011123 D011123 Polyploidy 16/100 169/26076 3.951760e-18
## D016547 D016547 <NA> 22/100 476/26076 6.849607e-18
## p.adjust qvalue
## D000705 2.036472e-27 1.360487e-27
## D019926 2.405404e-26 1.606957e-26
## D018386 5.039198e-25 3.366491e-25
## D020090 6.413470e-23 4.284588e-23
## D011123 3.580295e-15 2.391855e-15
## D016547 5.171453e-15 3.454845e-15
## geneID
## D000705 991/2305/9493/1062/9133/10403/7153/6241/55165/11065/220134/22974/4751/983/54821/10232/4085/81930/332/3832/7272/9212/1111/9055/10112/6790
## D019926 991/2305/9493/1062/3868/4605/9133/10403/7153/23397/9787/11065/55872/83461/22974/890/983/10232/4085/5080/81620/332/3832/7272/64151/8208/1111/9055/10112/6790
## D018386 55143/991/1062/10403/7153/9787/11065/220134/22974/10460/4751/79019/55839/983/54821/4085/81930/332/3832/7272/9212/1111/9055/6790
## D020090 55143/991/2305/9493/1062/9133/10403/7153/9787/11065/51203/22974/10460/4751/79019/55839/983/54821/4085/81930/332/7272/64151/9212/1111/6790
## D011123 55143/991/2305/9493/1062/4605/9133/7153/890/10232/4085/81620/332/9212/1111/6790
## D016547 55143/2305/9493/1062/10403/7153/23397/9787/22974/983/4085/81930/332/3832/64151/9212/1111/9055/3833/146909/10112/6790
## Count
## D000705 26
## D019926 30
## D018386 24
## D020090 26
## D011123 16
## D016547 22
11.2 MeSH gene set enrichment analysis
In the following example, we use data source from gene2pubmed and test category G (Phenomena and Processes).
y <- gseMeSH(geneList, MeSHDb = db, database = 'gene2pubmed', category = "G")
head(y)## ID Description setSize enrichmentScore NES
## D000705 D000705 Anaphase 208 0.6734041 3.051544
## D000917 D000917 Antibody Formation 423 0.3867818 1.890781
## D000938 D000938 Antigen-Presenting Cells 368 0.4324886 2.100038
## D002842 D002842 Chromatids 119 0.5955590 2.518940
## D004250 D004250 DNA Topoisomerases, Type II 230 0.4663823 2.136691
## D004271 D004271 DNA, Fungal 255 0.4894945 2.286548
## pvalue p.adjust qvalues rank leading_edge
## D000705 1e-10 1.953462e-08 1.552429e-08 1071 tags=35%, list=9%, signal=33%
## D000917 1e-10 1.953462e-08 1.552429e-08 2101 tags=33%, list=17%, signal=28%
## D000938 1e-10 1.953462e-08 1.552429e-08 2111 tags=36%, list=17%, signal=30%
## D002842 1e-10 1.953462e-08 1.552429e-08 1804 tags=35%, list=14%, signal=30%
## D004250 1e-10 1.953462e-08 1.552429e-08 1815 tags=30%, list=15%, signal=27%
## D004271 1e-10 1.953462e-08 1.552429e-08 1447 tags=24%, list=12%, signal=22%
## core_enrichment
## D000705 991/2305/9493/1062/9133/10403/7153/6241/55165/11065/220134/22974/4751/983/54821/10232/4085/81930/332/3832/7272/9212/1111/9055/10112/6790/891/24137/9232/1164/11004/990/5347/29127/701/11130/57405/1894/9700/5888/56992/4998/10733/29899/699/4609/1063/5111/5688/5709/26271/55055/51053/641/5698/1719/3925/5693/8317/5713/3930/5721/5691/10051/5685/8568/4172/23481/5690/5684/5885/5686/5695
## D000917 7153/10563/10232/332/6286/3002/891/6364/3161/29851/4102/2173/9156/6890/56992/952/1493/7037/10663/80380/7378/5551/133/768/1230/6772/6347/30848/639/914/3126/3112/4609/3945/3001/8000/3561/5111/6614/917/6472/1236/362/1719/3575/919/915/4067/608/3458/959/3903/1043/3702/925/5450/3351/50615/974/942/4100/8547/91860/578/3329/3514/1116/4072/2597/1234/916/7096/3383/4068/962/8884/5806/1514/100/3659/2919/3929/971/1476/10541/939/4678/3965/6891/9308/7422/930/5992/7439/26191/6504/117178/4282/6850/2395/7124/912/7783/5329/3569/7097/613/1410/5133/5743/7454/348/4151/3091/3119/5817/1133/551/1956/1830/7186/2213/5971/7490/8456/1959/2650/60489/6376/9021/3596/79444/7293/23415/2833/1080/356/1380/958/64663
## D000938 3627/4283/10232/6362/332/3002/3902/3620/10578/6364/23532/3595/4102/4061/3576/6890/952/8792/1493/6352/7804/7037/56833/3932/80380/5551/3559/1230/6772/51311/6347/30848/914/64581/3126/3112/10437/3945/5341/3561/2533/6351/6614/1236/10859/9332/3654/5698/1719/4050/919/4067/11184/3458/1520/959/3930/3702/5641/942/4100/1116/10288/6361/5788/976/916/7096/259197/3383/9466/4068/962/3937/6367/3394/1834/1514/3600/23457/923/940/3929/4793/971/4063/6360/9051/5588/6891/9308/81622/10148/6404/3738/5699/5047/929/4690/5604/7124/912/3569/7097/1378/613/5133/8772/5743/4055/7454/348/4151/3119/5817/951/1240/8440/2213/5971/3135/9047/6376/56915/9021/7293/2833/4478/356/958/1672
## D002842 991/1062/7153/55165/11065/10635/983/54821/4085/332/9212/1111/9232/1164/5347/701/10615/79075/9700/5888/2237/5984/699/5111/9401/1719/5982/9735/10051/5885/203068/100/5983/10592/4683/999/3014/3619/7454/10393/1663/7517
## D004250 1062/7153/23397/983/54821/4085/81620/332/9212/1111/4174/4171/993/990/5347/9700/5888/23594/4998/3934/4175/4173/9918/699/50802/4609/5111/84823/641/1869/1029/1719/4904/4067/2178/7086/4176/2950/9585/4436/3066/578/995/1104/1019/637/5359/4172/916/5885/11200/1633/7027/2072/4839/10592/1244/142/23028/5160/3014/7124/5329/3619/10096/613/8772/5743/3091/9513
## D004271 8318/55388/1062/7153/81620/51659/1111/4174/4171/993/990/2173/9156/9700/5888/23594/4998/4175/4173/2237/10926/5984/699/5341/5111/64785/641/1869/10535/1719/4904/8317/4938/4176/80142/10036/5435/5982/5499/30001/578/995/1104/2597/4172/5479/10606/11200/7428/1317/2072/5831/4839/80010/4360/5440/79924/4683/81034/63967/999
User can use visualization methods implemented in enrichplot to visualize these enrichment results. With these visualization methods, itโs much easier to interpret enriched results.