R语言:clusterProfiler进行GO富集分析和Gene_ID转换

Python015

R语言:clusterProfiler进行GO富集分析和Gene_ID转换,第1张

ID转换用到的是 bitr() 函数,bitr()的使用方法:

org.Hs.eg.db包含有多种gene_name的类型

keytypes() :keytypes(x),查看注释包中可以使用的类型

columns() :类似于keytypes(),针对org.Hs.eg.db两个函数返回值一致

select() :select(x, keys, columns, keytype, ...) eg.

函数enrichGO()进行GO富集分析,enrichGO()的使用方法:

举例:

注:1)MF和CC方法同BP,将BP改为MF,CC即可。

2)可视化中,showCategory为显示的item数,scale_y_discrete则调节label过长的情况,让图片看起来

更美观。

3)检查结果,可见geneID展示为gene symbol。

(1)在enrichGO函数中,设置readable = TRUE

(2)用setReadable函数,对GO或者KEGG结果进行转化即可。

对基因的描述一般从三个层面进行:

这三个层面具体是指:

得到GO注释

做GO分析的思路:

比如,在疾病研究的时候,进行药物治疗之后某些基因的表达量明显的发生了变化,拿这些基因去做GO分析发现在Biological process过程当中集中在RNA修饰上,然后在此基础上继续进行挖掘。这个例子就是想启示大家拿到差异表达基因DEG只是一个开始,接下来就应该去做GO注释,之后需要进行一个分析看这些注释主要集中在哪个地方。假如我们有100个差异表达基因其中有99个都集中在细胞核里,那我们通过GO分析就得到了一个显著的分布。

GO富集分析原理:

有一个term注释了100个差异表达基因参与了哪个过程,注释完之后(模式生物都有现成的注释包,不用我们自己注释),计算相对于背景它是否显著集中在某条通路、某一个细胞学定位、某一种生物学功能。

clusterProfiler是一个功能强大的R包,同时支持GO和KEGG的富集分析,而且可视化功能非常的优秀,本章主要介绍利用这个R包来进行Gene Ontology的富集分析。

进行GO分析时,需要考虑的一个基础因素就是基因的GO注释信息从何处获取。Bioconductor上提供了以下19个物种的Org类型的包,包含了这些物种的GO注释信息

对于以上19个物种,只需要安装对应的org包,clusterProfile就会自动从中获取GO注释信息,我们只需要差异基因的列表就可以了,使用起来非常方便。

1.1 准备输入数据

待分析的数据就是一串基因名称了,可以是ensembl id、entrze id或者symbol id等类型都可以。把基因名称以一列的形式排开,放在一个文本文件中(例如命名“gene.txt”)。Excel中查看,就是如下示例这种样式。

1.3 GO富集分析

加载了注释库之后,读取基因列表文件,并使用clusterProfiler的内部函数enrichGO()即可完成GO富集分析。

读取基因列表文件,并使用clusterProfiler的内部函数enrichKEGG()即可完成KEGG富集分析。

此外,clusterProfiler中也额外提供了一系列的可视化方案用于展示本次富集分析结果,具有极大的便利。

参考:

https://www.jianshu.com/p/47b5ea646932?utm_source=desktop&utm_medium=timeline