189 8069 5689

r语言做go的气泡图 r语言做gm

【R画图】GOplot

富集分析是生信中最常见和常用的一种手段,不管是pathway还是GO。展示形式正塌也是五花八门,比如我们自己最常用的就是气泡图。

创新互联主营古塔网站建设的网络公司,主营网站建设方案,重庆App定制开发,古塔h5微信平台小程序开发搭建,古塔网站营销推广欢迎古塔等地区企业咨询

最近看到一些其它的展示方式,用GOplot包画的,如下:

看上去,好像还挺好看,所以顺手测试学习了一下。

官网地址:

=====安装包=====

官方推荐的安装方式:

install.packages('GOplot')

install_github('wencke/wencke.github.io')

library(GOplot)   //加载包

data(EC)      //示例数据

======功能测试=====

head(EC$david)           //富集分析结果

head(EC$genelist)    //差异基因

circ - circle_dat(EC$david,EC$genelist)    //生成画图的基本数据

可以看出circ有GO的category, GO ID/term, genes,pvalu以及zscore等组成。

但是zscore和我们的标准化数据不太一样,从官方给出的计算公式是上调和下调基因的个数与总个数的比值。有点能看出是上调还是下调响应的。

//下面可以画出一个简单的bar图

GOBar(subset(circ, category == 'BP'))

GOBar(circ, display = 'multiple')   //这个可以三类GO都画,上面的只画了BP

GOBar(circ, display = 'multiple', zsc.col = c('yellow', 'black', 'cyan'))  //换个zscore的色系

GOBubble(circ, labels = 3)      //气泡图  labels表示对于Y轴大于3的显示标签

GOBubble(circ,title = 'Bubble plot', colour = c('orange', 'darkred', 'gold'), display ='multiple', labels = 3)  //可以把三类分开展示

GOBubble(circ, title = 'Bubble plot withbackground colour', display = 'multiple', bg.col = T, labels = 3)   //改变背景色

另外,为了不显示一族清神些冗余的term,GOplot里面有个reduce_overlap函数可以用来减少冗余terms数目。该功能删除所有基因重叠大于或等于设定阈值的terms。保留每个组的一个terms作为代表,而不考虑GO层次结构。

reduced_circ - reduce_overlap(circ,overlap = 0.75)  //   删除所有基因重叠大于等于 0.75的 terms

GOBubble(reduced_circ, labels = 2.8)

注:看着是比前面清晰很多

GOCircle(circ)       //可以画GO的圈图

当然也可以指定自己感兴趣的terms

IDs - c('GO:0007507', 'GO:0001568','GO:0001944', 'GO:0048729', 'GO:0048514', '兆亏GO:0005886', 'GO:0008092','GO:0008047')

GOCircle(circ, nsub = IDs)

GOplot还可以做GO和gene的关联图

chord - chord_dat(circ, EC$genes,EC$process)    //准备基础数据

chord - chord_dat(data = circ, genes =EC$genes, process = EC$process)

GOChord(chord, space = 0.02, gene.order ='logFC', gene.space = 0.25, gene.size = 5)

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

前面我给大家详细介绍过

☞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富集分析视频讲解

R数据可视化7:气泡图 Bubble Plot

气泡图(Bubble Plot)就是由一个个像气泡元素组成的图,和普通的散点图不同,该图可以展示三维信禅枯甚至四维信息,如下图: 点的位置即其横纵坐标分别代表了Weight和Height,气泡的大小代表了Age,颜色代表了不同个体。

再举几个例子:

上面用了不同形式展示了GO或其他富集的结果。上图和右下图中,我们用颜色代表GO的类别,用横纵坐标代表p-value和z-score,用大小代表富集的基因Count。左下图我们用颜色代表p-value,用大小代表GeneCount,横坐标代表GeneRatio,纵坐标代表具体的类别。

从上述例子中可以发现用气泡图我们能展示更多的数据信息。 随着多组学研究的涌现,我们急需在同一张图表理展现多维的数据,气泡图就是一个不错的选择。

1)需要什么格式的数据

根据最终想要在气泡图上展示数据的维度以确定数据的格式。

本次用一个来自于GOplo包的数据EC,该数据为RNA-seq的下游分析数据。

该数据标准化处理后进行统计分析以确定了差异表达基因。 使用DAVID功能注释工具对差异表达基因(调整后的p值0.05)进行基因注释富集分析。

由于本次将使用两个包一个是GOplot专门用于转录组数据的下游展示,还有一个是我们常用的画图包ggplot2, 需要注意的是用于ggplot2的作图数据还要基于circ略作修改,具体见下文。

2)如何作图

GOplot 包提供了直接做气泡图的方法:

略袭世调整参数之后可以对图的布局、颜色等进行调整:滑洞

然后,我们来看一看用常见的包ggplot2应该如何做该图。

首先我们要对数据处理一下,剔除一些不必要的信息:

稍作改变,去除图例添加facet。

往期 R数据可视化 分享

R数据可视化6: 面积图 Area Chart

R数据可视化5: 热图 Heatmap

R数据可视化4: PCA和PCoA图

R数据可视化3: 直方/条形图

R数据可视化2: 箱形图 Boxplot

R数据可视化1: 火山图


当前文章:r语言做go的气泡图 r语言做gm
当前网址:http://cdxtjz.cn/article/ddpijes.html

其他资讯