前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GO富集分析可视化:R语言GOplot包

GO富集分析可视化:R语言GOplot包

作者头像
用户7010445
发布2020-03-03 15:02:14
3K1
发布2020-03-03 15:02:14
举报

找R语言做弦图的教程的时候发现了这个包:GOplot。其主要功能是可视化GO富集分析的结果。自己应该会用得到。 第一步是学习其帮助文档中的例子,然后学习如何准备自己的数据,并利用这个包中的函数来绘图

查看帮助文档
代码语言:javascript
复制
library(GOplot)
help(package="GOplot")
重复帮助文档中的教程
代码语言:javascript
复制
data(EC)
class(EC)
dim(EC$david)
dim(EC$genelist)
circ<-circle_dat(EC$david,EC$genelist)
class(circ)
head(circ)

  category         ID              term count  genes
1       BP GO:0007507 heart development    54   DLC1
2       BP GO:0007507 heart development    54   NRP2
3       BP GO:0007507 heart development    54   NRP1
4       BP GO:0007507 heart development    54   EDN1
5       BP GO:0007507 heart development    54 PDLIM3
6       BP GO:0007507 heart development    54   GJA1
       logFC adj_pval     zscore
1 -0.9707875 2.17e-06 -0.8164966
2 -1.5153173 2.17e-06 -0.8164966
3 -1.1412315 2.17e-06 -0.8164966
4  1.3813006 2.17e-06 -0.8164966
5 -0.8876939 2.17e-06 -0.8164966
6 -0.8179480 2.17e-06 -0.8164966

我们自己的数据按照这个格式准备应该就可以

  • 柱形图
代码语言:javascript
复制
GOBar(subset(circ,category=="BP"))

image.png 横坐标字体有点大,试了一下用ggplot2的主题来调节

代码语言:javascript
复制
GOBar(subset(circ,category=="BP"))+
  theme(axis.text.x = element_text(size=5))

image.png 猜测这个GOBar函数其实就是ggplot2柱形图函数的封装

  • 气泡图
代码语言:javascript
复制
GOBar(subset(circ,category=="BP"))

image.png 试了一下一下调节图例的位置,没有成功

代码语言:javascript
复制
GOBar(subset(circ,category=="BP"))+
  theme(axis.text.x = element_text(size=5))
  • 气泡图分面
代码语言:javascript
复制
GOBubble(circ, title = 'Bubble plot', colour = c('orange', 'darkred', 'gold'), display = 'multiple', labels = 3)

image.png

  • 背景还可以添加颜色
代码语言:javascript
复制
GOBubble(circ, title = 'Bubble plot with background colour', display = 'multiple', bg.col = T, labels = 3)

image.png

以上的图用ggplot2应该也可以实现,但这个包可以一条命令出图,非常方便

接下来是弦图
代码语言:javascript
复制
chord <- chord_dat(circ, EC$genes, EC$process)
head(chord)
pdf("chord1.pdf",height = 13,width = 13)
GOChord(chord, space = 0.02, gene.order = 'logFC', gene.space = 0.25, gene.size = 5)
dev.off()

image.png

热图
代码语言:javascript
复制
GOHeat(chord[,-8], nlfc = 0)

image.png

聚类图
代码语言:javascript
复制
GOCluster(circ, EC$process, clust.by = 'logFC', term.width = 2)

image.png

韦恩图
代码语言:javascript
复制
l1 <- subset(circ, term == 'heart development', c(genes,logFC))
l2 <- subset(circ, term == 'plasma membrane', c(genes,logFC))
l3 <- subset(circ, term == 'tissue morphogenesis', c(genes,logFC))
GOVenn(l1,l2,l3, label = c('heart development', 'plasma membrane', 'tissue morphogenesis'))

image.png

对这个包的简单评价:一条函数出图非常方便,但是如何准备自己的数据可能会比较麻烦!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查看帮助文档
  • 重复帮助文档中的教程
  • 接下来是弦图
  • 热图
  • 聚类图
  • 韦恩图
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档