ClusterProfiler作为最经典、最重要的功能富集软件,可以对指定基因集合进行KEGG、GO功能富集。安装方法非常简单:
if(!require("BiocManager")){install.packages("BiocManager")}
if(!require("clusterProfiler")){BiocManager::install("clusterProfiler")}
获得基因集合即可进行KEGG/GO功能富集分析。有时需要做一下基因ID转换
gene <- bitr(gene,
fromType="SYMBOL",
toType="ENTREZID",
annoDb="org.Hs.eg.db")[,1]
一、物种为人时,用如下命令进行富集分析
KEGGenrich <- enrichKEGG(gene = gene,
organism = "hsa",
pvalueCutoff =0.05,
qvalueCutoff =0.05)
GOenrich <- enrichGO(gene = gene,
OrgDb = org.Hs.eg.db,
keyType = 'ENTREZID',
pvalueCutoff =0.05,
qvalueCutoff =0.05)
二、小鼠基因功能富集
KEGGenrich <- enrichKEGG(gene = gene,
organism = "mmu",
pvalueCutoff =0.05,
qvalueCutoff =0.05)
GOenrich <- enrichGO(gene = gene,
OrgDb = org.Mm.eg.db,
keyType = 'ENTREZID',
pvalueCutoff =0.05,
qvalueCutoff =0.05)
三、常见物种,需要确认物种是否有OrgDB包,有的话需要安装相应R包后进行富集分析。
常见物种对应表
物种 | Species | OrgDB |
---|---|---|
按蚊 | Anopheles | org.Ag.eg.db |
拟南芥 | Arabidopsis | org.At.tair.db |
牛 | Brovine | org.Bt.eg.db |
蠕虫 | Worm | org.Ce.eg.db |
犬 | Canine | org.Cf.eg.db |
苍蝇 | Fly | org.Dm.eg.db |
斑马鱼 | Zebrafish | org.Dr.eg.db |
大肠杆菌 strain K12 | E coli strain K12 | org.EcK12.eg.db |
大肠杆菌 strain Sakai | E coli strain Sakai | org.EcSakai.eg.db |
鸡 | Chicken | org.Gg.eg.db |
人 | Human | org.Hs.eg.db |
小鼠 | Mouse | org.Mm.eg.db |
恒河猴 | Rhesus | org.Mmu.eg.db |
疟原虫 | Malaria | org.Pf.plasmo.db |
黑猩猩 | Chimp | org.Pt.eg.db |
大鼠,褐家鼠 | Rat | org.Rn.eg.db |
酵母 | Yeast | org.Sc.sgd.db |
猪 | Pig | org.Ss.eg.db |
爪蟾 | Xenopus | org.Xl.eg.db |
备注:数据来源:https://www.jianshu.com/p/84e70566a6c6
四、无OrgDB物种
常见物种已有OrgDB,本物种没有对应OrgDB的话,需要自己构建OrgDB? 不会构建怎么办?
那总要做点什么!
是的,需要准备一份对应物种的KEGG通路和基因列表,如下图所示:
Genesnames | TermNAME | TermID | dbType | TermName | curl | ko |
---|---|---|---|---|---|---|
HK2 | KEGG_GLYCOLYSIS_GLUCONEOGENESIS | chx00010 | KEGG | Glycolysis / Gluconeogenesis | https://www.kegg.jp/pathway/chx00010 | K00844 |
HK3 | KEGG_GLYCOLYSIS_GLUCONEOGENESIS | chx00010 | KEGG | Glycolysis / Gluconeogenesis | https://www.kegg.jp/pathway/chx00010 | K00844 |
HK1 | KEGG_GLYCOLYSIS_GLUCONEOGENESIS | chx00010 | KEGG | Glycolysis / Gluconeogenesis | https://www.kegg.jp/pathway/chx00010 | K00844 |
HKDC1 | KEGG_GLYCOLYSIS_GLUCONEOGENESIS | chx00010 | KEGG | Glycolysis / Gluconeogenesis | https://www.kegg.jp/pathway/chx00010 | K00844 |
GCK | KEGG_GLYCOLYSIS_GLUCONEOGENESIS | chx00010 | KEGG | Glycolysis / Gluconeogenesis | https://www.kegg.jp/pathway/chx00010 | K12407 |
读取KEGG数据库文件
KEGGdb <- read.table('KEGG.symbols.txt',header = FALSE,sep='\t')
KEGGdb <- c('Genesnames','TermNAME','TermID','dbType','TermName','curl')
之后利用enricher功能进行富集分析!由于数据库直接利用基因名和通路的对应关系。因此,可以直接利用基因名进行富集。
KEGGenrich <- enricher(gene = genes,
pAdjustMethod = 'BH',
qvalueCutoff = 0.05,
TERM2GENE = KEGGdb[,c('TermID','Genesnames')],
TERM2NAME = KEGGdb[,c('TermID','TermName')]
)
GO功能注释需要一份和KEGG类似的数据库文件,
GOdb <- read.table('GO.symbols.txt',header = FALSE,sep='\t')
GOdb <- c('Genesnames','TermNAME','TermID','dbType','TermName','curl')
GOenrich <- enricher(gene = genes,
pAdjustMethod = 'BH',
qvalueCutoff = 0.05,
TERM2GENE = GOdb[,c('TermID','Genesnames')],
TERM2NAME = GOdb[,c('TermID','TermName')]
)
得到的结果和enrichKEGG/enrichGO一样的可以用于后续分析和绘图。
五、那如何获得对应物种KEGG和GO数据库?
1、直接从KEGG/GO数据库官网下载获取;
2、联系我们获取对应KEGG/GO数据库文件;