龙空技术网

Bioconductor基因芯片数据分析之GO分析

医数思维云课堂 163

前言:

此刻同学们对“go解析html”大概比较注重,姐妹们都需要知道一些“go解析html”的相关内容。那么小编也在网上汇集了一些有关“go解析html””的相关知识,希望各位老铁们能喜欢,同学们快快来学习一下吧!

上一期我们一起学习了如何差异表达基因的注释,接下来的工作就是统计分析和可视化。

对于差异表达分析,最主要的两种统计分析就是GO的富集分析和KEGG通路的富集分析。

今天我们一起学习GO分析。

GO分析即基因本体论(Gene Onotology)分析,包括GO注释和GO富集分析。

GO是基因本体联合会(Gene Ontology Consortium)所建立的数据库,它由一组预先定义好的术语(GOterm)组成,这组术语对基因和蛋白质功能进行限定和描述,适用于各种物种,并能随着研究不断深入而更新。

GO中的每个术语都有唯一的一个GOID,GO的所有术语由有向无环图(DAG)来相互联系,术语之间通常有三种关系:"is_ a"、"part_ of" 和"regulates"。

在R语言中GO分析主要是由Bioconductor的GOstats包实现的。

我们这一期的代码内容是在上一期的内容的基础上运行的

Bioconductor基因芯片数据分析之注释

#加载所需R包

BiocManager::install("GOstats")library(GOstats)

#提取HG_U95Av2芯片中所有探针组对应的EntrezID,注意保证uniq

entrezUniverse <- unique(unlist(mget(rownames(eset),hgu95av2ENTREZID)))

#提取所有差异表达基因及其对应的EntrezID,注意保证uniq

entrezSelected <- unique(dif[!is.na(dif$EntrezID),"EntrezID"])

#设置GO富集分析的所有参数

params <- new("GOHyperGParams",geneIds=entrezSelected, universeGeneIds =entrezUniverse,annotation = affydb,ontology = "BP",pvalueCutoff = 0.001,conditional = FALSE,testDirection = "over")

#对所有的GOterm根据params参数做超几何检验。

hgOver <- hyperGTest(params)

#生成所有GOterm的检验结果报表

bp <- summary(hgOver)

#同时生成所有GOterm的检验结果文件,每个GOterm都有指向官方网站的链接,可以获得其详细信息

htmlReport(hgOver, file='ALL_ go.html')

#显示结果的前六行

head(bp)

从变量"bp"的结果可以看到每个显著性富集的GOterm含有六列信息(不包括行号):

第1列是GO term的ID,该ID对应的内容在后面列出,如"GO:0022900"对应后面的"respiratory electron transport chain";第2列"Pvalue"是超几何检验的P值;第3列"OddsRatio"是超几何分布中的比值比;第4列"ExpCount"是根据超几何分布,差异表达基因中期望属于这个GO term的基因数量;第5列"Count"是差异表达基因中实际属于这个GO term的基因数量;第6列"Size"是总基因中属于这个GO term的基因数量。

以"GO:0022904"为例,此次分析的总基因数量为8804,差异表达基因数量为113个基因中有75个基因(即"Size")属于"GO:0022904",如果从8804个基因中随机抽取113个基因,那么113个基因中期望属于"GO:0022904"的基因数量应该是2.25 (即"ExpCount"),而实际上是12个(即"Count"),根据这个情况,计算出来的P值应该是1.506871e-10(远远小于 0.01),因此可以说差异显著基因在"GO:0022904"上是显著富集的。

我们还通过函数htmlReport输出一个HTML的报告文件,它在前面六列信息的基础上,多加了一列GO term的描述,并且链接到GO的官方网站,便于读者进一步查看相关信息。

标签: #go解析html