用途:matchms 是面向质谱数据的 Python 库,主要用于 MS/MS 谱图相似度计算与未知代谢物鉴定,可将查询谱图与参考谱库比对,也用于谱图标准化、质量控制和重复检测。若需完整 LC-MS/MS 蛋白质组流程(特征检测、蛋白鉴定)应改用 pyopenms;仅做化学结构相似度而不涉及质谱可用 rdkit 指纹比较。
主要能力:支持 MGF、MSP、mzML、mzXML、JSON、pickle、USI 等格式导入,并可导出为 MGF、MSP、JSON、pickle。提供 50+ 过滤器,涵盖元数据清理、化学标识符推导(SMILES/InChI/InChIKey)、质量与电荷校正、峰归一化、峰筛选与降噪、质量控制、中性丢失计算等。相似度函数包括 CosineGreedy、CosineHungarian、ModifiedCosine、NeutralLossesCosine、FingerprintSimilarity、MetadataMatch、PrecursorMzMatch 等,评分返回 (score, matches) 元组。
使用方式:安装命令为 uv pip install matchms numpy pandas,化学结构处理需 uv pip install matchms[chemistry],要求 Python 3.8+。典型流程为:用 load_from_mgf 等加载谱图,依次应用 default_filters、normalize_intensities、select_by_relative_intensity、require_minimum_number_of_peaks 等过滤器,再用 calculate_scores 配合相似度函数计算得分,通过 scores_by_query 取最佳匹配。可用 SpectrumProcessor 组合过滤器构建可复现流水线,返回 None 的谱图会被剔除。
适用场景:未知代谢物库匹配、谱图相似度评分、多格式数据标准化、谱库元数据统一、大规模谱库比较与去重、质量控制与格式转换。
限制:资料未提供具体收费、价格与性能基准;峰匹配容差与评分阈值需按仪器精度和谱库支持情况自行设定,资料提示宽松容差配合低阈值会导致所有查询都返回看似合理的鉴定结果,需谨慎设置。