跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图

这篇具有很好参考价值的文章主要介绍了跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文
Independent phenotypic plasticity axes define distinct obesity sub-types

https://www.nature.com/articles/s42255-022-00629-2#Sec15

s42255-022-00629-2.pdf

论文中没有公开代码,但是所有作图数据都公开了,我们可以试着用论文中提供的数据模仿论文中的图

今天的推文重复一下论文中的Fig3b 差异表达火山图,之前也有推文介绍过火山图,今天的推文主要学习的一个知识点是利用latex2exp这个R包添加文本,包括

上下标
换行 换行的基本写法

ggplot()+
  geom_point(aes(x=1,y=1))+
  labs(x=TeX(r"(\overset${ABCDEF}{abcde}$)"))

跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图,r语言,开发语言
火山图的部分示例数据
跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图,r语言,开发语言
读取数据

library(readr)
df<-read_tsv("data/20220921/fig3b.txt")
head(df)
colnames(df)

添加差异表达的分组

df %>% 
  mutate(change=case_when(
    log2FoldChange > 1 & pvalue < 0.05 ~ "Up",
    log2FoldChange < -1 & pvalue < 0.05 ~ "Down",
    TRUE ~ "Not Sig"
  )) -> new.df

table(new.df$change)
new.df %>% 
  filter(-log10(pvalue)>8) -> new.text.label

这里没有找到论文中差异表达的标准,这里是我随便写的

作图代码

library(ggplot2)
library(ggrepel)
library(latex2exp)
ggplot(data=new.df,aes(x=log2FoldChange,y=-log10(pvalue)))+
  geom_point(aes(color=change))+
  scale_color_manual(values = c("Down"="#3a53a4",
                                "Not Sig"="#aaaaaa",
                                "Up"="#7acde4"),
                     labels=c("Down"=TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} depleted)"),
                              "Not Sig"="Not Significant",
                              "Up" = TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} enriched)")))+
  theme_classic()+
  theme(legend.position = c(0.2,0.9),
        legend.text.align = 0,
        legend.title = element_blank())+
  geom_text_repel(data=new.text.label,
                  aes(x=log2FoldChange,y=-log10(pvalue),
                      label=mgi_symbol))+
  labs(x=TeX(r"(\overset${\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Lean}$ versus $\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Giant}}{(log{_2}$ fold $change)}$)"),
       y=TeX(r"(-log${_1}{_0}$ {(}\textit{P}{ value}{)})"))

跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图,r语言,开发语言
制作封面图

p1<-ggplot(data=new.df,aes(x=log2FoldChange,y=-log10(pvalue)))+
  geom_point(aes(color=change))+
  scale_color_manual(values = c("Down"="#3a53a4",
                                "Not Sig"="#aaaaaa",
                                "Up"="#7acde4"),
                     labels=c("Down"=TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} depleted)"),
                              "Not Sig"="Not Significant",
                              "Up" = TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} enriched)")))+
  theme_classic()+
  theme(legend.position = c(0.2,0.9),
        legend.text.align = 0,
        legend.title = element_blank())+
  geom_text_repel(data=new.text.label,
                  aes(x=log2FoldChange,y=-log10(pvalue),
                      label=mgi_symbol))+
  labs(x=TeX(r"(\overset${\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Lean}$ versus $\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Giant}}{(log{_2}$ fold $change)}$)"),
       y=TeX(r"(-log${_1}{_0}$ {(}\textit{P}{ value}{)})"))

p2<-ggplot(data=new.df,aes(x=log2FoldChange,y=-log10(pvalue)))+
  geom_point(aes(color=change))+
  scale_color_manual(values = c("Down"="red",
                                "Not Sig"="#aaaaaa",
                                "Up"="darkgreen"),
                     labels=c("Down"=TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} depleted)"),
                              "Not Sig"="Not Significant",
                              "Up" = TeX(r"(\textit{Nnat}${^+}$${^/}$${^-}$${^p}$-\textit{Heavy} enriched)")))+
  theme_classic()+
  theme(legend.position = c(0.2,0.9),
        legend.text.align = 0,
        legend.title = element_blank())+
  geom_text_repel(data=new.text.label,
                  aes(x=log2FoldChange,y=-log10(pvalue),
                      label=mgi_symbol))+
  labs(x=TeX(r"(\overset${\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Lean}$ versus $\textit{Nnat}{^+}{^/}{^-}{^p}-\textit{Giant}}{(log{_2}$ fold $change)}$)"),
       y=TeX(r"(-log${_1}{_0}$ {(}\textit{P}{ value}{)})"))

library(patchwork)
pdf(file = "Rplot03.pdf",width = 14.1,height = 6)
p1+p2
dev.off()

跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图,r语言,开发语言
示例数据和代码可以给推文点赞 点击在看 最后留言获取文章来源地址https://www.toymoban.com/news/detail-720739.html

到了这里,关于跟着NatureMetabolism学作图:R语言ggplot2转录组差异表达火山图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • R语言的ggplot2绘制分组折线图?

    R绘制分组折线图.R 首先看数据情况:group有3组。Time有3组,数据意思是在3组3个时间点测量了某指标,现在要绘制组1、组2、组3某指标y按时间的变化趋势 数据情况: 看看最终的效果图如下: 下面是本次使用的代码 .libPaths () setwd ( \\\"C:/Users/12974/Desktop/百度经验/03图形绘制/03R绘

    2024年01月22日
    浏览(38)
  • R语言ggplot2 | R语言绘制物种组成面积图(三)

       利用R语言绘制物种组成图。本文以堆叠面积图的方式与大家分享。 面积图又叫区域图。它是在折线图的基础之上形成的, 它将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充,这样一个填充区域我们叫面积。颜色的填充可以更好地突出趋势信息(比如时

    2024年02月13日
    浏览(38)
  • R语言画图的-- ggplot2(实现图例的精细修改)

    ggplot2 是R中用来作图的很强的包,但是其用法比较多且各种参数比较复杂,我自己使用的时候还经常需要查阅一些关键参数等,因此想要写一个 r 中 ggplot2 的作图文档,方便自己查阅。 但是今天突然发现了一个网站,这个网站里面包含了 ggplot2 作图的几乎所有内容。有各种图

    2024年02月13日
    浏览(56)
  • R 语言 ggplot2 PCA 主成分分析(虚拟数据集)

    以上代码生成了100行基因,10列样本的矩阵 前五列命名 wt 开头+ 1-5 ,表示正常基因 后五列命名 ko 开头+ 1-5 ,表示缺少基因的样本(knock-out) 给每行基因都统一命名 gene + 1-100 head() 函数默认查看前6行 现在只是定义了矩阵的shape和name,还没填充数值 这段代码的作用是生成一个

    2024年02月11日
    浏览(43)
  • R语言实践——ggplot2+ggrepel绘制散点+优化注释文本位置

    书接adjustText实践——调整matplotlib散点图标签,避免重复 上文中,matplotlib+adjustText对于我的实例来说并没有起到很好的效果。所以,博主决定在R中利用gglot2+ggrepel绘制,期待效果。 博主不常使用R,在此过程中详细记录每一步骤,以作备忘。 2.1 快速绘制散点图(plot) 2.2 ge

    2023年04月11日
    浏览(79)
  • R语言数据绘图学习(0x01)-安装ggplot2与尝试

    一直听说数据分析里R语言是比较‘正统’,况且久闻ggplot2这些R语言的数据分析库大名,想到今后数据分析和整理的需要,这里开一个简单的系列学习一些R语言和ggplot2的绘图基础。本人学习的书籍是Winston Chang大佬的《R Graphics Cookbook》,且稍有一点Python里的Plotnine绘图基础。

    2024年02月04日
    浏览(38)
  • R语言中使用ggplot2绘制散点图箱线图,附加显著性检验

    散点图可以直观反映数据的分布,箱线图可以展示均值等关键统计量,二者结合能够清晰呈现数据蕴含的信息。 本篇笔记主要内容:介绍R语言中绘制箱线图和散点图的方法,以及二者结合展示教程,添加差异比较显著性分析,绘制如上结果图。 在实际数据可视化过程中,输

    2024年03月20日
    浏览(42)
  • ggplot2关于设置标签和注释

    在ggplot2包内,最主要用以设置标签的函数即geom_text() 字体的设置利用的是 family 参数,其中可以选择sans(黑体)、serif(宋体)、mono(等宽字体) 字体风格分为默认(plain)、粗体(bold)和斜体(italic),而字体风格由fontface参数来控制 字体的对齐方式,由hjust和vjust来设置

    2024年02月06日
    浏览(38)
  • [R] How to communicate with your data? - ggplot2

    We have gone through the basic part of how to clean and process before analyzing your data. R语言具有生成各种图形的多种可能性。 并非所有图形功能对初学者来说都是必要的。 复杂的图形需要长代码。 我们将从简单的图形元素开始,然后逐步定制复杂图形。 Which package do we need: ggplot 2 library (

    2024年03月11日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包