最近在学习DESeq2包进行RNA-seq分析,并画火山图,分析代码总结如下:
rm(list = ls())
options(stringsAsFactors = F)
## 读入counts数据
exprSet <- read.csv("./DEGs_spleen.csv", header = T, row.names = 1)
exprSet <- exprSet[,-1]
View(exprSet)
## DESeq2进行差异分析
suppressMessages(library(DESeq2))
exprSet=ceiling(exprSet)
group_list <- factor(c('ctrl', 'ctrl', 'treat','treat')) #设置分组
colData <- data.frame(row.names=colnames(exprSet), group_list=group_list)
dds <- DESeqDataSetFromMatrix(countData = exprSet,
colData = colData,
design = ~ group_list) #构建dds
dds <- DESeq(dds) #差异分析
plotDispEsts(dds, main="Dispersion plot")
res <- results(dds, contrast=c("group_list","treat" , "ctrl")) #提取差异分析结果
resOrdered <- res[order(res$padj),]
DEG=as.data.frame(resOrdered)
write.csv(DEG,