功能注释后如何做富集分析

本文是为了回答知识星球里的一个提问,他为了用clustrProfilr做富集分析,打算构建一个OrgDb,也就是物种数据库。

提问

我之前写过用Bioconductor对基因组注释,用Bioconductor/AnnotationHub对模式植物的基因进行注释如何用bioconductor进行注释。昨天的推送,我讲过新物种的注释基本上都是基于同源相似性搜索数据库完成,最后得到的就是基因名和数据库中注释的对应关系。Orgdb是Bioconductor计划中其中一环,通过构建一个物种各个数据库注释条目和基因的对应关系数据库,方便在得到基因后对基因进行注释。

nrichGO的前三个参数gn,OrgDb,kyTyp的目的是利用数据库将基因编号转换成GO号。nrichKEGG的前三个参数gn,organism,kyTyp的目的也是为了基于物种名和基因编号直接爬取KEGG,将基因编号转换成KO号。

如果你只是为了做GO和KEGG富集分析,有必要构建物种数据库吗?我的答案是没有必要,因为不构建物种数据库也能够用clustrProfilr做富集分析。

我相信Y叔一定提供了不通过OrgDb,将转换基因编号为GO/KO编号,然后做富集分析的方法,所以我就去翻了Y叔为clustrProfilr写的文档。于是我找到这一篇usclustrProfilrasanunivrsalnrichmntanalysistool,这里面提到了一个通用的函数nrichr用于支持新注释物种.

一个优秀的R包一定会提供优质的帮助文档,何况clustrProfilr的引用已经破了。单篇引用超过了,来了解一下

核心参数两个gn,TERM2GENE,前者表示的基因编号,后者是GO/KEGG条目和基因编号的对应关系

nrichr(gn,pvaluCutoff=0.05,pAdjustMthod="BH",univrs,

minGSSiz=10,maxGSSiz=,qvaluCutoff=0.2,TERM2GENE,

TERM2NAME=NA)

由于我只拿到了我的KEGG注释,GO注释还在运行中,这次就以KEGG富集分析作为例子。

我从KEGG上拿到的注释是下面这种情况,很明显,有些基因没有注释。这些没有注释的基因应该如何注释?Y叔的建议是不要,全部丢掉,原因去参考资料中找。

CAROC.1

CAROC.1K

CAROC.1K

CAROC.1K

CAROC.1

CAROC.1

CAROC.1

CAROC.1

CAROC.1

CAROC.1

简单的grp就可以完成这个剔除工作,grpKqury.kokgg.tsv,然后将kgg.tsv导入到我们的R语言中

gn_ko-rad.tabl("C:/Usrs/DELL/Dsktop/KEGG.tsv",hadr=FALSE,

sp="\t")

然后我们随机抽样几个基因作为gn输入,同时构建TERM2GENE的输入

trm2gn-data.fram(TERM=gn_ko$V2,GENE=gn_ko$V1)

gn_sampl-sampl(gn_ko$V1,)

nkgg-nrichr(gn_sampl,TERM2GENE=trm2gn,pAdjustMthod="non")

我这里不用多重实验矫正的原因,因为我是随机抽的基因,很有可能是一个富集都找不到。。所以为了后续演示,就把矫正去掉了,真实情况下,你是要的。

参考资料

富集基因之注释缺失

说一点跟超几何分布检验无关的事情

whyclustrProfilrfails

落入窠臼

徐洲更









































北京中科白癜风医院公益抗白
北京中科高效抗白个性施术



转载请注明:http://www.bjgongshangzhuce.com/jyxc/5574.html


当前时间: