2. 实验设计基础

做蛋白质组学定量,最怕什么?不是仪器坏了,也不是软件崩了——而是实验设计一开始就埋了雷。我见过太多人跑完质谱,拿到一堆数据,结果发现分组不合理、批次混在一起,最后折腾几个月也揪不出真正的差异蛋白。说白了,实验设计是定量分析的「地基」,地基歪了,后面再漂亮的生信分析也救不回来。

这一章咱们就聊聊实验设计的三个核心要素:样本怎么分组、标记选什么策略、批次效应怎么控制。全是实战中踩过的坑,我尽量把经验都抖出来。

1. 样本分组原则

分组不是随便把样本扔进两个桶里就完事。你需要考虑生物学重复、对照设计、以及混淆变量的处理。

核心原则:每组至少3个生物学重复,推荐5个以上。生物学重复 ≠ 技术重复!技术重复是对同一样本重复测量,生物学重复才是反映群体变异的关键。

我曾在项目中接过一个客户的数据:对照组6个样本,处理组只有2个样本。结果跑完LFQ一看,处理组内部变异大到离谱,连差异分析都不敢做。后来只能让客户补样,白白浪费了两个月。

分组设计一般有几种常见模式:

设计类型适用场景注意事项
双样本比较处理 vs 对照,最简单确保两组样本量尽可能均衡
多组比较多个浓度、多个时间点推荐使用ANOVA预筛,再两两比较
配对设计同一患者治疗前后必须保证配对信息完整,无法补样
时间序列动态变化研究注意缺失值处理和趋势分析

我的小建议:尽量做配对设计。配对能极大降低个体差异带来的噪声,尤其在临床样本中特别有用。但前提是配对信息一定要记录清楚——我曾经因为标签模糊,把治疗前和治疗后的样本弄混,那叫一个崩溃。

2. 标记策略选择

定量策略主要分两大阵营:标记定量(label-based)和无标记定量(label-free)。这里先讲标记策略,因为TMT和iTRAQ这些多通路标记在实验设计上比LFQ更复杂。

标记策略的核心问题是:你的样本要加到哪个通道里? 比如说TMT 10plex,一次可以跑10个样本。怎么安排这10个样本,直接决定了数据的可比性和批次效应处理难度。

我常用的策略是「桥接设计」(Bridge Design):

  • 在所有TMT批次中,都加入一个共同的参考样(通常是所有样本的pool)。
  • 这样不同批次之间的定量值可以通过参考样归一化。
  • 参考样要足够多,建议额外准备3~5个技术重复的pool,用于评估技术变异。

注意:千万不要把生物学重复的样本分到同一个TMT批次里!例如对照组有5个重复,应该分散到不同批次(比如batch1放2个,batch2放3个)。否则批次效应会和组别效应完全混杂,后期算法再牛也分不开。

来看一个实际的多批次TMT实验分组示例(6组,每组4个生物学重复,使用TMT 10plex,共3个batch):

Batch 1: 通道126~130: 处理组A的rep1, rep2; 对照组B的rep1, rep2; 参考样pool
        通道131~135: 处理组C的rep1, rep2; 对照组D的rep1, rep2; 参考样pool
Batch 2: 通道126~130: 处理组A的rep3, rep4; 对照组B的rep3, rep4; 参考样pool
        通道131~135: 处理组C的rep3, rep4; 对照组D的rep3, rep4; 参考样pool
Batch 3: 通道126~130: 其他两组E, F各两个重复+参考样pool
        通道131~135: 剩余两个重复+参考样pool

你看,这里的关键是每个batch内部都包含不同处理组的样本,而且每个batch都有参考样。这样即使不同batch之间有技术差异,也能用参考样校正回来。

3. 随机化与批次效应控制

随机化不是玄学,是统计学的基本要求。样本处理顺序、上机顺序、甚至试剂批号,都可能引入系统偏差。我习惯做以下几步:

  1. 样本处理随机化:把分组标签打乱,按随机顺序进行蛋白提取、酶解、除盐等步骤。
  2. 上机顺序随机化:质谱进样时,不要一组跑完再跑下一组。比如用随机数表安排进样顺序。
  3. 批内质量控制:每批样本中穿插QC样(pool的等分),用QC样评估仪器稳定性。

实用脚本:我写了个简单的R脚本,帮你生成随机化顺序表。可以用,但记得改样本路径。

# 生成随机上机顺序表
set.seed(42)  # 固定种子确保可重复
samples <- read.csv("sample_info.csv")
samples$order <- sample(1:nrow(samples))
samples <- samples[order(samples$order), ]
write.csv(samples, "randomized_order.csv", row.names = FALSE)

批次效应的控制,你需要从实验设计和数据分析两方面入手:

层面方法说明
实验前平衡分组不同处理组样本均匀分布在各个批次中
实验前使用参考样每个批次内加入同一参考样,用于归一化
实验后ComBat基于贝叶斯框架去除已知批次效应
实验后PCA检查看样本是否按批次聚类,而非按处理组聚类

避坑指南:我曾经用ComBat处理TMT数据时,没注意参考样的处理方式。结果把参考样当作一个单独的组,差点把合理的参考样信号也给去掉了。记住:参考样是用来做归一化的,不是用来做差异分析的组别,ComBat要设置好batch信息,不要把参考样当样本处理。

为了让你更直观地理解实验设计的整体流程,我画了张SVG图,把样本分组、标记策略、随机化和批次效应控制的逻辑串起来。

蛋白质组学定量实验设计全景图 样本收取与分组 (生物学重复≥3,配对/多组设计) 标记策略选择 (TMT/iTRAQ/LFQ,桥接设计) 随机化处理 (上机顺序/处理批次打乱) 批次效应控制 平衡分组 + 参考样归一化 数据分析:ComBat / limma PCA / UMAP 检查 确认样本按处理组聚类 而非按批次聚类 QC样监测 计算QC样间的 定量差异(CV < 20%) 可靠的下游定量结果

回头看这张图,整个流程像一条生产线:样本分组决定了生物学变异能否被正确估计,标记策略决定了批次间能否对齐,随机化打破了系统偏差,而批次效应控制保证了不同批次的数据可以合并分析。任何一个环节出问题,下游的差异蛋白列表就可能是垃圾进垃圾出。

嗯,实验设计这块内容就讲到这里。你自己的项目里,记得多用参考样、多写脚本、多画PCA。别嫌麻烦——这些前期工作,最后都能在数据分析时加倍回报给你。