代谢物鉴定与数据库匹配¶
一句话说明¶
代谢物鉴定就是"给质谱检测到的未知信号找到名字"——通过精确质量、碎片谱和数据库比对,把一个个m/z数字变成具体的化合物名称,就像根据指纹查身份证。
核心知识点¶
要点1:鉴定层级(MSI标准)¶
- Level 1 - 确认鉴定:与标准品比对,保留时间+MS/MS+精确质量全部匹配
- Level 2 - 推测鉴定:MS/MS谱图与数据库匹配,无标准品验证
- Level 3 - 推测分类:基于精确质量推测化合物类别(如"可能是脂肪酸")
- Level 4 - 未知特征:有信号但无法鉴定,只记录m/z和保留时间
要点2:主要代谢物数据库¶
- HMDB(人类代谢组数据库):~22万条代谢物,含MS/MS谱,人类代谢研究首选
- METLIN:~96万种代谢物/脂质,含实验MS/MS谱
- MassBank:开源质谱谱库,社区贡献,可本地搜索
- KEGG:代谢通路数据库,含代谢物的通路归属信息
- LipidMaps:脂质专用数据库,脂质组学必备
- mzCloud:Thermo Fisher维护,高质量MS/MS参考谱
要点3:MS/MS谱图匹配算法¶
- 余弦相似度(Cosine Similarity):最常用,把谱图当向量计算夹角
- 改进余弦相似度:考虑母离子质量差异的修正版
- Entropy相似度:2021年提出的新方法,对噪音更鲁棒
- 匹配评分标准:一般cosine score > 0.7算匹配,>0.9高置信度
要点4:分子式预测与加合物判断¶
- 精确质量 → 分子式:高分辨质谱(<5ppm)可推算可能的分子式
- 同位素分布:13C、37Cl等同位素峰的模式帮助确认分子式
- 加合物类型:正离子模式常见[M+H]+、[M+Na]+、[M+NH4]+;负离子模式常见[M-H]-、[M+FA-H]-
- 源内碎片:注意区分加合物和源内碎片,避免误判
实战代码¶
# === 代谢物数据库匹配示例(使用matchms库) ===
# pip install matchms # matchms是Python谱图匹配专用库
from matchms import Spectrum
from matchms.similarity import CosineGreedy
import numpy as np
# 1. 构建查询谱图(来自实验数据)
query = Spectrum(
mz=np.array([85.029, 113.024, 129.019, 175.024]), # 碎片离子m/z
intensities=np.array([100, 45, 30, 80]), # 对应强度
metadata={
"precursor_mz": 175.024, # 母离子m/z
"charge": 1 # 电荷数
}
)
# 2. 构建参考谱图(来自数据库)
reference = Spectrum(
mz=np.array([85.028, 113.024, 129.019, 175.025]), # 数据库中抗坏血酸的碎片
intensities=np.array([100, 50, 28, 75]),
metadata={
"compound_name": "Ascorbic acid", # 化合物名称:维生素C
"precursor_mz": 175.025
}
)
# 3. 计算余弦相似度
cosine = CosineGreedy(tolerance=0.01) # m/z容忍度0.01Da
score = cosine.pair(query, reference) # 计算匹配分数
print(f"匹配分数: {score['score']:.3f}") # 输出相似度
print(f"匹配碎片数: {score['matches']}") # 匹配的碎片离子数量
# 4. 批量搜库(使用matchms的批量功能)
from matchms import calculate_scores
# 假设references是从MassBank加载的参考谱库
# references = list(load_from_mgf("massbank_library.mgf"))
# scores = calculate_scores(references, [query], CosineGreedy())
# best_match = scores.scores_by_query(query, sort=True)[0]
# === 使用SIRIUS进行分子式预测和结构鉴定 ===
# SIRIUS是代谢物鉴定的"瑞士军刀",整合了多个算法
# 安装SIRIUS(2025版本为SIRIUS 6)
# 从 https://bio.informatik.uni-jena.de/software/sirius/ 下载
# 运行SIRIUS命令行进行批量鉴定
sirius \
--input input.mgf \ # 输入MS/MS数据(MGF格式)
--output results/ \ # 输出目录
formula \ # 预测分子式
fingerprint \ # 预测分子指纹
structure \ # 搜索候选结构(CSI:FingerID)
canopus # 预测化合物分类(ClassyFire)
面试常问点¶
Q1: 非靶向代谢组学的鉴定率为什么这么低?¶
参考答案:目前非靶向代谢组学的鉴定率通常只有10-30%。原因有三:一是很多代谢物根本不在现有数据库中,尤其是微生物和植物代谢物;二是同分异构体太多,光靠质谱碎片很难区分;三是很多检测到的信号其实是加合物、源内碎片或噪音。提高鉴定率的方向包括扩展谱库、发展计算预测方法(如SIRIUS/CSI:FingerID)、使用保留时间预测辅助。
Q2: 怎么区分真正的代谢物和伪信号?¶
参考答案:需要注意几种伪信号:(1)加合物:同一个代谢物可能同时出现[M+H]+和[M+Na]+,不要当成两个代谢物;(2)源内碎片:在离子源中碎裂产生的,保留时间相同但m/z更小;(3)同位素峰:13C自然丰度产生的+1Da峰。可以用CAMERA(R包)或MS-DIAL自动检测和去除这些伪信号。
速查卡片¶
| 问题 | 一句话答案 |
|---|---|
| Level 1鉴定需要什么? | 标准品比对:保留时间+MS/MS+精确质量全匹配 |
| HMDB是什么? | 人类代谢组数据库,最全面的人类代谢物参考库 |
| cosine score多少算匹配? | >0.7初步匹配,>0.9高置信度 |
| SIRIUS能做什么? | 分子式预测+结构鉴定+化合物分类,一站式工具 |
| [M+Na]+是什么意思? | 代谢物加一个钠离子形成的加合物离子 |
| 怎么提高鉴定率? | 扩展谱库、用SIRIUS计算预测、多色谱柱互补 |