接着day51,继续作图:
cut_off_pvalue= 0.05
cut_off_logFC = 1 #改变倍数为2,即log2(2)=1
DEG$Sig = ifelse(DEG$pvalue < cut_off_pvalue &
abs(DEG$log2FoldChange) >= cut_off_logFC,
ifelse(DEG$log2FoldChange> cut_off_logFC ,'Up','Down'),'None')
说明
先设置pvalue和logFC的阈值
根据阈值分别为上调基因设置‘up’,下调基因设置‘Down’,无差异设置‘None’,保存到change列,change列是后面用来设置火山图点的颜色用。
log2FlodChange的数值是foldchange取了log2的值。比如foldchage为2,log2(2)=1,log2(4)=2, log2(1.5)=0.585,log2(1.2)=0.263。
log2(0.5)=-1, log2(0.25)=-2,log2(0.6667)=-0.585, log2(0.8333)=-0.263。
根据具体情况可以调整这个数值。
library(ggplot2)
ggplot(DEG, aes(x = log2FoldChange, y = -log10(pvalue), colour=Sig)) +
geom_point(alpha=0.4, size=3.5) +
scale_color_manual(values=c("#546de5", "#d2dae2","#ff4757"))+
# 辅助线
geom_vline(xintercept=c(-1,1),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()+
ggtitle("Volcano Plot")+
theme(plot.title = element_text(hjust = 0.5),
legend.position="right",
legend.title = element_blank()
)
说明
上面命令中 log2FoldChange、pvalue和cut_off_pvalue几个参数可以做调整。