RNA-seq差异表达分析绘图(MA图、火山图)

1.MA图

#使用results函数提取dex列中"ABA_8h"和"Etoh_8h"(对照组、写在后面)这两个水平,比较它们在差异表达上的变化#使用results函数提取treated列中"ABA_8h"和"Etoh_8h"(对照组、写在后面)这两个水平,比较它们在差异表达上的变化
#确保有results_ABA_8h_vs_Etoh_8h <- results(d1.deseq, contrast=c("dex", "ABA_8h", "Etoh_8h")) 
plotMA(results_ABA_8h_vs_Etoh_8h,ylim=c(-10,10)) 
  1. ylim=c(-10,10):这个参数设置了y轴的界限,即对数变化值的范围。在这个例子中,y轴的范围被限制在-10到10之间。这通常用于放大图中的某些区域,使得变化较大的基因更容易观察。

2.火山图 

#从DESeq result中提取所有差异表达信息,制作表格
write.csv(results_ABA_8h_vs_Etoh_8h, file = "res1.csv")
res1_data <- read.csv("res1.csv")
library(gplot)
ggplot(res1_data,aes(log2FoldChange,-log10(padj)))
#2.1绘制基础火山图,并自动排除缺失值
ggplot(res1_data, aes(log2FoldChange, -log10(padj))) +
     geom_point(alpha = 0.6, size = 2, na.rm = TRUE)
#2.2数据分类
#将padj值<0.05,FDR>=2设定UP;padj值<0.05,FDR<=-2设定为Down;其他为NS
res1_data$group <- as.factor(ifelse(res1_data$padj<0.05&abs(res1_data$log2FoldChange)>=2,ifelse(res1_data$log2FoldChange>=2,"Up","Down"),"NS"))
#查看上调和下调基因数目
table(res1_data$group)
#2.3添加10个最显著上调和下调基因名称
#添加一列label
res1_data$label=""
#对差异表达基因的padj按从小到大排序
res1_data <- res1_data[order(res1_data$padj),]
#上调表达的基因中选择padj最小的10个,基因名称列名为X
up.genes1 <- head(res1_data$X[which(res1_data$group == "Up")], 10)
#下调表达的基因中选择padj最小的10个,基因名称列名为X
#2.4将padj换算成-log10(padj)
res1_data$logadj <- -log10(res1_data$padj)
#2.5使用ggpubr函数作图
install.packages("ggpubr")
library(ggpubr)
#绘图,以及 label 列,您想要用标签来标识点
 p <- ggscatter(res1_data, x = "log2FoldChange", y = "logadj",
+                color = "group",
+                palette = c("#2f5688", "#BBBBBB", "#CC0000"),
+                size = 1,
+                label = res1_data$label,
+                font.label = 8,
+                repel = TRUE,
+                xlab = "log2FoldChange",
+                ylab = "-log10(padj)")
#添加分界线,foldchange为2,padj为0.05(-log10(0.05)为1.3),-log10(0.01)为2
 p <- p +  geom_vline(xintercept = c(-2, 2), linetype = "dashed") +
       geom_hline(yintercept = 1.30, linetype = "dashed")
# 设置图例位置,添加主题
p <- p + theme(legend.position = "right") +  theme_classic()
# 打印图形
print(p)  

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值