一、通道设置最佳实践
TMT 18-plex 的核心问题是通道间串扰(cross-talk)和共洗脱干扰(co-isolation)。基于 Aimsmass 30+ 临床队列的经验,我们总结几个铁律:
- 桥样本(Bridge / Pool)——每 18 通道中至少有 2 个桥样本,且桥样本应当跨批次使用。
- 避免把极端样本放在相邻通道,如肿瘤样本和正常样本间隔排列。
- 同组样本分布到不同位置,避免位置偏差(position bias)。
二、Ratio compression 的真凶
TMT 数据中常见的 "ratio compression"——差异被系统性低估——主要由两个机制造成:
- 共洗脱干扰:低丰度修饰肽段与高丰度相邻肽段被同时选择 MS2。
- 前体共选偏差:高通道信号的肽段"遮蔽"其他通道。
补偿策略:使用 SPS-MS³(即 SPS-HCD-HCD 三级质谱,Thermo TMTpro kit 推荐工作流)可将 ratio compression 从 30-50% 降到 8-15%。
三、批次效应归一化
多批次 TMT 数据必须做的归一化:
- 基于桥样本的median centering。
- 基于参考蛋白(如组蛋白)的reference channel normalization。
- 使用 limma 或 ComBat 处理明显的批次效应。
四、缺失值处理的 4 个陷阱
临床 TMT 数据的缺失值类型需要严格区分:
| 类型 | 特征 | 处理建议 |
|---|---|---|
| MNAR(缺失非随机) | 低丰度蛋白左偏分布 | 用 impSeqRob 或 missForest |
| MAR(随机缺失) | 随机散布 | 多重插补 |
| 总量缺失 | 整通道为空 | 检查样品裂解 / 富集失败 |
| 极值缺失 | 超高信号被剔除 | 通常为检测器饱和,重新稀释 |
五、实战代码
下面是一段常用的 R 代码示例,用于 TMT 18-plex 批次归一化 + 缺失值处理:
# R 代码:TMT 18-plex 桥样本归一化
library(preprocessCore)
library(DEP)
tmt_data <- readRDS("tmt18plex.rds")
# 桥样本归一化(每行一个蛋白,每列一个样本)
normalize_to_bridge <- function(mat, bridge_cols) {
bridge_mean <- rowMeans(mat[, bridge_cols, drop=FALSE])
sweep(mat, 1, bridge_mean, "/") * mean(bridge_mean)
}
normalized <- normalize_to_bridge(tmt_data, c("TMT18_126", "TMT18_127N"))
# 缺失值插补(MNAR-aware)
data_imp <- impute_MNAR(normalized)
下游陷阱:不要把缺失值简单填为 0!这会让统计检验严重偏向零假设。Aimsmass 的标准做法是MNAR-aware 插补 + 敏感性分析。
参考文献
- Plubell et al., Nat Methods 2020: TMT 18-plex 临床队列流程。
- Lundberg et al., Mol Cell Proteomics 2021: ratio compression 机制与补偿。
- Lim et al., Nat Commun 2022: 临床队列缺失值处理。
- Aimsmass 内部 SOP v3.2(可索取)。