SuperAPI AI 工具集

matchms

数据与分析

查看项目

更新于 10-15 09:33

技能介绍

用途

Matchms 是一个开源的 Python 库,用于质谱数据的处理与分析,主要面向代谢组学和质谱分析场景。其目标包括:从多种格式导入谱图、标准化元数据、过滤峰、计算谱图相似度,并构建可重复的分析工作流。

主要能力

导入与导出

支持加载和导出多种质谱数据格式,导入函数包括 load_from_mgf、load_from_mzml、load_from_msp、load_from_json;导出函数包括 save_as_mgf、save_as_msp、save_as_json。支持的格式有:mzML 和 mzXML(原始质谱格式)、MGF(Mascot Generic Format)、MSP(谱库格式)、JSON(GNPS 兼容)、metabolomics-USI 引用、Pickle(Python 序列化)。

谱图过滤与处理

提供 40 多个过滤器,可标准化元数据并精炼峰数据,涵盖以下几类:

  • 元数据处理:统一化合物名称、推导化学结构、标准化加合物、修正电荷。
  • 峰过滤:归一化强度、按 m/z 或强度选择、移除前体峰。
  • 质量控制:要求最少峰数、验证前体 m/z、确保元数据完整性。
  • 化学注释:添加指纹、推导 InChI/SMILES、修复结构不匹配。

示例过滤器包括 default_filters、normalize_intensities、select_by_relative_intensity、require_minimum_number_of_peaks 等。

谱图相似性计算

通过 calculate_scores 函数和相似性函数比较谱图,可用函数包括:

  • CosineGreedy / CosineHungarian:基于峰的余弦相似度,匹配算法不同。
  • ModifiedCosine:考虑前体质量差异的余弦相似度。
  • NeutralLossesCosine:基于中性丢失模式的相似度。
  • FingerprintSimilarity:使用指纹的分子结构相似度。
  • MetadataMatch:比较用户定义的元数据字段。
  • PrecursorMzMatch / ParentMassMatch:基于质量的简单过滤。

可获得排序后的最佳匹配结果。

处理流程构建

通过 SpectrumProcessor 可定义可重复的多步骤分析流程,将多个过滤器组合后依次应用于所有谱图。

Spectrum 对象与元数据管理

核心的 Spectrum 类用于存储质谱数据,可通过 m/z 数组、强度数组和元数据字典创建。支持访问 spectrum.peaks.mz、spectrum.peaks.intensities、spectrum.get("precursor_mz") 等属性,并可使用 spectrum.plot() 和 spectrum.plot_against(reference_spectrum) 可视化谱图。元数据键会自动统一为小写,还可通过过滤器推导 InChI、InChIKey 和添加指纹(如 Morgan 指纹,nbits=2048)。

使用方式

安装:uv pip install matchms。如需分子结构处理(SMILES、InChI):uv pip install matchms[chemistry]。参考资料目录中提供 filtering.md、similarity.md、importing_exporting.md、workflows.md 等文档,可按需查阅以了解具体能力。

适用场景

典型工作流包括:加载和预处理谱库、将未知谱图与参考库匹配、质量过滤和数据清洗、大规模相似性比较、基于网络的谱图聚类。

限制

资料未提供关于收费、价格、平台支持范围、性能上限或具体使用步骤的详细信息,这些内容暂未提供。