非靶向代谢组学LC-MS分析¶
一句话说明¶
非靶向代谢组学LC-MS分析就是"先把样品里所有能检测到的小分子代谢物都捞出来,再看看哪些有意思"——不预设目标,广撒网式地寻找差异代谢物。
核心知识点¶
要点1:LC-MS基本原理¶
- LC(液相色谱):按化学性质把代谢物分开,就像赛跑——不同分子跑得快慢不同(出峰时间不同)
- MS(质谱):给每个分子"称体重"(测质荷比m/z),就像给每个人一个身份标签
- 串联质谱(MS/MS):把分子打碎再称碎片重量,相当于"看指纹"确认身份
- 正/负离子模式:正离子模式检测容易加H+的分子(胺类、生物碱),负离子模式检测容易丢H+的分子(有机酸、脂肪酸)
要点2:实验设计关键点¶
- 样本量:每组至少6个生物学重复,推荐10-20个
- QC策略:每5-10个样本插入1个Pooled QC
- 随机化:进样顺序必须随机,避免批次效应
- 空白样本:溶剂空白+提取空白,用于扣除背景信号
- 色谱柱选择:反相C18(检测中等极性到非极性代谢物)、HILIC(检测极性代谢物)
要点3:数据处理软件¶
- XCMS(R/Bioconductor):开源经典,学术界最常用
- MZmine 3:Java开源GUI工具,操作友好
- MS-DIAL:支持DIA数据,自带谱库匹配
- Compound Discoverer:Thermo官方商业软件
- 处理步骤:峰检测 → 峰对齐 → 峰填补 → 特征表导出
要点4:代谢物注释分级¶
- Level 1:与标准品比对(保留时间+MS/MS完全匹配)——最高置信度
- Level 2:与谱库MS/MS匹配(HMDB、MassBank、METLIN)
- Level 3:基于精确质量和分子式推测的候选化合物类别
- Level 4:未知但可重复检测的特征
实战代码¶
# === XCMS非靶向代谢组学处理流程 ===
library(xcms) # 加载XCMS包
library(MSnbase) # 质谱数据基础包
# 1. 读取mzML/mzXML原始数据文件
raw_files <- list.files("data/", pattern = ".mzML", full.names = TRUE) # 列出所有mzML文件
raw_data <- readMSData(raw_files, mode = "onDisk") # 以磁盘模式读取,节省内存
# 2. 峰检测(CentWave算法,适合高分辨质谱)
cwp <- CentWaveParam(
peakwidth = c(5, 30), # 峰宽范围5-30秒(根据色谱条件调整)
ppm = 10, # 质量偏差容忍度10ppm
snthresh = 6, # 信噪比阈值,低于6的峰不要
noise = 1000 # 绝对噪音阈值
)
xdata <- findChromPeaks(raw_data, param = cwp) # 执行峰检测
# 3. 峰对齐(Obiwarp算法)
obiwarp_param <- ObiwarpParam(binSize = 0.6) # 对齐参数
xdata <- adjustRtime(xdata, param = obiwarp_param) # 校正保留时间
# 4. 峰分组(把不同样本中同一个代谢物的峰归为一组)
pdp <- PeakDensityParam(
sampleGroups = raw_data$group, # 样本分组信息
bw = 5, # 带宽参数,控制分组严格程度
minFraction = 0.5 # 至少50%的样本中出现才保留
)
xdata <- groupChromPeaks(xdata, param = pdp) # 执行峰分组
# 5. 缺失值填补
xdata <- fillChromPeaks(xdata) # 回到原始数据中重新积分缺失的峰
# 6. 导出特征表
feature_table <- featureValues(xdata, value = "into") # 提取峰面积矩阵
write.csv(feature_table, "feature_table.csv") # 保存为CSV
面试常问点¶
Q1: 非靶向和靶向代谢组学有什么区别?¶
参考答案:非靶向是"广撒网"——不预设检测什么,尽可能检测所有代谢物,适合发现新的差异代谢物,但定量不太准确。靶向是"精确打击"——提前确定要测哪些代谢物,用标准品定量,结果更准但覆盖面窄。一般先用非靶向发现候选代谢物,再用靶向验证。
Q2: 为什么要同时跑正离子和负离子模式?¶
参考答案:因为不同代谢物的电离特性不同。氨基酸、生物碱在正离子模式灵敏度更高;有机酸、脂肪酸、核苷酸在负离子模式更好。只跑一种模式会漏掉很多代谢物,两种模式互补才能覆盖更广的代谢物谱。
Q3: XCMS中CentWave的peakwidth参数怎么设?¶
参考答案:peakwidth定义了期望的色谱峰宽度范围(单位秒)。UHPLC一般设(5,30),常规HPLC可能要设(10,60)。可以先看几个已知代谢物的色谱峰宽度来确定。设太窄会漏峰,设太宽会把噪音也当成峰。
速查卡片¶
| 问题 | 一句话答案 |
|---|---|
| LC-MS的LC是什么? | 液相色谱,按化学性质分离代谢物 |
| MS/MS有什么用? | 通过碎片谱鉴定代谢物身份,就像"分子指纹" |
| 非靶向数据处理首选工具? | 学术界用XCMS(R),GUI用MZmine 3 |
| 代谢物注释Level 1是什么? | 与标准品的保留时间+MS/MS都匹配 |
| ppm是什么意思? | 百万分之一,描述质量测量精度 |
| 正离子模式适合测什么? | 胺类、生物碱等容易加H+的分子 |