转录组分析分析方法

转录组差异基因怎么选阈值?padj、FDR 与 log2FC 一次讲清

从筛选参数,到候选基因是否值得验证。

作者:发布于 2026-09-19约 9 分钟阅读RNA-seq · 差异基因筛选

拿到转录组差异分析结果,很多人第一步就卡住了:P < 0.05 还是 padj < 0.05?|log2FC| 选 1 还是 0.58?筛出来只有几十个基因,能不能把阈值放宽?

这些选择会影响后续的富集分析、候选基因筛选和实验验证。下面以有生物学重复的 bulk RNA-seq 组间比较为例,把阈值的含义、适用场景和容易踩的坑讲清楚。

一、转录组差异基因阈值怎么选?先看这张表

如果研究目标是筛选变化较明显的候选基因,padj < 0.05 且 |log2FC| ≥ 1可以作为常见的候选列表筛选起点,但它不是所有课题通用的标准。下面是便于制定方案的场景建议,应在查看目标基因是否入选之前确定。

研究目的 可考虑的方案 需要注意
筛选变化较明显的候选基因 padj < 0.05,|log2FC| ≥ 1 结合表达量、重复一致性和研究相关性继续筛选
关注较温和、但可能有意义的变化 padj < 0.05,|log2FC| ≥ log2(1.5),约 0.585 需有接受 1.5 倍变化的生物学理由,不能只因基因少而调整
探索性研究,后续能做独立验证 可预先设置 padj < 0.10,并说明效应量要求 明确标注为探索结果,接受更高的假发现风险
研究通路整体变化 可使用适合的全基因排序开展 GSEA 不必先筛出一批显著差异基因;仍需报告通路层面的多重检验结果

阈值服务于研究问题,不能用来凑出“合适数量”的基因。若要正式检验变化是否超过某个倍数,应使用下文介绍的效应量阈值检验;它与结果表上的双条件筛选有所区别。

二、P 值、padj 和 FDR,应该看哪一列?

转录组通常同时检验成千上万个基因。仅用原始 P 值筛选,会面临多重检验问题。因此,判断全转录组范围的统计显著性时,通常优先看经过多重检验校正的结果,并核对所用方法。

  • P 值:单个检验的统计结果,不等于“这个基因是假阳性的概率”。
  • padj / FDR 列:常见流程提供的校正后结果,具体定义以软件输出为准。DESeq2 默认使用 BH 校正。
  • FDR < 0.05:在相应统计假设成立时,控制所判显著结果中假发现比例的期望;不是保证本次名单恰好只有 5% 错误。

BH 方法的定义可查阅 R 官方多重检验校正文档。结果表若同时有 pvaluepadj,不要因为后者筛不到预期基因,就悄悄换用前者。

三、|log2FC| 选 1 还是 0.58?先把倍数算对

设比较方向为“处理组相对对照组”,log2FC 为正表示上调,为负表示下调。log2FC = 1 对应 2 倍,log2FC = −1 对应 0.5 倍;约 ±0.585 对应 1.5 倍或其倒数。实际设置 1.5 倍阈值时建议使用 log2(1.5),避免把 0.58 当作精确值。

两倍变化便于理解,却不是生物学意义的统一分界线。调控信号可能表现为较小但一致的变化;低表达基因也可能因估计不稳定而出现很大的倍数。不能把“倍数大”直接等同于“值得做实验”。

选候选基因时,建议同时看各样本表达分布、效应量估计的稳定性、独立证据和验证可行性。DESeq2 的效应量收缩可用于改善排序和展示,相关方法见 DESeq2 原始研究。报告中应说明筛选用的是原始估计还是收缩后的估计。

四、差异基因太少或太多,先检查什么?

差异基因太少:先分清是信号弱,还是分析有问题

  1. 检查输入和分组:是否拿到了适合所用方法的计数数据?样本名与分组表是否一一对应?比较方向是否正确?
  2. 检查样本质量:结合 PCA、样本相关性和原始质控记录判断异常,不能为了让结果显著而删除样本。
  3. 检查实验设计:配对信息、批次及重要协变量是否合理纳入模型?如果批次与分组完全重合,单靠统计校正无法拆开二者。
  4. 检查统计功效:样本少或组内差异大时,真实变化也可能未达到显著。没有显著差异,不等于证明没有生物学变化。

生物学重复对检出能力的影响见 Schurch 等人的 RNA-seq 重复数研究。具体样本量仍应结合物种、组织异质性和目标效应评估,不能照搬一个固定数字。

差异基因太多:别只想着提高阈值

强烈处理效应、组织组成变化或技术因素,都可能使大量基因出现变化。先确认设计和数据,再按研究问题缩小候选范围。准备挑选验证基因时,可增加独立队列一致性、通路关联和实验可行性等证据;不要只保留最容易讲故事的一小部分。

可以预先比较几组合理阈值下的候选名单与主要通路,作为敏感性分析,并记录结论是否稳定。若一点点阈值变化就让核心结论翻转,应如实说明这种不稳定性。

你也遇到了“一个基因都筛不到”或“换个阈值结论就变”的情况?
先准备每组样本数、是否配对、当前软件和筛选条件。联系云生信,咨询差异分析与阈值复核,先把问题定位清楚,再讨论后续分析范围。

五、一个常被忽略的区别:筛结果与检验倍数阈值

“先检验是否存在变化,再筛选 |log2FC| ≥ 1”“直接检验真实变化是否超过两倍”回答的是不同问题。前者适合形成候选列表;不能据此直接宣称,列表中的每个基因都已获得“真实效应超过两倍”的统计证据,也不能自动把原检验的 FDR 保证套在任何事后筛选的子集上。

若研究问题明确关注超过某一最小效应的变化,可采用相应阈值检验。这个思路见 TREAT 方法论文;edgeR 可使用 glmTreat(),详见 edgeR 分析流程论文

下面仅演示两种结果提取方式。前提是 dds 已按正确设计完成 DESeq(),分组列为 condition,水平确实为 treatedcontrol;不能直接把示例标签照搬到自己的数据。

# A. 常见候选列表:零效应检验后,再按估计倍数筛选
res <- results(dds,
  contrast = c("condition", "treated", "control"), alpha = 0.05)
deg <- res[which(!is.na(res$padj) & res$padj < 0.05 &
                 abs(res$log2FoldChange) >= 1), ]

# B. 检验真实效应是否超过两倍,P 值会重新计算
res_effect <- results(dds,
  contrast = c("condition", "treated", "control"),
  alpha = 0.05, lfcThreshold = 1, altHypothesis = "greaterAbs")
deg_effect <- res_effect[which(!is.na(res_effect$padj) &
                               res_effect$padj < 0.05), ]

DESeq2 的输入、设计、alphalfcThreshold 说明见 官方使用文档。不要把 TPM/FPKM 直接作为常规 DESeq2 计数矩阵输入;padj = NA 也不等于 P 值为 1,需检查低计数独立过滤、全零表达或异常值等原因。

六、差异基因不多,还能做富集分析吗?

先区分两种常见分析:过度富集分析(ORA)以筛选后的基因列表为输入;GSEA关注基因集在排序中的整体分布,可以保留未达到单基因显著性阈值的信号。

进行 ORA 时,应选择与检测、过滤和注释范围一致的合理背景基因,并说明是否分别分析上调与下调基因。做 GSEA 时,不要只输入已筛出的显著基因;例如针对 DESeq2 的两组 Wald 检验,可以使用具有方向的 Wald 统计量排序,并处理缺失值及重复基因标识。具体设置参见 GSEA 官方指南

GSEA 可以帮助观察分散但一致的信号,但不能保证一定产生显著通路,也不能修复分组错误、混杂或样本质量问题。不要为得到某条预期通路而反复修改阈值、背景集和基因集。

七、准备选基因做验证?把这些信息一起带上

真正影响后续实验投入的,是候选是否可靠、证据是否一致、验证能否回答研究问题。只有一张火山图,通常不足以判断。

咨询时可以直接复制下面这份清单,先填写已有信息:

  • 研究问题:物种、组织或细胞类型,最希望回答什么问题。
  • 样本设计:各组样本数,是否配对,是否存在不同批次。
  • 已有数据:计数矩阵、分组表,或包含表达量、log2FC、P 值与 padj 的完整结果表。
  • 当前设置:分析软件、比较方向、阈值,以及目前筛出的基因数量。
  • 下一步目标:候选基因验证、通路解释,或已有分析结果复核。

云生信提供转录组分析与定制分析支持。可以围绕分组设计、差异结果复核、阈值敏感性分析、富集解释和候选基因优先级沟通需求;具体服务范围、交付内容、周期与费用,在了解数据后确认。

咨询转录组分析|发送“差异基因阈值”

已有数据但不确定下一步怎么做,可先查看云生信分析服务;使用公共数据的读者,也可以继续阅读GEO 数据挖掘:从数据筛选到结果验证

把知识用于当前任务

下一步可以直接开始分析

按研究目标查找在线工具、课程、计算资源或完整分析服务。

按目标找方案仍有疑问,联系客服 ↗