跳转到正文

Matchms

matchms developer team / Düsseldorf University of Applied Sciences & Netherlands eScience Center

Matchms 是一个 Python 工具包,用于导入、清理和比较串联质谱,并提供可配置的处理流程、多种相似度度量以及稀疏分数存储。

条目更新 ·

概览

Matchms 是一个用于处理串联质谱(MS/MS)数据并比较参考谱与查询谱的 Python 库。它提供光谱分析工作流程中的预处理和评分阶段,而不是独立的预测模型。文档列出的输入包括 mzML、mzXML、msp、MGF、JSON,以及通过 metabolomics-USI 检索的光谱。输出包括处理后的光谱、成对相似度分数和针对单个查询的排序匹配结果;流程示例还展示了将清理后的查询谱和参考谱写入 MGF 文件。

工作流程可以在计算相似度之前结合元数据标准化、验证、强度归一化和峰筛选。Pipeline 类支持创建、导入、导出和修改 YAML 工作流程定义;需要自定义处理时,也可以单独使用导入、筛选和评分函数。文档介绍的评分选项包括余弦、改进余弦和中性丢失比较,以及基于分子指纹和元数据的度量。稀疏分数处理会存储已计算的非空值;分阶段评分可先用一种度量缩小后续比较范围。

Matchms 还支持自定义相似度度量。Spec2Vec 和 MS2DeepScore 是遵循其评分接口的独立软件包,并非 Matchms 本身提供的内置预测模型。README 宣布了 matchms 1.0 即将带来的变更,并将其许多指导内容标记为旧版 README,因此用户应对照所选软件包版本核查文档。所提供的软件包配置将 Python 限定为 3.10 至 3.14 版本;README 中关于更高版本或许可用的说法并不构成兼容性保证。

主要功能

  • 可从 mzML、mzXML、msp、MGF 和 JSON 导入光谱,文档也介绍了通过 metabolomics-USI 检索光谱。
  • 提供元数据清理和验证、强度归一化及峰选择筛选,包括移除前体 m/z 附近的峰。
  • 通过 `Pipeline` 类和可导入、可导出的 YAML 配置定义可复用的处理与评分工作流程。
  • 提供余弦、改进余弦、中性丢失、分子指纹和基于元数据的光谱比较方法。
  • 以稀疏方式存储已计算的非空分数,并支持通过初始预筛选度量进行分阶段比较。
  • 通过 `scores_by_query` 获取按顺序排列的查询匹配结果,并接受自定义或单独安装的相似度度量。

使用场景

  • 建议的评估:构建可重复的 MS/MS 谱库清理流程,对元数据进行标准化并导出清理后的参考光谱。
  • 建议的评估:将查询谱与参考谱库进行比较,检查按余弦或改进余弦相似度排序的匹配结果及匹配峰数。
  • 建议的评估:在有代表性的光谱上评估峰筛选和归一化对光谱相似度结果的影响。
  • 建议的评估:在共享的处理流程中,将内置评分方法与单独安装的 Spec2Vec 或 MS2DeepScore 进行比较。

使用方式

  1. 在选择软件包版本前,阅读仓库指南和文档。留意 README 中关于 matchms 1.0 即将发生变更的说明,不要假定开发示例与所安装的版本一致。
  2. 按照文档所述的安装流程在新环境中进行安装,以减少依赖冲突。检查所选软件包的 Python 要求;所提供的配置指定 Python 3.10–3.14。
  3. 从提供的农药示例开始,然后查阅导入 API,以处理自己的光谱格式。
  4. 使用筛选 API选择元数据和峰处理步骤。使用 Pipeline 保存 YAML 工作流程,或组合单独的函数进行自定义处理。
  5. 从相似度 API中选择度量,计算参考谱与查询谱的分数,并检查排序后的匹配结果。作为预期的评估步骤,在扩大规模之前,先在有代表性的输入上比较不同筛选选项和容差的影响。

相关资源

MS2DeepScore 使用 Siamese 神经网络,根据成对的串联质谱预测分子结构相似性,并提供用于生成谱图嵌入、推理和自定义模型训练的工具。

开源Python

光谱学

一个 K-Dense Skill,包含用于校准一维 NMR FID 处理的说明和 Python 辅助程序,可生成经过相位校正的谱图、正峰候选、带符号积分及可复现的处理报告。

开源Python

光谱学

Spec2Vec

模型

Spec2Vec 是一个用于 MS/MS 光谱相似度评分的 Python 包。它利用从质谱碎片和中性丢失中学习到的 Word2Vec 嵌入来比较查询光谱与参考光谱。

开源Python

光谱学

相关指南

技能

化学 AI Skills 是什么?科研 Agent 的能力模块详解

了解化学 AI Skills 如何作为可复用的流程模块:`SKILL.md` 包含什么内容,宿主如何加载指令,Skills 与 MCP 和智能体有何区别,以及如何选择、组合和评估它们,同时避免将操作指导误认为科学验证。