matchms by davila7/claude-code-templates
npx skills add https://github.com/davila7/claude-code-templates --skill matchmsMatchms 是一个用于质谱数据处理和分析的开源 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")
支持的格式:
有关导入/导出的详细文档,请查阅 references/importing_exporting.md。
应用全面的过滤器来标准化元数据并优化峰数据:
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)
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
过滤器类别:
Matchms 提供 40 多种过滤器。完整的过滤器参考,请查阅 references/filtering.md。
使用多种相似度指标比较光谱:
from matchms import calculate_scores
from matchms.similarity import CosineGreedy, ModifiedCosine, CosineHungarian
# 计算余弦相似度(快速,贪婪算法)
scores = calculate_scores(references=library_spectra,
queries=query_spectra,
similarity_function=CosineGreedy())
# 计算修正余弦相似度(考虑前体 m/z 差异)
scores = calculate_scores(references=library_spectra,
queries=query_spectra,
similarity_function=ModifiedCosine(tolerance=0.1))
# 获取最佳匹配
best_matches = scores.scores_by_query(query_spectra[0], sort=True)[:10]
可用的相似度函数:
有关相似度函数的详细文档,请查阅 references/similarity.md。
创建可复现的多步骤分析工作流:
from matchms import SpectrumProcessor
from matchms.filtering import default_filters, normalize_intensities
from matchms.filtering import select_by_relative_intensity, remove_peaks_around_precursor_mz
# 定义一个处理流程
processor = SpectrumProcessor([
default_filters,
normalize_intensities,
lambda s: select_by_relative_intensity(s, intensity_from=0.01),
lambda s: remove_peaks_around_precursor_mz(s, mz_tolerance=17)
])
# 应用于所有光谱数据
processed_spectra = [processor(s) for s in spectra]
核心的 Spectrum 类包含质谱数据:
from matchms import Spectrum
import numpy as np
# 创建一个光谱对象
mz = np.array([100.0, 150.0, 200.0, 250.0])
intensities = np.array([0.1, 0.5, 0.9, 0.3])
metadata = {"precursor_mz": 250.5, "ionmode": "positive"}
spectrum = Spectrum(mz=mz, intensities=intensities, metadata=metadata)
# 访问光谱属性
print(spectrum.peaks.mz) # m/z 值
print(spectrum.peaks.intensities) # 强度值
print(spectrum.get("precursor_mz")) # 元数据字段
# 可视化光谱
spectrum.plot()
spectrum.plot_against(reference_spectrum)
标准化和统一光谱元数据:
# 元数据会自动统一
spectrum.set("Precursor_mz", 250.5) # 会被统一为小写键名
print(spectrum.get("precursor_mz")) # 返回 250.5
# 推导化学信息
from matchms.filtering import derive_inchi_from_smiles, derive_inchikey_from_inchi
from matchms.filtering import add_fingerprint
spectrum = derive_inchi_from_smiles(spectrum)
spectrum = derive_inchikey_from_inchi(spectrum)
spectrum = add_fingerprint(spectrum, fingerprint_type="morgan", nbits=2048)
针对典型的质谱分析工作流,包括:
详细示例请查阅 references/workflows.md。
uv pip install matchms
如需分子结构处理(SMILES, InChI):
uv pip install matchms[chemistry]
详细的参考文档位于 references/ 目录中:
filtering.md - 完整的过滤器函数参考及描述similarity.md - 所有相似度指标及其使用场景importing_exporting.md - 文件格式详情和 I/O 操作workflows.md - 常见分析模式和示例需要时加载这些参考文档以获取关于特定 matchms 功能的详细信息。
每周安装量
136
代码仓库
GitHub 星标数
23.4K
首次出现
2026年1月21日
安全审计
安装于
claude-code118
opencode112
cursor109
gemini-cli108
antigravity100
codex97
Matchms is an open-source Python library for mass spectrometry data processing and analysis. Import spectra from various formats, standardize metadata, filter peaks, calculate spectral similarities, and build reproducible analytical workflows.
Load spectra from multiple file formats and export processed data:
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
# Import spectra
spectra = list(load_from_mgf("spectra.mgf"))
spectra = list(load_from_mzml("data.mzML"))
spectra = list(load_from_msp("library.msp"))
# Export processed spectra
save_as_mgf(spectra, "output.mgf")
save_as_json(spectra, "output.json")
Supported formats:
For detailed importing/exporting documentation, consult references/importing_exporting.md.
Apply comprehensive filters to standardize metadata and refine peak data:
from matchms.filtering import default_filters, normalize_intensities
from matchms.filtering import select_by_relative_intensity, require_minimum_number_of_peaks
# Apply default metadata harmonization filters
spectrum = default_filters(spectrum)
# Normalize peak intensities
spectrum = normalize_intensities(spectrum)
# Filter peaks by relative intensity
spectrum = select_by_relative_intensity(spectrum, intensity_from=0.01, intensity_to=1.0)
# Require minimum peaks
spectrum = require_minimum_number_of_peaks(spectrum, n_required=5)
Filter categories:
Matchms provides 40+ filters. For the complete filter reference, consult references/filtering.md.
Compare spectra using various similarity metrics:
from matchms import calculate_scores
from matchms.similarity import CosineGreedy, ModifiedCosine, CosineHungarian
# Calculate cosine similarity (fast, greedy algorithm)
scores = calculate_scores(references=library_spectra,
queries=query_spectra,
similarity_function=CosineGreedy())
# Calculate modified cosine (accounts for precursor m/z differences)
scores = calculate_scores(references=library_spectra,
queries=query_spectra,
similarity_function=ModifiedCosine(tolerance=0.1))
# Get best matches
best_matches = scores.scores_by_query(query_spectra[0], sort=True)[:10]
Available similarity functions:
For detailed similarity function documentation, consult references/similarity.md.
Create reproducible, multi-step analysis workflows:
from matchms import SpectrumProcessor
from matchms.filtering import default_filters, normalize_intensities
from matchms.filtering import select_by_relative_intensity, remove_peaks_around_precursor_mz
# Define a processing pipeline
processor = SpectrumProcessor([
default_filters,
normalize_intensities,
lambda s: select_by_relative_intensity(s, intensity_from=0.01),
lambda s: remove_peaks_around_precursor_mz(s, mz_tolerance=17)
])
# Apply to all spectra
processed_spectra = [processor(s) for s in spectra]
The core Spectrum class contains mass spectral data:
from matchms import Spectrum
import numpy as np
# Create a spectrum
mz = np.array([100.0, 150.0, 200.0, 250.0])
intensities = np.array([0.1, 0.5, 0.9, 0.3])
metadata = {"precursor_mz": 250.5, "ionmode": "positive"}
spectrum = Spectrum(mz=mz, intensities=intensities, metadata=metadata)
# Access spectrum properties
print(spectrum.peaks.mz) # m/z values
print(spectrum.peaks.intensities) # Intensity values
print(spectrum.get("precursor_mz")) # Metadata field
# Visualize spectra
spectrum.plot()
spectrum.plot_against(reference_spectrum)
Standardize and harmonize spectrum metadata:
# Metadata is automatically harmonized
spectrum.set("Precursor_mz", 250.5) # Gets harmonized to lowercase key
print(spectrum.get("precursor_mz")) # Returns 250.5
# Derive chemical information
from matchms.filtering import derive_inchi_from_smiles, derive_inchikey_from_inchi
from matchms.filtering import add_fingerprint
spectrum = derive_inchi_from_smiles(spectrum)
spectrum = derive_inchikey_from_inchi(spectrum)
spectrum = add_fingerprint(spectrum, fingerprint_type="morgan", nbits=2048)
For typical mass spectrometry analysis workflows, including:
Consult references/workflows.md for detailed examples.
uv pip install matchms
For molecular structure processing (SMILES, InChI):
uv pip install matchms[chemistry]
Detailed reference documentation is available in the references/ directory:
filtering.md - Complete filter function reference with descriptionssimilarity.md - All similarity metrics and when to use themimporting_exporting.md - File format details and I/O operationsworkflows.md - Common analysis patterns and examplesLoad these references as needed for detailed information about specific matchms capabilities.
Weekly Installs
136
Repository
GitHub Stars
23.4K
First Seen
Jan 21, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykWarn
Installed on
claude-code118
opencode112
cursor109
gemini-cli108
antigravity100
codex97
智能OCR文字识别工具 - 支持100+语言,高精度提取图片/PDF/手写文本
1,100 周安装
主题工厂技能:一键应用专业字体颜色主题,提升演示文稿设计效率
142 周安装
合规审计专家:SOC2、HIPAA、GDPR、PCI DSS 合规审计、差距分析与整改指导
141 周安装
agent-browser 浏览器自动化工具 - 快速网页交互与测试命令行工具
134 周安装
游戏安全逆向工程工具大全:调试、反编译、内存分析与反作弊绕过
135 周安装
Flutter 表单验证教程:使用 Form、TextFormField 和 GlobalKey 实现高效验证
135 周安装
Apache ECharts 教程 - 20+交互式图表制作与数据可视化技能
136 周安装