打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
火山图(Volcano Plot)

火山图(Volcano Plot)是一类用来展示组间差异数据的图像,因为在生物体发生变化时从全局角度而言大部分的基因表达没有或着发生了很小程度的变化,只有少部分基因的表达发生了显著的变化。故而,火山图常见于RNA表达谱和芯片的数据分析中,最常用于分析基因的差异表达,近年来也陆续有其他组学的应用,此处不做详述。

火山图的本质是一个Plus版的散点图,其中包含两个重要的概念

1)显著性,也就是p-value,差异性检验两组样本的p值,以负对数-log10(P-value)转换做为纵坐标;

2)以log2(Fold Change)为横坐标,即可得火山图,利用一定的筛选条件(如Fold Change大于2倍,显著性P值小于0.05),即可筛选出显著差异表达的基因,进行后续研究。

如果大家用的是DEseq2分析RNA表达谱的数据,分析结果应该如下,其中log2FoldChange是表达量的log2(Fold Change)值,padj列示矫正后的pvalue,这两列也就是我们画火山图需要的两列。

首先,我们把DEseq的输出格式转换成dataframe格式,用函数as.data.frame(),并用head查看其前6行,如下:

df <->

接下来按照P<0.05, log2foldchange=""> 2 或者log2FoldChange <>下调和上调表达的颜色设置:

设定分组并赋值给变量color,我们把P<0.05, log2foldchange=""> 2定义为上调,颜色设置为红色,把P<0.05, log2foldchange=""><>

df$color <- ifelse(df$padj=""><>0.05 & abs(df$log2FoldChange) >= 2,ifelse(df$log2FoldChange > 2 ,'red','blue'),'gray')

设定好分组,还需要给分组指定颜色:

r color<- c(red="">'red', gray = 'gray', blue ='blue')

绘图的完整代码在这里:

p <- ggplot(df,="" aes(log2foldchange,="" -log10(padj),="" col="color))" +=""  =""  geom_point()="" +=""  =""  theme_bw()="" +=""  =""  scale_color_manual(values="color)" +=""  =""  labs(x="">'log2 (fold change)',y='-log10 (q-value)') +    geom_hline(yintercept = -log10(0.05), lty=4,col='grey',lwd=0.6) +    geom_vline(xintercept = c(-2, 2), lty=4,col='grey',lwd=0.6) +    theme(legend.position = 'none',          panel.grid=element_blank(),          axis.title = element_text(size = 16),          axis.text = element_text(size = 14))p

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
用R画火山图的几种方法
R语言学习 - 火山图
手把手教你绘制火山图与韦恩图
R画图-火山图
火山图—基因的差异表达
转录组不求人系列(七):DESeq2分析转录组测序数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服