搜索
查看: 5533|回复: 5

[mRNA-seq] 差异基因GO富集[topGO包]

[复制链接]

1

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
发表于 2016-12-13 09:40:45 | 显示全部楼层 |阅读模式
转录组我们做完差异基因后,接下来想知道这些个差异基因影响着哪些功能等,一般我们会做一个GO注释和富集。拿人来事例GO富集,因为人的基因的注释信息都有,那么接下来,我们采用topGO包来做GO富集。

首先安topGO包:https://www.bioconductor.org/packages/release/bioc/html/topGO.html
根据网页指示:
[AppleScript] 纯文本查看 复制代码
## try http:// if https:// URLs are not supported
source("https://bioconductor.org/biocLite.R")
biocLite("topGO")


topGO使用:
首先,我们制作准备文件,CC、BP、MF三个注释文件,格式为:基因ID\t GO:xxx,GO:yyy
  
      
然后准备我们的差异基因列表,一列ID。
  
运行R;
[AppleScript] 纯文本查看 复制代码
library("topGO")
geneID2GO<-readMappings(file=“human_go.CC”)
geneNames<- names(geneID2GO)
a<-read.table(“interest_genes_list”)
myInterestingGenes<- a[,1]
geneList<- factor(as.integer(geneNames \%in\% myInterestingGenes))
names(geneList)<- geneNames
GOdata <-new("topGOdata",, allGenes = geneList, annot= annFUN.gene2GO, gene2GO = geneID2GO)
allGO =usedGO(object = GOdata) 
resultCFis<-runTest(GOdata,algorithm="classic",statistic="fisher")
gtFis<-GenTable(GOdata,classicFisher=resultCFis,orderBy="classic",ranksOf="classicFisher",topNodes=length(allGO))
fdr<-p.adjust(p=gtFis[,"classicFisher"],method="fdr")
r <-cbind(gtFis,fdr)
write.table(r,file="topGO_CC.xls",sep="\t")
showSigOfNodes(GOdata,score(resultCFis),firstSigNodes= 5, useInfo = "all")
#输出每个go的基因以及注释到这个go的差异基因[可以不做这个]
for (gos in allGO){            
goID <-gos;            
gene.universe <- genes(GOdata);            
go.genes <- genesInTerm(GOdata,goID)[[1]];            
sig.genes <- sigGenes(GOdata);            
file1=paste("GO-TMP_CC_sig_",gos,sep="");            
write.table(sig.genes,file=file1);            
file2=paste("GO-TMP_CC_go_",gos,sep="");            
write.table(go.genes,file=file2);
}


当然,里面的参数可以自己选择,详细的请阅读topGO的文档。后面自行整理格式。


OK啦~
欢迎指正与交流~


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x



上一篇:结构变异易位
下一篇:甲基化DNA免疫沉淀
回复

使用道具 举报

2

主题

11

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2016-12-14 10:57:24 | 显示全部楼层
您好,您的file=“human_go.CC”是不是在数据库中下载的?在哪个数据库中呢?我的物种在GO数据库找不到,您有什么好的建议嘛?
回复 支持 反对

使用道具 举报

1

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 发表于 2016-12-27 11:39:02 | 显示全部楼层
回首默然 发表于 2016-12-14 10:57
您好,您的file=“human_go.CC”是不是在数据库中下载的?在哪个数据库中呢?我的物种在GO数据库找不到,您 ...

人的是我自己整理的。其他找不到的你得blast2go了吧,这个我还没用过。。。不好意思哈
回复 支持 反对

使用道具 举报

0

主题

5

帖子

59

积分

注册会员

Rank: 2

积分
59
发表于 2017-12-11 21:45:42 | 显示全部楼层
本帖最后由 xiaoaozqd 于 2017-12-11 21:51 编辑

请教一下,我在运行到“GOdata <-new("topGOdata",, allGenes = geneList, annot= annFUN.gene2GO, gene2GO = geneID2GO)” 报错,应该是多了一个“,”, 删除后又报错“Error in .local(.Object, ...) : 缺少参数"ontology",也没有缺省值”,需要添加 ontology = "xx"
回复 支持 反对

使用道具 举报

0

主题

5

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2018-1-12 21:09:57 | 显示全部楼层
你好,上面的代码其中矫正的不是P值?是富集的计算值?我看文档里面说 score(gtFis)可以得到P值,然后再矫正。
回复 支持 反对

使用道具 举报

0

主题

5

帖子

63

积分

注册会员

Rank: 2

积分
63
发表于 2018-1-12 21:16:16 | 显示全部楼层
xiaoaozqd 发表于 2017-12-11 21:45
请教一下,我在运行到“GOdata

ontology要选 BP,CC或者MF
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树    

GMT+8, 2018-7-22 11:09 , Processed in 0.123895 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.