• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    alphafold2培训

    alphafold2培训

    免费
    阅读更多
  • 特色
    • 展示
    • 关于我们
    • 问答
  • 事件
  • 个性化
  • 博客
  • 联系
  • 站点资源
    有任何问题吗?
    (00) 123 456 789
    weinfoadmin@weinformatics.cn
    注册登录
    恒诺新知
    • 主页
    • 课程

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      alphafold2培训

      alphafold2培训

      免费
      阅读更多
    • 特色
      • 展示
      • 关于我们
      • 问答
    • 事件
    • 个性化
    • 博客
    • 联系
    • 站点资源

      未分类

      • 首页
      • 博客
      • 未分类
      • GseaVis 优雅的可视化 GSEA 富集结果

      GseaVis 优雅的可视化 GSEA 富集结果

      • 发布者 jiangxingyu
      • 分类 未分类
      • 日期 2022年7月8日
      测试开头

      见怪不怪

      GseaVis 优雅的可视化 GSEA 富集结果

      1引言

      对于 GSEA 富集结果的可视化有一些 R 包和函数,比如 Y 叔 的 enrichplot 中的gseaplot和gseaplot2 函数可以漂亮的绘制图形,还有之前介绍的 gggsea等, 桌面版 GSEA 软件虽然分析结果很全面,但是出图对大家不是很友好。在这里我参考了 enrichplot 包里的部分代码并结合自己的代码写了这个 GseaVis 小 R 包,提供了一个更具有可操作性的可视化方法,来绘制 GSEA 富集图形。

      在这里首先感谢 余光创 老师开发 R 包 clusterProfiler 和 enrichplot 所付出的努力和贡献。

      相关链接:

      • gggsea 个性化绘制 GSEA 图
      • clusterProfiler 做 GSEA 富集分析
      • GSEA 图是如何画出来的? (源码解析)

      2介绍

      GseaVis 可以做什么:

      • 经典的 GSEA 图形可视化。
      • 标注你感兴趣的基因。
      • 新的图形展示。
      • 更多的可调节参数。
      • 添加 NES 和 P 值。
      • 更加人性化的通路名称展示。

      如果喜欢,记得在 github 上送上你的小星星哦。

      3安装

      github 地址:

      https://github.com/junjunlab/GseaVis

      GseaVis 优雅的可视化 GSEA 富集结果

      # install.packages("devtools")
      devtools::install_github("junjunlab/GseaVis")

      参考手册:

      https://github.com/junjunlab/GseaVis/wiki

      4输入

      输入文件是 clusterProfiler 的 GSEA/gseGO/gseKEGG 函数的富集结果。

      5Load test data

      加载内置数据:

      library(GseaVis)

      # load data
      test_data <- system.file("extdata", "gseaRes.RDS", package = "GseaVis")
      gseaRes <- readRDS(test_data)
      gseaRes
      # Gene Set Enrichment Analysis
      #
      #...@organism   UNKNOWN
      #...@setType   UNKNOWN
      #...@geneList   Named num [1:27970] 6.02 5.96 5.84 5.8 5.72 ...
       - attr(*, "names")= chr [1:27970] "Ecscr" "Gm32341" "B130034C11Rik" "Hkdc1" ...
      #...nPerm
      #...pvalues adjusted by 'BH' with cutoff <1
      #...4917 enriched terms found
      ...

      6classic plot

      指定通路名称绘图:

      # all plot
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS')
      GseaVis 优雅的可视化 GSEA 富集结果

      只保留曲线:

      # retain curve
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 1)
      GseaVis 优雅的可视化 GSEA 富集结果

      保留曲线和热图:

      # retain curve and heatmap
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 2)
      GseaVis 优雅的可视化 GSEA 富集结果

      通路名称太长截断换行:

      # wrap the term title
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 2,
             termWidth = 30)
      GseaVis 优雅的可视化 GSEA 富集结果

      标记通路里的一些基因:

      # add gene in specific pathway
      mygene <- c("Entpd8","Htr2a","Nt5e","Actn3","Entpd1",
                  "Pfkp", "Tpi1","Igf1","Ddit4","Ak9")

      # plot
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 2,
             addGene = mygene)
      GseaVis 优雅的可视化 GSEA 富集结果

      改变基因标签颜色和箭头类型:

      # change gene color and arrow type
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 2,
             addGene = mygene,
             arrowType = 'open',
             geneCol = 'black')
      GseaVis 优雅的可视化 GSEA 富集结果

      保留所有图形:

      # all plot
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             subPlot = 3,
             addGene = mygene,
             rmSegment = TRUE)
      GseaVis 优雅的可视化 GSEA 富集结果

      7New style GSEA

      另外一种展现方式,将通路基因绘制到曲线里:

      # new style GSEA
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T)
      GseaVis 优雅的可视化 GSEA 富集结果

      移除点图层:

      # new style GSEA remove point
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             addPoint = F)
      GseaVis 优雅的可视化 GSEA 富集结果

      改变热图颜色:

      # change heatmap color
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             addPoint = F,
             newHtCol = c("blue","white", "red"))
      GseaVis 优雅的可视化 GSEA 富集结果

      添加基因名:

      # new style GSEA with gene name
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             addGene = mygene)
      GseaVis 优雅的可视化 GSEA 富集结果

      移除红色标记线:

      # remove red segment
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             rmSegment = T,
             addGene = mygene)
      GseaVis 优雅的可视化 GSEA 富集结果

      移除热图:

      # remove heatmap
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             rmSegment = T,
             rmHt = T,
             addGene = mygene)
      GseaVis 优雅的可视化 GSEA 富集结果

      8Add NES and Pvalue

      添加 NES scores 和 Pvalue:

      # add pvalue and NES
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             addGene = mygene,
             addPval = T)
      GseaVis 优雅的可视化 GSEA 富集结果

      调整标签位置和颜色:

      # control label ajustment
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             newGsea = T,
             addGene = mygene,
             addPval = T,
             pvalX = 0.75,pvalY = 0.8,
             pCol = 'black',
             pHjust = 0)
      GseaVis 优雅的可视化 GSEA 富集结果

      经典图形添加 P 值标签:

      # clsaasic with pvalue
      gseaNb(object = gseaRes,
             geneSetID = 'GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
             addGene = mygene,
             addPval = T,
             pvalX = 0.75,pvalY = 0.8,
             pCol = 'black',
             pHjust = 0)
      GseaVis 优雅的可视化 GSEA 富集结果

      9Multiple GSEA plot

      你可以使用循环批量绘图:

      # bacth plot
      terms <- c('GOBP_NUCLEOSIDE_DIPHOSPHATE_METABOLIC_PROCESS',
                 'GOBP_REGULATION_OF_OSSIFICATION',
                 'GOBP_TISSUE_MIGRATION',
                 'GOBP_CELL_MATRIX_ADHESION')

      # plot
      lapply(terms, function(x){
        gseaNb(object = gseaRes,
               geneSetID = x,
               addPval = T,
               pvalX = 0.75,pvalY = 0.75,
               pCol = 'black',
               pHjust = 0)
      }) -> gseaList

      # combine
      cowplot::plot_grid(plotlist = gseaList,ncol = 2,align = 'hv')
      GseaVis 优雅的可视化 GSEA 富集结果

      只保留曲线和热图:

      # retain curve and heatmap
      # plot
      lapply(terms, function(x){
        gseaNb(object = gseaRes,
               geneSetID = x,
               addPval = T,
               pvalX = 0.75,pvalY = 0.75,
               pCol = 'black',
               pHjust = 0,
               subPlot = 2)
      }) -> gseaList1

      # combine
      cowplot::plot_grid(plotlist = gseaList1,ncol = 2,align = 'hv')
      GseaVis 优雅的可视化 GSEA 富集结果

      New style plot:

      # new style plot
      # plot
      lapply(terms, function(x){
        gseaNb(object = gseaRes,
               geneSetID = x,
               newGsea = T,
               addPval = T,
               pvalX = 0.75,pvalY = 0.75,
               pCol = 'black',
               pHjust = 0,
               subPlot = 2)
      }) -> gseaList1

      # combine
      cowplot::plot_grid(plotlist = gseaList1,ncol = 2,align = 'hv')
      GseaVis 优雅的可视化 GSEA 富集结果

      10More parameters

      更多参数见函数:

      ?gseaNb

      11结尾

      最后大家有任何建议或者想法请在 github 上面留言或者评论。

      GseaVis 优雅的可视化 GSEA 富集结果



      欢迎加入生信交流群。加我微信我也拉你进 微信群聊 老俊俊生信交流群 (微信交流群需收取20元入群费用(防止骗子和便于管理))。



      老俊俊微信:


      GseaVis 优雅的可视化 GSEA 富集结果

      知识星球:


      GseaVis 优雅的可视化 GSEA 富集结果


      所以今天你学习了吗?

      今天的分享就到这里了,敬请期待下一篇!

      最后欢迎大家分享转发,您的点赞是对我的鼓励和肯定!

      如果觉得对您帮助很大,赏杯快乐水喝喝吧!




       往期回顾 





      ◀GSEA 图是如何画出来的? (源码解析)

      ◀clusterProfiler 的可视化大全

      ◀clusterProfiler 做 GSEA 富集分析

      ◀深度神经网络学习对单细胞数据进行清洗去噪

      ◀ggpie 解决你的所有饼图绘制

      ◀Bigwig 可视化用 tackPlotR 试试看?

      ◀gggsea 个性化绘制 GSEA 图

      ◀scRNAtoolVis 绘制单细胞 Marker 基因均值表达热图

      ◀给你 UMAP 坐标重复文章一模一样的图?

      ◀genesorteR 快速准确鉴定亚群 Marker 基因

      ◀…

      测试结尾

      请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!

      • 分享:
      作者头像
      jiangxingyu

      上一篇文章

      单细胞SCI热点+癌型万能组合思路火热预定中
      2022年7月8日

      下一篇文章

      单细胞多样本整合之harmony
      2022年7月12日

      你可能也喜欢

      6-1692712758
      白介素-17受体信号的自主激活,维持炎症并促进疾病进展
      4 8月, 2023
      0-1690423024
      MCT4依赖的乳酸分泌抑制LKB1缺陷肺腺癌的抗肿瘤免疫
      18 7月, 2023
      2-1675088548
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      30 1月, 2023

      搜索

      分类

      • R语言
      • TCGA数据挖掘
      • 单细胞RNA-seq测序
      • 在线会议直播预告与回放
      • 数据分析那些事儿分类
      • 未分类
      • 生信星球
      • 老俊俊的生信笔记

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      白介素-17受体信号的自主激活,维持炎症并促进疾病进展
      048月2023
      MCT4依赖的乳酸分泌抑制LKB1缺陷肺腺癌的抗肿瘤免疫
      187月2023
      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      logo-eduma-the-best-lms-wordpress-theme

      (00) 123 456 789

      weinfoadmin@weinformatics.cn

      恒诺新知

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      链接

      • 课程
      • 事件
      • 展示
      • 问答

      支持

      • 文档
      • 论坛
      • 语言包
      • 发行状态

      推荐

      • iHub汉语代码托管
      • iLAB耗材管理
      • WooCommerce
      • 丁香园论坛

      weinformatics 即 恒诺新知。ICP备案号:粤ICP备19129767号

      • 关于我们
      • 博客
      • 联系
      • 成为一名讲师

      要成为一名讲师吗?

      加入数以千计的演讲者获得100%课时费!

      现在开始

      用你的站点账户登录

      忘记密码?

      还不是会员? 现在注册

      注册新帐户

      已经拥有注册账户? 现在登录

      close
      会员购买 你还没有登录,请先登录
      • ¥99 VIP-1个月
      • ¥199 VIP-半年
      • ¥299 VIP-1年
      在线支付 激活码

      立即支付
      支付宝
      微信支付
      请使用 支付宝 或 微信 扫码支付
      登录
      注册|忘记密码?