概览
MS2DeepScore 是一个用于比较串联质谱的 Python 库和预测模型工作流。它的 Siamese 神经网络通过学习谱图对来估计分子结构相似性,并以 Tanimoto 分数表示。该库提供数据准备、模型训练和相似度计算组件,因此适合作为质谱分析中的评分组件,而不是化合物鉴定数据库。
README 链接了一个预训练模型,并说明该模型使用了来自 GNPS、Mona、MassBank 和 MSnLib 的超过 500,000 张 MS/MS 谱图进行训练。该模型支持正、负离子化模式,也支持跨模式比较。文档中的工作流使用 matchms 加载并过滤谱图,然后以 NumPy 相似度矩阵的形式返回成对预测结果。列出的输入格式包括 msp、mzml、mgf、mzxml、json 和 usi。文档还介绍了 PyTorch 和 ONNX 推理路径,以及将现有模型转换为 ONNX 的方法。
每张谱图还可以表示为嵌入向量,用于后续可视化,例如使用 UMAP 进行降维。可选的嵌入评估器可以估计模型对单张谱图的准确性;这是基于模型得出的估计,并非独立验证。该库支持自定义训练,但 README 建议具备机器学习经验,并准备大量且化学多样性高的谱图集合、清理输入数据,以及检查配对采样方式。在将模型应用于内部数据集时,这些要求尤其重要:在科研工作流中依赖预测结果和可视化之前,应先使用有代表性的谱图进行评估。
主要功能
- Siamese 神经网络评分:根据成对的 MS/MS 谱图预测分子结构相似性,并以 Tanimoto 分数表示。
- 链接的预训练模型支持正离子模式、负离子模式以及跨离子化模式的谱图比较。
- 可与 matchms 过滤和评分流程集成,并生成成对相似度预测的 NumPy 数组。
- 通过 PyTorch 和 ONNX 接口提取谱图嵌入,用于后续化学空间可视化。
- 支持自定义模型训练,可配置设置、输入额外元数据,并可选择训练嵌入评估器。
- 支持 ONNX 推理,也支持将现有 PyTorch 模型导出为 ONNX。
使用场景
- 建议的评估方式:比较代谢组学数据集中的谱图,评估预测的结构相似性是否能反映与研究相关的关系。
- 建议的评估方式:使用分子结构已知的代表性谱图对,测试正、负离子化模式之间的比较。
- 建议的评估方式:生成嵌入并检查 UMAP 可视化,以探索谱图在化学空间中的分组情况。
- 建议的评估方式:使用清理后的内部谱图与公开训练数据训练模型,并在后续使用前检查配对采样和预测质量。
使用方式
- 阅读仓库 README,了解环境准备和安装选项。README 列出的 Python 版本为 3.11–3.13;文档未说明更高版本经过系统性测试。
- 按照链接的入门教程,先了解数据准备、评分和可视化,再替换为自己的谱图。
- 从模型记录获取预训练的
ms2deepscore_model.pt。使用 README 中的 PyTorch 工作流;若选择 ONNX 推理,则参照其中的转换说明。 - 使用文档列出的格式准备谱图,并应用推荐的 matchms 清理工作流。计算相似度矩阵;如需可视化,再提取嵌入。
- 使用结构已知的代表性谱图对评估预测结果。进行自定义训练时,查看配对采样教程,并在更改训练设置前评估数据集的多样性。