[ PROMPT_NODE_26786 ]
matchms
[ SKILL_DOCUMENTATION ]
# Matchms
## 概述
Matchms 是一个用于质谱数据处理和分析的开源 Python 库。它可以从多种格式导入谱图、标准化元数据、过滤峰值、计算谱图相似度,并构建可重复的分析工作流。
## 核心功能
### 1. 导入和导出质谱数据
从多种文件格式加载谱图并导出处理后的数据:
python
from matchms.importing import load_from_mgf, load_from_mzml, load_from_msp, load_from_json
from matchms.exporting import save_as_mgf, save_as_msp, save_as_json
# 导入谱图
spectra = list(load_from_mgf("spectra.mgf"))
spectra = list(load_from_mzml("data.mzML"))
spectra = list(load_from_msp("library.msp"))
# 导出处理后的谱图
save_as_mgf(spectra, "output.mgf")
save_as_json(spectra, "output.json")
**支持的格式:**
- mzML 和 mzXML(原始质谱格式)
- MGF (Mascot Generic Format)
- MSP (谱图库格式)
- JSON (兼容 GNPS)
- metabolomics-USI 引用
- Pickle (Python 序列化)
有关导入/导出的详细文档,请参阅 `references/importing_exporting.md`。
### 2. 谱图过滤与处理
应用全面的过滤器来标准化元数据并精炼峰值数据:
python
from matchms.filtering import default_filters, normalize_intensities
from matchms.filtering import select_by_relative_intensity, require_minimum_number_of_peaks
# 应用默认元数据协调过滤器
spectrum = default_filters(spectrum)
# 归一化峰强度
spectrum = normalize_intensities(spectrum)
# 按相对强度过滤峰值
spectrum = select_by_relative_intensity(spectrum, intensity_from=0.01, intensity_to=1.0)
# 要求最少峰值数
spectrum = require_minimum_number_of_peaks(spectrum, n_required=5)
**过滤器类别:**
- **元数据处理**:协调化合物名称、推导化学结构、标准化加合物、校正电荷
- **峰值过滤**:归一化强度、按 m/z 或强度选择、移除前体峰
- **质量控制**:要求最少峰值数、验证前体 m/z、确保元数据完整性
- **化学注释**:添加指纹、推导 InChI/SMILES、修复结构不匹配
Matchms 提供 40 多种过滤器。有关完整的过滤器参考,请参阅 `references/filtering.md`。
### 3. 计算谱图相似度
使用各种相似度指标比较谱图:
python
from matchms import calculate_scores