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之前有新东西),希望可以超越她。

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/509514.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【御控物联】JavaScript JSON结构转换(10):数组To数组——转换映射方式

文章目录 一、JSON结构转换是什么?二、术语解释三、案例之《JSON数组 To JSON数组》四、代码实现五、在线转换工具六、技术资料 一、JSON结构转换是什么? JSON结构转换指的是将一个JSON对象或JSON数组按照一定规则进行重组、筛选、映射或转换&#xff0…

鸿蒙开发-ArkTS语言-基础类库

鸿蒙开发-UI-交互事件-通用事件 鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 鸿蒙开发-UI-交互事件-手势事件 鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 文章目录 前言 一、ArkTS语言基础类库概述 1. 异步并发和多线程并发能力 2. 提供常见容器类库的增删改查能…

电机选型与直线模组(简化版)

2-1电机分类和普通电机选型 1、电机及其原理的基本认知: 电动机我们平时简称电机,大部分情况下指的都是通电后,输出轴会旋转运动的设备。即将电能转换为机械能,供我们使用以驱动机构运行。电机简单的讲,其实就是一个…

用python,将有道词典中的生词导入扇贝单词

我试过有道词典和扇贝单词,个人感觉扇贝单词记忆功能非常好用,但是扇贝单词没有pc版,而有道在这方面就做的很好。博主平时都是用有道查生词,那有没有办法将有道词典中的生词导入扇贝中呢?下面的过程看上去很复杂&#…

护眼台灯什么牌子好一点,五大热销护眼台灯品牌推荐

台灯已成为每个家庭中不可或缺的照明设备,它的作用不仅限于在夜晚提供充分的光亮,还能迅速营造出适宜的氛围,为用眼提供一个更佳的环境。随着生活品质的提高,人们对台灯的期望也逐步升级,智能化和护眼功能逐渐成为消费…

Python文件操作命令

文件操作 我知道你最近很累,是那种看不见的、身体上和精神上的疲惫感,但是请你一定要坚持下去。就算无人问津也好,技不如人也好,千万别让烦躁和焦虑毁了你的热情和定力。别贪心,我们不可能什么都有,也别灰心…

C++STL(vector类)

文章目录 1.vector类的介绍2.vector的基本用法2.1 遍历vector2.2 数据插入vector2.3 vector容量2.4 查找元素2.5 vector包含vector(二维数组)2.6 迭代器失效2.6 迭代器覆盖 3.vector的底层(模拟实现)3.1 begin and end3.2 拷贝3.3 赋值3.4 size and capacity3.5 operator[]3.6 …

TP4054替代DP4054锂电池供电电路保护方案

锂离子电池以其优良的特性,被广泛应用于:手机、摄录像机、笔记本电脑、无绳电话、电动工具、遥控或电动玩具、照相机等便携式电子设备中。 01 电池特点 1、具有更高的重量能量比、体积能量比; 2、电压高,单节锂电池电压为3.6V,等…

手术信息处理系统源码 B/S网页版手麻系统源码

手术信息处理系统源码 B/S网页版手麻系统源码 手术信息处理系统的工作主要为术前、术中、术后三个阶段的信息管理提供支持。术前是手术预约安排信息的处理,系统为麻醉师和手术相关人员提供病人的病历、检查和检验结果等信息,以帮助他们全面了解病人情况…

2024年最受欢迎的 19 个 VS Code 主题排行榜

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

【Redis】redis集群模式

概述 Redis集群,即Redis Cluster,是Redis 3.0开始引入的分布式存储方案。实际使用中集群一般由多个节点(Node)组成,Redis的数据分布在这些节点中。集群中的节点分为主节点和从节点:只有主节点负责读写请求和集群信息的维护&#…

专题三_二分查找(2)

目录 35. 搜索插入位置 解析 题解 852. 山脉数组的峰顶索引 解析 题解 162. 寻找峰值 解析 题解 35. 搜索插入位置 35. 搜索插入位置 - 力扣&#xff08;LeetCode&#xff09; 解析 题解 class Solution { public:int searchInsert(vector<int>& nums, int…

【R】Error in library(foreach) : 不存在叫‘foreach’这个名字的程辑包

Error in library(foreach) : 不存在叫‘foreach’这个名字的程辑包 此外: Warning message: package ‘parallel’ is a base package, and should not be updated 解决方法 缺少名为 foreach 的包&#xff0c;使用install.packages("foreach")将名为foreach 的包…

从学习海底捞到学习巴奴,中国餐饮带洋快餐重归“产品主义”

俗话说“民以食为天”&#xff0c;吃饭一向是国人的头等大事&#xff0c;餐饮业也是经济的强劲助推力。新世纪以来&#xff0c;餐饮业不断讲述着热辣滚烫的商业故事。 2006年&#xff0c;拥有“必胜客”、“肯德基”等品牌的餐饮巨头百胜集团&#xff0c;组织两百多名区域经理…

知识图谱表示

文章目录 知识表示知识表示研究符号表示方法向量表示方法 知识表示 简单而言&#xff0c;知识表示&#xff08;KR&#xff09;就是用易于计算机处理的方式来描述人脑的知识的方法。KR不是数据格式、不等同于数据结构、也不是编程语言&#xff0c;对于人工智能而言&#xff0c;数…

SAP-怎么查一个帐号访问事务代码的记录或者一个事务代码的被访问记录

起因 上周六&#xff0c;查了某用户对某事务代码的访问记录。今天又要查类似的信息。我发现我居然忘了该怎么查了。于是在处理完事情之后&#xff0c;整理了查询的过程&#xff0c;形成了这篇文章。 经过 热心网友告诉了我一个事务代码&#xff1a;ST03N - 工作负载和性能统…

【Angular】什么是Angular中的APP_BASE_HREF

1 概述: 在这篇文章中&#xff0c;我们将看到Angular 10中的APP_BASE_HREF是什么以及如何使用它。 APP_BASE_HREF为当前页面的基础href返回一个预定义的DI标记。 APP_BASE_HREF是应该被保留的URL前缀。 2 语法: provide: APP_BASE_HREF, useValue: /gfgapp3 步骤: 在app.m…

深度学习-机器视觉part2

深度学习-机器视觉part2 文章目录 深度学习-机器视觉part2一、从卷积到卷积神经网络二、手撕卷积代码2.1 动机2.2 数据集2.3 卷积操作2.3.1 填充&#xff08;padding&#xff09;2.3.2 卷积块2.3.3 池化2.3.4 Softmax 2.4 完整CNN2.5 训练改进 三、经典CNN模型介绍四、CNN模型的…

YPay源支付V7开源版

YPay_V7版本即将停止维护更新&#xff0c;同时我们将开放最新版开源代码供学习和参考。虽然首批阶段的【function_8.1.php文件是加密的】&#xff0c;但授权已经除去&#xff0c;该代码将在新版YPay上线时开放给大家。我们也会定期进行迭代更新&#xff0c;随后将创建对应仓库&…

el相机检测仪是什么

TH-EL3-EL相机检测仪&#xff0c;即电致发光&#xff08;Electroluminescence&#xff09;相机检测仪&#xff0c;是一种先进的无损检测设备&#xff0c;主要应用于光伏产业中的电池片质量评估。这种设备利用高分辨率的相机捕捉电池片在电致发光状态下的微小缺陷和热斑&#xf…