10、差异基因topGO富集

参考:http://www.biotrainee.com/thread-558-1-1.html

http://bioconductor.org/packages/3.7/bioc/

http://www.bioconductor.org/packages/release/bioc/html/topGO.html

topGO使用:

首先,我们制作准备文件,CC、BP、MF三个注释文件,格式为:基因ID\t GO:xxx,GO:yyy(topGO.map)

然后准备我们的差异基因列表,两列差异基因ID\t FDR。(topGO.list)

library("topGO")
geneID2GO<-readMappings(choose.files())  ##读取所有基因注释信息
geneNames<- names(geneID2GO)

data<-read.table(choose.files(), row.names = 1, header=TRUE,check.names =F)  ##读取差异基因的ID
geneList<-data[,1]
names(geneList) <- rownames(data)
topDiffGenes<-function(allScore){return(allScore<0.05)}
###BP
sampleGOdata <- new("topGOdata",nodeSize = 6,ontology="BP", allGenes = geneList,annot = annFUN.gene2GO, gene2GO = geneID2GO,geneSel=topDiffGenes)
resultKS.elim <- runTest(sampleGOdata, algorithm = "elim", statistic = "ks")
allRes <- GenTable(sampleGOdata,KS = resultKS.elim,ranksOf = "classic", topNodes = attributes(resultKS.elim)$geneData[4])
write.table(allRes, file="T01_vs_T02.topGO_BP.xls", sep="\t", quote=FALSE, col.names=TRUE, row.names=FALSE)

pdf("T01_vs_T02.topGO_BP.pdf")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()

png("T01_vs_T02.topGO_BP.png")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()
##MF
sampleGOdata <- new("topGOdata",nodeSize = 6,ontology="MF", allGenes = geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO,geneSel=topDiffGenes)
resultKS.elim <- runTest(sampleGOdata, algorithm = "elim", statistic = "ks")
allRes <- GenTable(sampleGOdata,KS = resultKS.elim,ranksOf = "classic", topNodes = attributes(resultKS.elim)$geneData[4])
write.table(allRes, file="T01_vs_T02.topGO_MF.xls", sep="\t", quote=FALSE, col.names=TRUE, row.names=FALSE)
pdf("T01_vs_T02.topGO_MF.pdf")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()

png("T01_vs_T02.topGO_MF.png")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()
##CC
sampleGOdata <- new("topGOdata",nodeSize = 6,ontology="CC", allGenes = geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO,geneSel=topDiffGenes)
resultKS.elim <- runTest(sampleGOdata, algorithm = "elim", statistic = "ks")
allRes <- GenTable(sampleGOdata,KS = resultKS.elim,ranksOf = "classic", topNodes = attributes(resultKS.elim)$geneData[4])
write.table(allRes, file="T01_vs_T02.topGO_CC.xls", sep="\t", quote=FALSE, col.names=TRUE, row.names=FALSE)
pdf("T01_vs_T02.topGO_CC.pdf")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()

png("T01_vs_T02.topGO_CC.png")
showSigOfNodes(sampleGOdata, score(resultKS.elim), firstSigNodes = 10, useInfo = "all")
dev.off()

原文地址:https://www.cnblogs.com/renping/p/9502514.html

时间: 2024-11-08 00:27:23

10、差异基因topGO富集的相关文章

edgeR之配对检验分析差异基因的使用教程

edgeR的介绍 背景 RNA-seq表达谱与生物复制的差异表达分析. 实现一系列基于负二项分布的统计方法,包括经验贝叶斯估计,精确检验,广义线性模型和准似然检验. 与RNA-seq一样,它可用于产生计数的其他类型基因组数据的差异信号分析,包括ChIP-seq,Bisulfite-seq,SAGE和CAGE. 简介 edgeR包是进行RNA-seq数据分析非常常用的一个R包.该包需要输入每个基因关于每个样本的reads数的数据,每行对应一个基因,每一列对应一个样本.edgeR作用的是真实的比对统

GSEA - Gene set enrichment analysis 基因集富集分析原理与应用

RNA-seq是利器,大部分做实验的老板手下都有大量转录组数据,所以RNA-seq的分析需求应该是很大的(大部分的生信从业人员应该都差不多要沾边吧). 普通的转录组套路并不多,差异表达基因.富集分析.WGCNA network以及一些没卵用的花式分析.DEG分析是基础,up and down,做个富集,了解一下处理后到底是什么通路被改变了:WGCNA主要就是根据相关性来找出一些co-express的gene module. 单细胞的转录组的玩法就比较多了,可以理解为超多样本的普通转录组,普通转录

8种特殊建库测序

1. RNA-seq 2. 外显子测序 3. small RNA-seq 4. 单细胞DNA测序 5. 单细胞mRNA测序 6. 甲基化测序 7.Moleculo长测序 8. Ribozero和方向性RNA文库 1. RNA-seq 今天呐,主要是给大家介绍一下RNA-seq(RNAsequencing).也就是RNA的高通量测序技术. 因为我们这个节目主要是针对医学方面的技术进展,所以,我们今天对于RNA的介绍,也会侧重于人的RNA测序方面的技术介绍,以及相关的生物信息学方面的工作. RNA高

xgene:WGS,突变与癌,RNA-seq,WES

 人类全基因组测序06 SNP(single nucleotide polymorphism):有了10倍以上的覆盖深度以后,来确认SNP信息,就相当可靠了. 一个普通黄种人的基因组,与hg19这个参考基因组序列相比,会有350万个左右的SNP.又有大概2万个是落在外显子上的,而非同义的SNP有大概9千个. 所谓非同义的SNP,就是这些SNP是会引起蛋白质的序列变化的. indel:(insertion & deletion)是指小于50个bp以内的微小的插入.和缺失突变.一个普通黄种人的基因组

转录组分析的正确姿势

转录组分析的正确姿势 转录组分析是目前应用最广的高通量测序分析技术之一.常见设计是不同样品之间比较,寻找差异基因.标志基因.协同变化基因.差异剪接和新转录本,并进行结果可视化.功能注释和网络分析等. 转录组的测序分析也相对成熟,从RNA提取.构建文库.上机测序再到结果解析既可以自己完成,又可以在专业公司进行. 概括来看转录组的分析流程比较简单,序列比对-转录本拼接 (可选)-表达定量-差异基因-功能富集-定制分析.整个环节清晰流畅,可以作为最开始接触高通量测序学习最合适的技术之一. 但重点和难点

【R】clusterProfiler的GO/KEGG富集分析用法小结

前言 关于clusterProfiler这个R包就不介绍了,网红教授宣传得很成功,功能也比较强大,主要是做GO和KEGG的功能富集及其可视化.简单总结下用法,以后用时可直接找来用. 首先考虑一个问题:clusterProfiler做GO和KEGG富集分析的注释信息来自哪里? GO的注释信息来自Bioconductor,提供了19个物种的org类型的GO注释信息,如下表所示.Bioconductor中更多的注释包可参考http://www.bioconductor.org/packages/rel

Bioconductor应用领域之基因芯片

引用自https://mp.weixin.qq.com/s?__biz=MzU4NjU4ODQ2MQ==&mid=2247484662&idx=1&sn=194668553f954e231f4526f5c944a195&chksm=fdf84cb4ca8fc5a2c0e8355377f9d6abdc4fa36b304aa8c533b5e82e49de30d443366ff3346a&mpshare=1&scene=1&srcid=09097IKbsc

基因 GO

利用DAVID简单的进行GO富集度分析(这里只做简单的分析,即看基因是否存在在GO的三个过程里面) 比如我们有一组要分析的基因:TRPV6    CXADR    PROM1    GRAMD2    SOX10    GPRIN2    VANGL2    GRHL1    BCL11A    MROH8(这里用的是关于人的基因名) 首先打开DAVID网页,选择Functional Annotation: 在左边的框里面按提示输入,步骤1,输入你的ID号,这里可以是基因ID,也可以是基因名,或

xgene:之ROC曲线、ctDNA、small-RNA seq、甲基化seq、单细胞DNA, mRNA

灵敏度高 == 假阴性率低,即漏检率低,即有病人却没有发现出来的概率低. 用于判断:有一部分人患有一种疾病,某种检验方法可以在人群中检出多少个病人来. 特异性高 == 假阳性率低,即错把健康判定为病人的概率低. 用于:被某种试验判定为患病的人中,又有多少是真的患了这种病的. 好的检测方法:有高的灵敏度(低的假阴性率).同时又有高的特异性(低的假阳性率). ROC 曲线: 横轴:100 - 特异性..即100减去特异性,特异性高,100减去特异性就低,故越小越好. 纵轴:灵敏度值. ROC分析图的