• 主页
  • 课程

    关于课程

    • 课程归档
    • 成为一名讲师
    • 讲师信息
    教学以及管理操作教程

    教学以及管理操作教程

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

      关于课程

      • 课程归档
      • 成为一名讲师
      • 讲师信息
      教学以及管理操作教程

      教学以及管理操作教程

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

      生信星球

      • 首页
      • 博客
      • 生信星球
      • 在火山图上标记基因(方法二)

      在火山图上标记基因(方法二)

      • 发布者 weinfoeditor
      • 分类 生信星球
      • 日期 2019年7月19日
      测试开头

       今天是生信星球陪你的第414天


         大神一句话,菜鸟跑半年。我不是大神,但我可以缩短你走弯路的半年~

         就像歌儿唱的那样,如果你不知道该往哪儿走,就留在这学点生信好不好~

         这里有豆豆和花花的学习历程,从新手到进阶,生信路上有你有我!

      关于火山图加标签的需求,有几种方法来实现,昨天已经写过方法一 (点击查看),似乎只能处理较少的数据,应用有所限制,今天介绍方法二。


      示例数据

      方法一的示例数据是data.Rdata,方法二三的示例数据是test.Rdata。我将数据打包放在了“生信星球”公众号后台,回复“火山图”即可获得。你解压后双击文件夹里的volcano.Rproj,复制粘贴运行本文代码即可。

      在火山图上标记基因(方法二)

      代码来源

      以下代码出自R数据科学笔记第21章,原书第312页:

      best_in_class <- mpg %>%
        group_by(class) %>%
        filter(row_number(desc(hwy)) == 1)

      ggplot(mpg, aes(displ, hwy)) +
        geom_point(aes(color = class)) +
        geom_point(size = 3, shape = 1, data = best_in_class) +
        ggrepel::geom_label_repel(
          aes(label = model),
          data = best_in_class
        )
      在火山图上标记基因(方法二)


      这个方法与数据量大小无关。


      端详代码找思路

      1.从原来数据中挑选了一部分,生成新数据
      2.用新数据作图,向原数据做的点图上叠加两个图层,一个空心点图,一个geom_label_repel。

      step1:先把火山图画出

      load("test.Rdata")
      p <- ggplot(data = test, 
                  aes(x = logFC, 
                      y = `-log10(P.value)`)) +
        geom_point(alpha=0.4, size=3.5, 
                   aes(color=change)) +
        scale_color_manual(values=c("blue", "grey","red"))+
        geom_vline(xintercept=c(-1,1),lty=4,col="black",lwd=0.8) +
        geom_hline(yintercept = -log10(0.01),lty=4,col="black",lwd=0.8) +
        theme_bw()
      p
      在火山图上标记基因(方法二)

      step2:生成用于添加图层的新数据

      ⭐重点在这里

      新数据框的内容是你想要标记的基因,这里根据logFC和Pvalue的大小来筛选,可以自定义阈值来调整要显示的基因的数量:

      for_label <- test %>% 
        filter(abs(logFC) >4& `-log10(P.value)`> -log10(0.000001))

      step3:新图层叠加到原图上去

      p +
        geom_point(size = 3, shape = 1, data = for_label) +
        ggrepel::geom_label_repel(
          aes(label = symbol),
          data = for_label,
          color="black"
        )
      在火山图上标记基因(方法二)


      加号连接两句代码就实现了图层的叠加。

      如果对ggplot2不了解,请看R数据科学第一章和第21章,是专门讲图的,我写过对应的笔记:来自小洁的《R数据科学》目录。但21章是整本书的错误重灾区,我的笔记有改正后的代码。

      向大家隆重推荐隔壁生信技能树的一系列干货!

      全球公益巡讲、招学徒

      B站公益74小时生信工程师教学视频合辑


      点击底部的“阅读原文”,获得更好的阅读体验哦😻

      初学生信,很荣幸带你迈出第一步。

      我们是生信星球,一个不拽术语、通俗易懂的生信知识平台。由于是2018年新号,竟然没有留言功能。需要帮助或提出意见请后台留言、联系微信或发送邮件到jieandze1314@gmail.com,每一条都会看到的哦~

      在火山图上标记基因(方法二)

      测试结尾

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

      • 分享:
      作者头像
      weinfoeditor

      上一篇文章

      小白学数据可视化:基于R生态的数据可视化工作环境构建
      2019年7月19日

      下一篇文章

      设置分析路径
      2019年7月21日

      你可能也喜欢

      8-1651673488
      生信零基础入门学习小组长期报名中(2022仍继续)
      7 4月, 2022
      2-1651673738
      简化版的ROC曲线
      21 2月, 2022
      8-1651674718
      支持向量机模型
      19 11月, 2021

      搜索

      分类

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

      投稿培训

      免费

      alphafold2培训

      免费

      群晖配置培训

      免费

      最新博文

      Nature | 单细胞技术揭示衰老细胞与肌肉再生
      301月2023
      lncRNA和miRNA生信分析系列讲座免费视频课和课件资源包,干货满满
      301月2023
      如何快速批量修改 Git 提交记录中的用户信息
      261月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年
      在线支付 激活码

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