引言Introduction

转录组数据很多,但真正难的是把deseq2分析流程 跑通。原始 counts、标准化、p 值、校正、筛选条件,任何一步出错,结果都可能失真。本文用零基础能读懂的方式,拆解 DESeq2 的核心逻辑,帮助医学生、医生和科研人员快速建立正确分析框架。
1. 为什么差异分析离不开DESeq2
1.1 差异分析解决什么问题
差异分析的前提是比较。只要有实验组和对照组,就有可能存在基因表达差异。DESeq2的目标,就是找出受处理、组织类型或时间变化影响的差异基因。
在转录组研究中,常见场景包括以下几类。
- 不同组织之间的表达差异。
- 同一组织在不同处理条件下的变化。
- 同一组织在不同时间点的动态变化。
这些问题都可以通过差异分析回答。后续再接功能富集、通路分析,才能把“变化”解释成“生物学意义”。
1.2 为什么常用DESeq2
在常见工具中,DESeq2和edgeR是转录组差异分析的主力。DESeq2是DESeq的升级版。它对广义线性模型系数算法做了优化,能缓和低表达基因和高变基因对整体结果的影响。
官方目前推荐使用DESeq2,而不是DESeq。
另外,1.22 版本之后,DESeq2 只支持有生物学重复的分析。这一点很关键。生物学重复不是可选项,而是提高结论可信度的基础。
2. DESeq2分析流程的核心逻辑
2.1 输入不是标准化数据,而是原始counts
很多初学者会误以为先做标准化再分析。实际上,DESeq2的输入是原始 counts 数据 。数据结构通常是:
- 行:基因。
- 列:样本。
- 数值:原始计数。
这些 count 不是随意的数字,而是测序 reads 比对到基因编码区后的计数结果。若一个 read 比对到基因 A,count 记为 1。双端测序中,一对 reads 通常记为 1。
counts 与真实表达水平正相关,但也同时受基因长度和测序深度影响。
这就是为什么不能直接拿原始 counts 比较。
2.2 DESeq2分析流程分四步
可以把 deseq2分析流程 简化为四个环节。
- 输入原始 counts。
- 进行标准化,得到可比的数据。
- 计算 fold change,并做显著性检验。
- 进行多重假设检验校正,最后筛选差异基因。
这个流程看似简单,但每一步都有明确的统计目的。标准化解决“样本不可比”的问题,检验解决“差异是否真实存在”的问题,校正解决“多重比较导致假阳性过高”的问题。
2.3 DESeq2使用的统计模型
DESeq2基于负二项分布模型 。显著性检验使用 Wald 检验 。多重假设检验校正使用 BH 方法 。这三点不要求初学者立刻推导公式,但要知道它们对应的作用。
- 负二项分布,适合处理 RNA-seq 计数数据。
- Wald 检验,用于判断组间差异是否显著。
- BH 校正,用于控制多次检验带来的假阳性。
这也是DESeq2比简单 t 检验更适合转录组数据的原因。
3. 标准化是DESeq2分析流程的关键一步
3.1 为什么必须标准化
如果不同样本的测序深度不同,原始 counts 会天然不一致。比如一个样本总 count 数是另一个样本的两倍,并不代表它真的表达量更高,往往只是测序更深。
另一种情况是 library composition 不同。比如脑组织和肺组织,特异表达基因本来就不同。某些基因在一个样本中占比很高,在另一个样本中几乎为零。这会影响整体分布,必须校正。
3.2 标准化因子怎么来
DESeq2会计算每个样本的 scaling factor ,也就是标准化因子。核心思想是:假设大多数基因没有差异表达,利用这部分基因估计样本间的偏差。
它的处理逻辑可概括为:
- 对原始 counts 取 log。
- 计算每个基因的平均值。
- 去掉原始值为 0 导致的无穷大项。
- 计算每个样本相对平均值的偏差。
- 取偏差的中值,得到每个样本的 scaling factor。
- 用原始 count 除以该因子,完成标准化。
这个过程的意义很明确。它尽量排除极端基因和不表达基因对整体估计的干扰。
3.3 标准化之后才可以比较
标准化后,样本之间才具备可比性。随后才能计算 fold change,做统计检验,并进一步筛选差异基因。
没有标准化就做差异分析,结论通常不可靠。
4. 从结果到差异基因:如何正确筛选
4.1 结果表里有哪些核心字段
DESeq2结果通常包含以下信息。
- baseMean。
- log2FoldChange。
- pvalue。
- padj。
其中,baseMean 表示平均表达水平。log2FoldChange 表示差异倍数的对数值。pvalue 是原始显著性检验结果。padj 是校正后的 p 值。
真正用于最终筛选的,通常是 log2FoldChange 和 p 值或 padj。
4.2 常见筛选阈值怎么设
课程知识库中给出的常见筛选条件是:
- p 值 < 0.05。
- fold change 绝对值 > 2。
在实际分析中,也常进一步使用校正后的 p 值,比如 padj < 0.05 或 padj < 0.01。更严格的阈值通常更稳健,但也会减少检出的基因数。
选择阈值时,应结合研究目的。如果是探索性分析,可以适当放宽。如果是后续实验验证,通常建议更严格。
4.3 上调和下调如何标记
筛选出差异基因后,通常还会根据 log2FoldChange 生成方向信息。
- log2FoldChange > 0,为上调。
- log2FoldChange < 0,为下调。
这个步骤很重要。因为后续做火山图、热图、通路分析时,方向信息能帮助解释生物学趋势。
5. 实战中最容易出错的地方
5.1 分组信息必须准确
DESeq2不仅看 count,还看样本分组。分组标签一旦错误,结果就会整体偏移。构建 colData 时,要确保样本名和分组一一对应。
先确认样本分组,再跑DESeq2,是最基本的质量控制。
5.2 没有生物学重复不要硬上
DESeq2 1.22 之后只支持有生物学重复的数据。即使其他工具在某些情况下可以处理无重复样本,也不代表结果足够可靠。对于转录组研究,重复是统计推断的前提。
5.3 低表达基因要谨慎解释
知识库中提到,DESeq2 对低表达基因会有特殊处理,某些情况下不会提供校正后的 p 值。这个现象并不罕见。它提示我们:低表达、极低 counts、零值过多的基因,解释时必须更谨慎。
6. 用好DESeq2,先理解流程,再追求技巧
6.1 一个可执行的分析顺序
如果你刚接触转录组,可以按这个顺序理解 deseq2分析流程 。
- 准备原始 counts。
- 整理样本分组信息。
- 构建 DESeqDataSet。
- 运行 DESeq。
- 查看 sizeFactors。
- 提取 results。
- 按 p 值和 fold change 筛选。
- 标记 up 和 down。
- 保存结果文件。
先把流程跑通,再谈参数优化。 这比一开始纠结单个函数更有效。
6.2 结果解释要回到生物学问题
差异分析不是终点。它只是把候选基因筛出来。真正的价值在于把结果放回研究问题中,例如疾病机制、药物反应或组织特异性表达。
只有把统计结果和生物学背景结合,DESeq2的分析才有意义。
总结Conclusion
DESeq2是转录组差异分析中最常用、也最值得掌握的工具之一。它的核心不是复杂代码,而是清晰的分析逻辑:原始 counts 输入,标准化校正偏差,负二项模型做检验,BH 方法控制假阳性,最后基于 fold change 和 p 值筛选差异基因。只要理解 deseq2分析流程 ,就能避免大多数入门错误。
如果你希望更高效地完成转录组分析、少走弯路,可以进一步使用解螺旋 的课程和实战内容,把流程、代码和结果解释一次打通。先理解,再实操,才能把DESeq2真正变成你的分析工具。

- 引言Introduction
- 1. 为什么差异分析离不开DESeq2
- 2. DESeq2分析流程的核心逻辑
- 3. 标准化是DESeq2分析流程的关键一步
- 4. 从结果到差异基因:如何正确筛选
- 5. 实战中最容易出错的地方
- 6. 用好DESeq2,先理解流程,再追求技巧
- 总结Conclusion






