在RNA-seq的GO富集分析中,若遇到较多的基因一起拿去GO富集分析,此时得到的GO term玩玩很多,而且GO term还可以分为BP(Biological Process)、CC(Cellular Component)和MF(Molecular Function),因此多的时候甚至能富集到100多个GO terms,此时可以借助柱形图或者棒棒糖进行可视化。

library(tidyverse)
library(cowplot)
library(ggsci)
library(openxlsx)#=========================导入数据==========================
GO_term <- read.xlsx('NPvsCK.xlsx') %>%dplyr::select(Category, Description, Count)#=========================棒棒糖图==========================ggplot(data = GO_term, aes(x = Description, y = Count)) +geom_segment(aes(x = Description, y = 0, xend = Description, yend = Count, color = Category)) +geom_point(size = 4, aes(color = Category))+scale_color_npg() +scale_y_continuous(expand = c(0,0), limits = c(0,90)) +theme_half_open() +theme(axis.text.x = element_text(angle = 90,size = 7,hjust = 1,vjust = 0.2))

从图中可以看出,虽然ggplot帮助我们画出了棒棒糖图,但是它并没有按照BP,MF,CC以及Count的数目进行排序,这是要是因为,我们没有设置Description的因子(factor),因此ggplot默认按Description的字母顺序进行排列,所以就显得画出来的图很无序,不美观。接下来就需要设置factor的levels。

要想设置按BP,CC,MF的顺序,以及Count的顺序进行绘图,就需要修稿Description这一列的factors里面的levels,因此我们利用arrange, 以Category为主要关键字,Count为次要关键字进行排序,从而得到新的levels的Description的顺序,代码如下:

GO_term <- read.xlsx('NPvsCK.xlsx') %>%dplyr::select(Category, Description, Count) %>%#先进行排序,然后得到排序后的Description的顺序arrange(Category, desc(Count)) %>%#将排序好后的Description赋值给factor里面的levelsmutate(Description = factor(Description, levels = Description))

设置好Description这列的因子(factor)里面的levels后就有可以进行绘图了,代码还是上述代码:

ggplot(data = GO_term, aes(x = Description, y = Count)) +geom_segment(aes(x = Description, y = 0, xend = Description, yend = Count, color = Category)) +geom_point(size = 4, aes(color = Category))+scale_color_npg() +scale_y_continuous(expand = c(0,0), limits = c(0,90)) +theme_half_open() +theme(axis.text.x = element_text(angle = 90,size = 7,hjust = 1,vjust = 0.2))

从上图可以看出,修改levels后画出的图顺序并不混乱。而且容易看出哪些GO term里面的基因较多。

当然,我们也可以展示为柱形图,代码如下:

GO富集分析可视化——柱形图和棒棒糖图相关推荐

  1. R语言ggplot2可视化可视化排序的棒棒糖图、类似于排序的条形图(Lollipop Chart)、为可视化图像添加标题和副标题、题注信息、自定义轴坐标文本的角度

    R语言ggplot2可视化可视化排序的棒棒糖图.类似于排序的条形图(Lollipop Chart).为可视化图像添加标题和副标题.题注信息.自定义轴坐标文本的角度 目录

  2. r语言进行go富集分析_GO富集分析可视化:R语言GOplot包

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

  3. python 的pyecharts可视化.柱形图和折线图的结合(2)

    Exharts是百度开源的一个数据可视化的JS库,pyecharts是python和Echarts的一个接口 下面是柱形图和折线图的结合,可以从两种图看出不一样的东西 环境:pip install p ...

  4. r语言进行go富集分析_GO富集分析可视化:R语言GOplot包——准备自己的数据

    GO注释和富集分析 GO注释和富集分析使用TBtools完成,具体步骤可以参考TBtools作者在腾讯课堂开设的一系列视频课程 本文使用的数据是甜樱桃叶绿体蛋白编码基因做GO注释,然后挑部分基因做富集 ...

  5. 富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明

    概念: 基因富集分析是指对于给定一组基因根据基因组注释信息(GO.KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路). 基因的功能富集的目的是说明给定的基因集对 ...

  6. 一文掌握GSEA通路富集分析,超详细教程!

    生信宝典之前总结了一篇关于GSEA富集分析的推文--GSEA富集分析:从概念理解到界面实操,介绍了GSEA的定义.GSEA原理.GSEA分析.Leading-edge分析等,是全网最流行的原理+操作兼 ...

  7. 单个基因集富集分析泡泡图绘制

    富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一.其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路 ...

  8. 赠你一只金色的眼 - 富集分析和表达数据可视化

    GOplot包介绍 GOplot包用于生物数据的可视化.更确切地说,该包将表达数据与功能分析的结果整合并进行可视化.但是要注意该包不能用于执行这些分析,只能把分析结果进行可视化.在所有科学领域,由于空 ...

  9. R 学习 - 富集分析泡泡图回应

    R语言学习 - 富集分析泡泡图 刚一出品,Y叔就说有硬伤.Y叔是著名富集分析软件clusterprofiler的原创,而且软件内集成dotplot, enrichmap,cnetmap (后续也实现这 ...

最新文章

  1. java中基本字节输出流类是_java中基本输入输出流的解释
  2. 『PyTorch』第五弹_深入理解autograd_中:Variable梯度探究
  3. 飞桨端到端开发套件揭秘:低成本开发的四大秘密武器
  4. ASP.NET Web API中实现版本
  5. 【转】数学与编程——求余、取模运算及其性质
  6. Spring缓存注解@Cache使用
  7. docker中的mysql操作
  8. 一个代码托管平台居然公开拒招中国人,谁给了你歧视中国程序员的勇气?
  9. eclipse配置tomcat,并部署一个Java web项目到tomcat上
  10. SFR算法详解(二)——斜棱法
  11. HuaWei ❀ Radius协议概述
  12. 宋红康jvm学习p1-100
  13. 绚丽的魔兽世界,广袤的艾泽拉斯大陆
  14. ZYNQ+NVMe 小型化全国产存储方案
  15. 随机变量的函数的分布
  16. 数学基础:向量求导整理
  17. Tarena代码-一些代码碎片
  18. 颠狂柳絮随风舞-_-!
  19. Cityscapes数据集的深度完整解析
  20. 又一华为程序员进了ICU:压垮一个家庭,一张结算单就够了!

热门文章

  1. 关于 go run 命令执行过程中的“坑坑点点”
  2. 绝地大逃杀官方指定迅游加速
  3. 计算机专业的研究生专业方向
  4. 趣头条疯狂777就是坑货,根本不是纯随机
  5. 通过Python分析2020年全年微博热搜数据
  6. npm 使用淘宝镜像及切换回官方源
  7. 初识计算机网络||物理层
  8. mysql 官网下载太慢了,来这里!!!
  9. 什么是ThreadLocal?ThreadLocal基本使用
  10. nslookup命令使用技巧