用途:从批量 RNA-seq 原始整数计数矩阵(基因为行、样本为列)鉴别两组或多组实验条件下的差异表达基因,如处理组对对照组、疾病对健康。配套样本元数据表,列名需与计数矩阵列名一致。
主要能力:DESeq2 对每个基因拟合负二项广义线性模型,跨基因经验贝叶斯估计离散度;两组比较用 Wald 检验,复杂设计(时间序列、交互项)用似然比检验(LRT)。支持 ~ batch + condition 多因子设计与 genotype:condition 交互项。可用 apeglm 收缩 log2 倍数变化(LFC),用于排序、火山图与通路分析;显著性判定仍用未收缩 Wald 检验的 padj。支持 independentFilter 自适应过滤、vst 方差稳定变换用于 QC/聚类,并可通过 tximeta/tximport 导入 Salmon 的 quant.sf,summarizeToGene 汇总到基因水平。
使用方式:先安装 BiocManager::install(c("DESeq2", "tximeta", "tximport", "apeglm", "EnhancedVolcano")) 及 pheatmap、ggplot2、dplyr。基本流程为 DESeqDataSetFromMatrix() 构建对象、按 rowSums(counts(dds)) >= 10 预过滤、DESeq(dds) 完成归一化与模型拟合,再用 results(dds, contrast=c("condition", "treated", "control"), alpha=0.05) 提取结果,lfcShrink(dds, coef=..., type="apeglm") 收缩 LFC。需在写代码前与用户确认 design、contrast 方向、混杂协变量、检验类型、alpha、lfcThreshold 等参数。
适用场景:两组差异表达、批次校正、配对样本、交互效应、时间序列及 Salmon 伪比对结果导入。限制:需原始未归一化整数计数、R ≥ 4.2 与 Bioconductor ≥ 3.16;收缩 LFC 不可用于显著性判定;Python 流程应改用 pydeseq2 技能,其他负二项方案可考虑 edgeR。