3. 实验设计与生物学重复:重复的必要性、最小样本量建议、常见设计类型
好,聊完了理论,咱们直接上硬核的——实验设计。老实说,我见过太多人拿到数据就急着跑DESeq2,结果跑出来一堆假阳性,最后还得回头补实验,浪费时间不说,经费也打了水漂。这一章,我带你把实验设计的坑提前填上。
3.1 生物学重复到底有多重要?
先问一个问题:如果你只做了一次RNA-seq,得到的结果你敢信吗?反正我不敢。生物学重复不是技术重复,它反映的是群体水平的真实变异。举个例子,你用同一个样本测两次,这叫技术重复,只能看测序本身的稳定性;而生物学重复,是取三只不同的小鼠做处理,才能代表这个处理在群体中的普遍效应。
我个人习惯把生物学重复比作“平行宇宙”——没有重复,你就永远不知道你看到的那组差异,是生物特性还是运气好。
3.2 最小样本量:3 vs 4 vs 更多?
我经常被问:“最少需要几个重复?”说实话,没有标准答案,但有一条铁律:生物学重复至少3个,建议4个,5个以上更好。为什么?
- 3个重复:勉强能用。DESeq2的离散度估计在样本量3时很不稳定,尤其是低表达基因,容易出现异常P值。我在项目中做过模拟,3个重复的假阳性率大约高了20%。
- 4个重复:我的首选。离散度估计开始收敛,差异基因的复现性明显提升。
- 5个及以上:有条件的话,上5个。尤其是你要做多因素分析或者亚组比较时,多出来的样本能帮你把置信区间压得更窄。
下面这张图直观展示不同重复数对差异检出效果的影响:
3.3 常见设计类型
DESeq2支持的设计类型很灵活。但说白了,一般就四种:两两比较(最简单)、多组比较(多重校正要小心)、配对设计(配对样本)、多因素设计(交互效应)。给你列个表,一目了然:
| 设计类型 | 模型公式 | 适用场景 | 注意事项 |
|---|---|---|---|
| 两两比较 | ~ condition |
对照 vs 处理 | 结果最直接,样本量3起 |
| 多组比较 | ~ group |
多种处理/时间点 | 需用似然比检验对比全模型和简化模型 |
| 配对设计 | ~ subject + condition |
同一患者治疗前后 | 配对因子必须作为固定效应纳入,否则配对关系丢失 |
| 多因素设计 | ~ factorA + factorB + factorA:factorB |
研究交互作用(如药物×剂量) | 样本量要充足,建议每组≥4个 |
3.4 两两比较:最常用的套路
两两比较,就是“处理组 vs 对照组”。在DESeq2里,模型公式长这样:
dds <- DESeqDataSetFromMatrix(countData = counts,
colData = colData,
design = ~ condition)
dds <- DESeq(dds)
res <- results(dds, contrast = c("condition", "treatment", "control"))
这里contrast的第三个值是分子(你想看哪个组更高),第四个值是分母(参考组)。我习惯把对照组放在分母,这样log2FoldChange正数表示处理组上调,负数表示下调,非常直观。
3.5 多因素设计:处理交互效应
多因素设计稍微复杂点,但很强大。举个例子:你想研究药物A和药物B的联合作用,每个药物有/无两个水平,那就是2×2析因设计。模型公式:
design(dds) <- ~ drugA + drugB + drugA:drugB
然后你可以做似然比检验,看看交互项是否显著:
dds <- DESeq(dds, test = "LRT", reduced = ~ drugA + drugB)
res_interaction <- results(dds)
如果交互项显著,说明药物A和B的效果不是简单的加法,有协同或拮抗。我做过一个免疫药物和化疗药联用的项目,交互项P值极低,最后发现联合用药确实有协同效应,但仅限于某个特定剂量组合——这就是多因素设计才能揭示的细节。
3.6 关于批次效应的思考
最后提一嘴批次效应。这不是设计类型,但设计时必须考虑。如果你的样本分两批测序,那你最好把批次信息作为一个协变量加入模型:
design(dds) <- ~ batch + condition
这样做可以防止批次差异干扰处理效应。我有个惨痛教训:早年做时间序列实验,前两天的样本跑了一轮,后两天跑了一轮,结果差异基因分析出来一堆日子相关的假阳性。加了批次变量后,那些假阳性就消失了。所以,操作上:
- 尽量所有样本同时提取、同时建库、同时上机。如果实在做不到,务必记下批次信息。
- 设计时最好把处理和批次交叉,避免某个处理全在第一批、对照全在第二批——那样批次和处理的效应就完全混在一起分不开了。
核心总结
- 生物学重复至少3个,4个更保险。
- 两两比较用
contrast定义分子分母。 - 多因素设计用
LRT似然比检验交互效应。 - 批次效应一定要记录并纳入模型。