前言:
当前我们对“r语言及bioconductor在基因组分析中的应用”大约比较讲究,姐妹们都需要了解一些“r语言及bioconductor在基因组分析中的应用”的相关文章。那么小编也在网络上收集了一些关于“r语言及bioconductor在基因组分析中的应用””的相关资讯,希望我们能喜欢,同学们一起来学习一下吧!上一期我们一起学习了基因芯片数据分析中的GO分析,这一期我们学习KEGG分析。
通路(Pathway)分析包括通路注释和通路富集分析。通路富集分析的基本思路、统计模型等基本和GO富集分析如出一辙。
常用的公共通路数据库主要有KEGG ( Kyoto encyclopedia of genes and genomes)、BioCarta和GenMAPP (Gene map annotator and pathway profiler),最为著名的是KEGG库中的代谢通路,KEGG代谢通路注释几乎成为了通路注释的代名词。
很多事实已经证明,KEGG的数据是非常可靠的,但是我们要注意,KEGG有两个比较大的缺点:第一就是注释源问题,它只提到由相关专家收集整理而成,没有参考文献等来源信息;第二就是授权问题,由于它授权过于严格,Biocondocutor已经无法继续支持它,转而开始使用更加开源的Reactome数据库。
在R语言中KEGG分析主要是由Bioconductor的GeneAnswers包实现的。
接着上一期的代码,我们进行今天的分析。
Bioconductor基因芯片数据分析之GO分析
#安装并加载所需R包。
BiocManager::install("GeneAnswers")library(GeneAnswers)
#选取dif中的三列信息构成新的矩阵,第一列必须是EntrezID
humanGeneInput <- dif[, c("EntrezID", "logFC", "P.Value")]
## 获得humanGeneInput中基因的表达值
humanExpr <- eset[match(rownames(dif), rownames(eset)), ]
# 前两个数据做列合并,第一列必须是EntrezID
humanExpr <- cbind(humanGeneInput[, "EntrezID"], humanExpr)
# 去除NA数据
humanGeneInput <- humanGeneInput[!is.na(humanGeneInput[, 1]),]humanExpr <- humanExpr[!is.na(humanExpr[, 1]),]
# KEGG通路的超几何检验
y <- geneAnswersBuilder(humanGeneInput "org.Hs.eg.db", categoryType = "KEGG",testType = "hyperG", pvalueT = 0.1, geneExpressionProfile = humanExpr, verbose = FALSE)
getEnrichmentInfo(y)[1:6,]
我们利用GeneAnswers包实现了KEGG通路的注释、统计和可视化的功能。
同时GeneAnswers具有强大的功能,除了KEGG,还可以支持GO、REACTOME和CABIO等多个数据库,可以通过设定参数categoryType分别指定注释类型。
从最终的结果可以看到每个显著性富集的通路含有6列信息(不包括行号):
第1列"genes in Category"表示有多少个基因属于这个通路;第2列"percent in the observed List"表示在观察到的基因列表中的比例;第3列"percent in the genome"是在基因组中的比例;第4列"fold of overrepresents"是基因过表达的倍数;第5列"OddsRatio"是超几何分布中的比值比;第6列"P.value"是超几何检验的P值。