跳转至

代谢物鉴定与数据库匹配


一句话说明

代谢物鉴定就是"给质谱检测到的未知信号找到名字"——通过精确质量、碎片谱和数据库比对,把一个个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计算预测、多色谱柱互补