【R语言】解决GO富集分析绘图,标签重叠问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【R语言】解决GO富集分析绘图,标签重叠问题相关的知识,希望对你有一定的参考价值。

参考技术A

前面我给大家详细介绍过

☞GO简介及GO富集结果解读

☞四种GO富集柱形图、气泡图解读

☞GO富集分析四种风格展示结果—柱形图,气泡图

☞KEGG富集分析—柱形图,气泡图,通路图

☞ DAVID GO和KEGG富集分析及结果可视化

也用视频给大家介绍过

☞ GO和KEGG富集分析视频讲解

最近有粉丝反映说,利用clusterProfiler这个包绘制GO富集分析气泡图和柱形图的时候,发现GO条目的名字都重叠在一起了。

气泡图

柱形图

这个图别说美观了,简直不忍直视。经过我的认真研究,发现跟R版本有关。前面我给大家展示的基本都是R 3.6.3做出来的图。很多粉丝可能用的都是最新版本的R 4.1.2。

我们知道R的版本在不停的更新,相应的R包也在不停的更新。我把绘制气泡图和柱形图相关的函数拿出来认真的研究了一下,终于发现的症结所在。

dotplot这个函数,多了个 label_format 参数

我们来看看这个参数究竟是干什么用的,看看参数说明

label_format :
a numeric value sets wrap length, alternatively a custom function to format axis labels. by default wraps names longer that 30 characters

原来这个参数默认值是30,当标签的长度大于30个字符就会被折叠,用多行来展示。既然问题找到了,我们就来调节一下这个参数,把他设置成100,让我们的标签可以一行展示。

是不是还是原来的配方,还是熟悉的味道

同样的柱形图,我们也能让他恢复原来的容貌。

关于如何使用R做GO和KEGG富集分析,可参考下文

GO和KEGG富集分析视频讲解

用topGO进行GO富集分析

参考技术A topGO是一个半自动的GO富集包,该包的主要优势是集中了好几种统计检验的方法,目前支持的统计方法如下:

BiocManager::install('topGO')
需要R的版本为>=2.10,但biocmanager安装需要的R版本更高,现在应该是3.6。

富集工作主要包括3个步骤:
1、准备相关数据;
2、进行富集统计检验;
3、分析结果。
所以最重要的工作就是数据的准备。需要的数据包括包含全部geneID(背景基因名,一般是研究物种的全部基因)的文件,需要进行富集分析的geneID(差异表达基因或感兴趣的基因)文件,还有gene-to-GO的注释文件。

物种全部的geneID和差异基因ID比较容易获得,比较费劲的是gene-to-GO文件。
topGO提供了一些函数来帮助我们自动获取注释信息:
annFUN.db :用于Bioconductor上有注释包的物种的芯片数据;
annFUN.org :用于Bioconductor上有“org.XX.XX”注释包的数据;
annFUN.gene2GO :用户自己提供gene-to-GO文件;
annFUN.GO2gene :用户提供的GO-to-gene文件也可以;
annFUN.file :读取有gene2GO或GO2gene的txt文件。
一般Bioconductor提供的注释物种并不多,我的方法主要是用AnnotationHub的select函数或biomaRt的getBM函数来获取,具体操作见: https://github.com/xianyu426/gene_annotation

自己提供gene2GO文件时,格式应该为:
gene_ID<TAB>GO_ID1, GO_ID2, GO_ID3, ....

这样就定义了一个topGOdata对象。

结果可以作气泡富集图。

showSigOfNodes(GOdata, score(resultWeight), firstSigNodes = 10, useInfo = "all")

以上是关于【R语言】解决GO富集分析绘图,标签重叠问题的主要内容,如果未能解决你的问题,请参考以下文章

R语言GEO数据挖掘-功能富集分析

R语言可视化之ggplot2——KEGG通路富集分析

单细胞之富集分析-3:GO和KEGG富集分析及绘图

一些GO及KEGG分析的知识

非模式生物GO、KEGG富集分析

GO富集结果整体可视化