1.构建dds对象2.标准化3.提取差异分析结果
参考链接:https://www.plob.org/article/9971.html
#加载包和数据if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")if (!require("DESeq2", quietly = TRUE)) BiocManager::install("DESeq2")options(stringsAsFactors = F)load("expr.RData")expr.RData储存了经过处理后的表达矩阵和分组信息,详见差异分析流程(一)数据预处理
量化因子 (size factor, SF): 首先计算每个基因在所有样品中表达的几何平均值。每个细胞的量化因子(size factor)是所有基因与其在所有样品中的表达值的几何平均值的比值的中位数。由于几何平均值的使用,只有在所有样品中表达都不为0的基因才能用来计算。这一方法又被称为 RLE (relative log expression)
参考:DESeq2的标准化方法
估计SF和离散度及负二项式GLM拟合和Wald统计这一步其实已经出来差异结果了,如果不需要可视化数据分布的话可以略过后面的步骤 dds1 <- DESeq(dds) log2转换 rld <- rlogTransformation(dds1)expr_new=assay(rld)head(expr_new[,1:5]) 可视化标准化结果 n.sample=ncol(expr)par(cex = 0.9)cols <- rainbow(n.sample*1.2)par(mfrow=c(1,2))boxplot(expr, col = cols,main="expression value",las=2)boxplot(expr_new, col = cols,main="expression value",las=2) 3.提取差异分析结果 res <- results(dds1, contrast=c("group_list","untrt","trt")) res <- as.data.frame(res) res <- na.omit(res)padj = 0.05foldChange= 1diff_signif = res[(res$padj< padj & abs(res$log2FoldChange)>foldChange),] diff_signif = diff_signif[order(diff_signif$log2FoldChange),]save(diff_signif, 一分快三技巧ng> n.sample=ncol(expr)par(cex = 0.9)cols <- rainbow(n.sample*1.2)par(mfrow=c(1,2))boxplot(expr, col = cols,main="expression value",las=2)boxplot(expr_new, col = cols,main="expression value",las=2) 3.提取差异分析结果 res <- results(dds1, contrast=c("group_list","untrt","trt")) res <- as.data.frame(res) res <- na.omit(res)padj = 0.05foldChange= 1diff_signif = res[(res$padj< padj & abs(res$log2FoldChange)>foldChange),] diff_signif = diff_signif[order(diff_signif$log2FoldChange),]save(diff_signif, file = 'limma_diff.Rdata')