使用ggplot2包绘制精美的火山图
- 看不见的线
- 2860
- 2024-03-26 09:06:05
- 原创
大家好,今天我们来介绍一种常用于生物信息学和基因表达分析的可视化工具——火山图。火山图通过展示基因的差异倍数和统计显著性的关系,帮助我们快速了解基因表达中的重要变化。下面让我们一起学习如何使用R语言绘制火山图吧!
示例数据(data1.csv)
数据中包含了基因名称(gene)、差异倍数(logFC)以及统计显著性(P.Value)。

火山图绘制示例
#读取本地数据并查看
dat <- read.csv("data1.csv", header = TRUE)
head(dat)

#加载R包
library(ggplot2) # 绘图
library(ggrepel) # 添加基因标签
#设置绘图所需的阈值(统计显著性的阈值和差异倍数的阈值),用来标记上调、下调和稳定的基因。然后,根据这些阈值设置基因的标记,并用不同的颜色表示不同类型的基因。
cut_off_pvalue <- 0.01 #统计显著性阈值
cut_off_logFC <- 2 #差异倍数阈值
#根据阈值分别为上调基因设置‘up’,下调基因设置‘Down’,无差异设置‘Stable’,保存到change列
dat$change <- ifelse(dat$P.Value < cut_off_pvalue & abs(dat$logFC) >= cut_off_logFC,
ifelse(dat$logFC > cut_off_logFC, 'Up', 'Down'), 'Stable')
head(dat)

#使用ggplot2包绘制火山图
#将差异倍数(logFC)作为横轴,统计显著性的负对数(-log10(P.Value))作为纵轴
p <- ggplot(
#设置数据和映射
dat, aes(x = logFC, y = -log10(P.Value), colour=change)) +
#添加数据点
geom_point(alpha=0.4, size=3.5) +
#自定义配色
scale_color_manual(values=c("#546de5", "#d2dae2","#ff4757"))+
#添加差异倍数线
geom_vline(xintercept=c(-cut_off_logFC,cut_off_logFC),
lty=4, col="black", lwd=0.8) +
#添加显著水平线
geom_hline(yintercept = -log10(cut_off_pvalue),
lty=4, col="black", lwd=0.8) +
#设置轴坐标轴
labs(x="log2(fold change)", y="-log10 (p-value)")+
#修改主题
theme_bw()+
#设置图例位置
theme(legend.position="right",
legend.title = element_blank() #不显示图例标签
)
p

#根据设定的统计显著性阈值 cut_off_pvalue和差异倍数阈值( >= 5),对数据中的基因进行筛选,将满足条件的基因名称存储在一个新的列 label中,未满足条件的基因则为空字符串
dat$label <- ifelse(dat$P.Value < cut_off_pvalue & abs(dat$logFC) >= 5, as.character(dat$gene), "")

#添加基因标记
p1 <- p + geom_text_repel(data = dat,
aes(x = logFC, y = -log10(P.Value), label = label),
size = 4, show.legend = F)
p1

#保存火山图
ggsave("火山图.png", p1, height = 7, width = 7, dpi = 300)
推荐课程
【课程】微生物比较基因组精品系列课——全套自学必入的系统课程
课程链接:微生物比较基因组精品系列课【全套】
【课程】铜绿假单胞菌基因组研究和分子分型实战
课程链接:铜绿假单胞菌基因组研究和分子分型实战
【课程】微生物比较基因组与群体进化——基因组变异专题研究
课程链接:微生物比较基因组与群体进化
【课程】微生物分子分型-MLST课程——分型全套(含理论、软件、方法)
课程链接:微生物分子分型-MLST课程
【课程】基因组结构分析神器Easyfig实操精品课
【课程】BRIG绘图——结构比较专题2
【课程】肺炎克雷伯菌基因组学研究综合指南
课程链接:肺炎克雷伯菌基因组学研究综合指南
【课程】微生物基因组生信必学课程
课程链接:微生物基因组生信分析必学课程
【课程】微生物生防菌研究
课程链接:生防菌的系统化研究
专题材料
【资料】耐药专题材料
【资料】生防专题材料
请添加唯那生物技术客服小唯的微信号winnerbio01,备注“耐药专题”或“生防专题”,立马获取。
更多专题推荐
1、生信技能课专辑
2、耐药毒力专题
3、肺炎克雷伯菌专题
4、密码子偏好性专题
7、软件脚本分享
9、知识干货
10、分泌系统
11、软件下载
12、书籍下载
-
点赞 (0人)
- 收藏 (0人)