有一些软件做了检验之后,是不告诉你那些基因在某个富集的通路中,显然做为生物学家,是对此有兴趣的。clusterProfiler系列,全部函数都会输出,但看基因ID,比如ENTREZID或ENSEMBLE,这些都对人类不友好,看了你也不知道是什么,为了让大家看结果的时候,还能有点感觉,我们需要把基因翻译成symbol,有那么一批函数比如DO、GO、Reactome的分析都是有readable参数的,但有一些是没有这个参数的,我被问得最多的是KEGG的分析为什么没有!

首先GO为什么有?因为enrichGOgseGO都是使用OrgDb,而OrgDb本身带有ID转换的注释,而KEGG是在线去检索KEGG数据库的,KEGG并没有提供这些信息,当然对于少量大家比较熟悉的模式生物,要支持还是很容易的,然而有些物种支持,有些不支持,大家又会问了,凭什么我做的物种被BS了。所以啊,大家都不支持,挺公平。其实KEGG数据库里那么多的生物,很多物种是没有基因名的,有很多生物的注释还停留在基因座,你让我帮你转ID,臣妾做不到啊。

但起码对能支持的物种支持一下呗,以我一贯的作风,能帮小白解决的小问题,我都会去解决。于是我们有setReadable函数。但凡你能找到一个OrgDb,你就能用来转ID,就这样。

Continue reading

拟南芥的富集分析

「知识星球」里的问题,https://t.zsxq.com/aEyneA2,拟南芥的ID怎么搞,这个内置是支持的。

比如我随便搞几个ID来演示一下:

> require(clusterProfiler)
Loading required package: clusterProfiler

clusterProfiler v3.9.0  For help: https://guangchuangyu.github.io/software/clusterProfiler

If you use clusterProfiler in published research, please cite:
Guangchuang Yu, Li-Gen Wang, Yanyan Han, Qing-Yu He. clusterProfiler: an R package for 
comparing biological themes among gene clusters. OMICS: A Journal of Integrative Biology. 2012, 16(5):284-287.

g <- c("AT5G61600", "AT2G44230", "AT1G49130", "AT1G30310", "AT3G18560",
"AT2G15960", "AT2G29290", "AT1G08930", "AT2G44460", "AT3G46600",
"AT5G24380", "AT3G59270", "AT5G55780", "AT2G45090", "AT5G38430",
"AT2G17040", "AT4G35770", "AT5G30341", "AT1G56320", "AT2G16367")

Continue reading

模式生物做什么都简单,非模式生物则很多缺少注释,没有注释你就没法做,只能是借助于各种软件比如blastgo,自己跑电子注释。但今天要讲的不是这种情况,很多物种还是有注释的,只是你有时候不知道该去那里下载,或者你有数据,却不知道该怎么用!很多的软件都是针对模式生物的,或者针对某一些类型的非模式生物,能够支持多种非模式生物,能够支持用户自己的注释文件的软件相对来讲,就非常少有了,然而clusterProfiler就是这类少有的软件之一。

获得OrgDb

今天要讲的是通过OrgDb来做GO分析,这是clusterProfiler的enrichGO函数所支持的背景注释,Bioconductor自带20个OrgDb可供使用,多半是模式生物,难道我们要做的物种不在这20个里面就不行了吗?显然不是的,clusterProfiler能支持的物种我自己都数不过来。

我们可以通过AnnotationHub在线检索并抓取OrgDb,比如这里以玉米为例:

Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong