技能matchms
M

matchms

用于代谢组学的谱相似性与化合物鉴定。用于比较质谱、计算相似度得分(余弦、改进余弦),并通过光谱库从谱图中鉴定未知化合物。最适用于代谢物鉴定、谱图匹配、库搜索。若用于完整的 LC-MS/MS 蛋白质组学流程,请使用 pyopenms。

Matchms - Python 质谱相似度计算与化合物识别工具

技能概述

Matchms 是一个开源的 Python 质谱数据分析库,专用于代谢组学中的光谱相似度计算和化合物识别,支持多种文件格式导入、光谱预处理、相似性评分构建完整的分析流程。

适用场景

1. 代谢组学化合物识别

当您需要从质谱数据中识别未知化合物时,matchms 可以帮助您将实验光谱与标准谱库进行比对,通过 CosineGreedy、ModifiedCosine 等相似度算法快速找到最佳匹配的化合物,广泛应用于代谢物鉴定和生物标记物发现。

2. 质谱库搜索与光谱匹配

支持 MGF、mzML、MSP、JSON 等主流质谱格式的导入导出,兼容 GNPS 光谱库,能够进行大规模光谱库搜索和匹配,适合需要处理大量质谱数据的实验室和研究者。

3. 质谱数据预处理与质量控制

提供 40+ 个光谱过滤器,包括峰强度归一化、相对强度选择、前体峰去除、元数据标准化等,帮助您构建可重现的数据处理流程,确保分析结果的准确性和一致性。

核心功能

1. 多格式质谱数据导入导出

支持 mzML、mzXML、MGF、MSP、JSON 等多种质谱格式的读写,兼容 GNPS 和代谢组学-USI 标准,可以方便地在不同分析平台之间交换数据,通过简单的 API 调用即可完成批量数据处理。

2. 光谱相似度计算

提供多种相似度算法包括 CosineGreedy、ModifiedCosine、NeutralLossesCosine、FingerprintSimilarity 等,能够计算质谱间的相似性评分,支持批量处理和自定义容差参数,为化合物识别提供量化依据。

3. 可重现的质谱处理流程

通过 SpectrumProcessor 构建多步骤的数据处理管道,将数据过滤、标准化、相似度计算等操作串联起来,确保分析流程的可重现性和可扩展性,适合构建标准化的质谱数据分析工作流。

常见问题

Matchms 是什么?主要用途是什么?

Matchms 是一个专门用于质谱数据处理的 Python 库,主要功能是计算光谱相似度和进行化合物识别。它特别适合代谢组学研究者用来比对未知光谱与参考谱库,通过相似度算法找到匹配的化合物,同时提供完整的数据预处理和质量控制工具。

如何使用 matchms 计算质谱相似度?

使用 matchms 计算相似度非常简单,首先导入您的质谱数据(支持 MGF、mzML 等格式),然后选择相似度算法如 CosineGreedy 或 ModifiedCosine,调用 calculate_scores 函数即可获得相似度评分。例如:scores = calculate_scores(references=library_spectra, queries=query_spectra, similarity_function=CosineGreedy()),结果可以按评分排序找出最佳匹配。

Matchms 和 pyopenms 应该如何选择?

Matchms 专注于代谢组学中的光谱相似度计算和化合物识别,提供丰富的相似度算法和光谱过滤工具,适合质谱库搜索和化合物鉴定场景。如果您需要完整的 LC-MS/MS 蛋白组学分析流程,包括肽段识别、定量分析等更复杂的功能,建议使用 pyopenms。两者可以互补使用,matchms 处理光谱匹配部分,pyopenms 处理更复杂的蛋白组学分析。