FastEI论文阅读

前言

研究FastEI有很长时间了,现在来总结一下,梳理一下认知。论文地址:https://www.nature.com/articles/s41467-023-39279-7,Github项目地址:https://github.com/Qiong-Yang/FastEI

概要

这篇文章做的工作是小分子质谱匹配,就是说给定一个小分子的质谱,然后根据这个质谱到数据库中检索与它相近的质谱,并返回相应的分子信息。FastEI取得的成绩就是在较大的数据集上(in-silico library,数据量是百万级别)取得了较好的效果:Top10的召回率是80.4%,Top1的召回率是36.7%。此外作者还做了个检索程序,可以在电脑上运行。

架构

模型需要分为两条线来说,一条线是查询:给定查询的实验谱(Query spectrum),将实验谱经Word2vec模型转化为嵌入向量(Spectral embeddings),用嵌入向量进行匹配,返回近似结果;另一条线是建库:给定分子信息, 经NEIMS模型转化为预测谱(分子信息和预测谱存入数据库中),再转化为嵌入向量,用嵌入向量构造检索架构(HNSW)。

模型

下面来分别介绍一下用来生成预测谱的NEIMS、将质谱转化为嵌入向量的Spec2vec、加速检索速度的HNSW。

NEIMS

NEIMS的全称是Neural Electron-Ionization Mass Spectrometry,论文地址:https://pubs.acs.org/doi/full/10.1021/acscentsci.9b00085。这个模型的原理就是先调用rdkit生成ECFPS分子指纹(关于ECFPS,可以去看这个博客:https://www.jianshu.com/p/8167a050debc),然后使用全连接神经网络去预测它的质谱。这个项目的Github地址:https://github.com/brain-research/deep-molecular-massspec。顺便吐槽一下:这是个19年的陈年老项目,用的是tensorflow1.13.2,然后Contributors也不解答issue了。

Spec2vec

Spec2vec这个方法脑洞确实比较大,其作者是收到自然语言处理Word2vec的启发,将质谱的每一个峰表示为"Peak@m/z"这一word,然后再将这个word转化为vector。我觉得这样做的信息损耗也太大了,直接将质谱信息转化为vector不好吗?论文地址:https://journals.plos.org/ploscompbiol/article?id=10.1371/journal.pcbi.1008724,Github项目地址:https://github.com/iomega/spec2vec

HNSW

HNSW的全称是Hierarchical Navigable Small-World graph,意为分层可导航小世界图,是用来快速检索的。要快速检索的原因是数据量比较大,你不可能去一一比对。它是一个贪心算法:从顶层到底层,向量逐层增加;从顶层进入,找到最近邻,向下深入,再找最近邻......一直找到底层的最近邻,将底层的Topk最近邻返回。论文地址:https://ieeexplore.ieee.org/abstract/document/8594636,Github项目地址:https://github.com/nmslib/hnswlib

数据

这个项目用到了三大数据集,分别是NIST2017、HMDB和ChEMBL 28。其中NIST是付费的,需要用到它的验证集和测试集,其余用NEIMS生成预测谱就可以。除了这三大数据集,还有10种 作者提出了四大过滤原则,分别是分子质量≤1000道尔顿、只含11种元素(H, C, O, N, P, S, Cl, F, Br, I, Si)、非离子化合物、LogP∈-12,24

在经过四大条件过滤之后, 三大数据集之间进行去重,确保没有重复元素。过滤和去重之后的数据集称为f-NIST、f-ChEMBL和f-HMDB。

实验结果

这里主要展示一下召回率,in-silico library的召回率要比expanded library高一些,因为数据多了肯定。

结语

这篇文章中作者的贡献主要在于完成了这么一个pipeline(虽然她写了UI,但UI不能算是什么贡献),至于里面用到的方法都是很老的方法(她进行这项工作是在2022年,但用到的东西都是2019年之前的东西,并且2019之后2022之前有新东西),希望可以超越她。

有问题欢迎在评论区讨论。

相关推荐
YMWM_8 小时前
lerobot中use_relative_actions=True需要重新计算meta/stats.json等信息
人工智能·深度学习·lerobot
闻道且行之9 小时前
TurboOCR:基于PP-OCRv6的极速Windows离线OCR工具,深度解析3.4GB依赖背后的技术架构
c++·人工智能·python·qt·机器学习·ocr
橙臣程9 小时前
深度学习2——CNN与RNN概述
rnn·深度学习·cnn
绝世番茄9 小时前
鸿蒙HarmonyOS ArkTS原生拖拽排序深度解析
深度学习·华为·list·harmonyos·鸿蒙
许彰午10 小时前
95_Python内存管理与垃圾回收
开发语言·python
骄阳如火10 小时前
Python 性能深度剖析:从“被诟病的慢”到“Rust 重塑”的拐点
python
满怀冰雪11 小时前
03-第一个 Paddle 程序:Tensor 创建、计算与设备管理
人工智能·python·paddle
CClaris11 小时前
大模型量化从0到1(九):用 llama.cpp 把模型转成 GGUF 并跑本地推理
人工智能·pytorch·python·深度学习·llama
学编程的小虎11 小时前
SenseVoice微调
人工智能·python·自然语言处理
诸葛说抛光12 小时前
国内大型汽车改装展览会定展 佛山改装 佛山汽车赛事
python·汽车