BERT一个蛋白质-季军-英特尔创新大师杯冷冻电镜蛋白质结构建模大赛-paipai

news2024/11/26 23:53:51

关联比赛:  “创新大师杯”冷冻电镜蛋白质结构建模大赛

解决方案

团队介绍

paipai队、取自 PAIN + AI,核心成员如我本人IvanaXu(IvanaXu · GitHub),从事于金融科技业,面向银行信用贷款的风控、运营场景。但我们团队先后打过很多比赛,其中跨领域居多,如天文、海洋,也非常有幸参加本次蛋白质结构建模大赛。我们将延续“他山之石,可以攻玉”的基本思想,这也将在后续方案中体现。

主要方案

01 赛题解析

截屏2022-03-25 09.55.17.png


金融场景下其实就是在追求精准定位问题,并以最小成本换取更大收益。同样的,从现有解析蛋白质结构的主流方法来看,能覆盖较多场景(如生物大分子、静动两态、蛋白质折叠等)且精度较高,但为此需要付出大量人力成本,甚至是在专业软件辅助下才能完成的人工操作。另外,由DeepMind研发的AlphaFold2却能高效几乎0人工输出蛋白质结构,当然这个代价是覆盖场景有限(如生物大分子易错)、局部精度高(需要强依赖于已知蛋白质结构/PDB)。据此我们提出的解决方案是,拥抱类似于AlphaFold2的AI预测技术但充分结合传统方法,或许是最大收益方案。
即复杂生物应用场景下,求一种高效、准确的蛋白质结构解析方法。
所以我们将解决方案聚焦到以下两点:
(1)仅从氨基酸序列出发的AI预测技术为主,通过已知蛋白质结构去做一些自衍生处理,尝试去摆脱对已知蛋白质结构高度依赖;
(2)当遇到已知蛋白质结构甚至是自衍生蛋白质结构都不能很好识别时,再来考虑结合冷冻电镜数据,作为预测结果的辅助性修正,毕竟获取冷冻电镜数据就已经投入了一定的成本;

02 算法设计

截屏2022-03-25 10.02.30.png


如示例2145这个氨基酸序列,我们看到前4位的MSSK、就是一个甲硫氨酸+两个丝氨酸+一个赖氨酸的序列,但我们将它转为以下文本处理:
第一步,将氨基酸序列-蛋白质结构作为一组X-Y对,即使用氨基酸序列预测蛋白质结构,并计划进行自衍生处理1:将衍生后的氨基酸序列-蛋白质结构对进行随机混淆打乱,这一步复赛阶段未实现,但后续我们做了一些尝试;
第二步,将氨基酸序列转化为文本序列,在这里会做自衍生处理2:将它切分为不同长度的文本序列,如左侧V2算法的第一步,将MSSKS每隔4个氨基酸就切分为MSSK、SSKS等等,同样的还会按照5、6不等的长度进行切分,最终使用4、5、6、8、10、12、15、18,分别代表了4、5、6长度段的1倍、2倍、3倍。从生物意义上就代表了一些短氨基酸序列。这种切分方法的优点是可以是因为把其充分序列化,那么蛋白质中的对称重复架构会在序列中特别突出,有点像121213这组数字,我们听一遍后,在脑海中对12、121、21这样的组合印象就很深刻;
第三步,文本处理:尝试提取序列之间的潜在关系,事实上可考虑引入谷歌提出的基于Transformers的双向编码语言模型BERT来解决,但BERT很重,考虑上述成本效益,在此简化应用TF-IDF来处理;
第四步,将处理后序列信息输入至预测模型,输出最接近蛋白质结构;

为进一步比较自衍生处理1、自衍生处理2、以及不同文本处理算法之间的差异,我们先后设计了V1、V2、V3三个算法版本:

  • V1,无自衍生处理1、无自衍生处理2,即MSSK序列会当作M、S、S、K四个单词组成的一句话,直接使用BM25文本模型进行预测;
  • V2,在V1基础上增加自衍生处理2,即MSSK序列会切分为如图MSSK、SSKS、等等单词组成的一句更长的话;

可以通过比较V1、V2来体现自衍生处理2带来的预测增益。

截屏2022-03-25 11.11.03.png

  • V3,会更充分考虑实际蛋白质结构预测中会遇到的问题,并根据本次比赛提供的E-HPC阿里云弹性高性能计算平台改进算法底层一些计算设计,如图:

(1)在高性能计算平台上应用CPU多核并发,能同时计算多个蛋白质,并将氨基酸序列计算转入稀疏矩阵存储 + TF-IDF限制某些高频率出现的简单序列,减少大量空值存储和无效计算,充分压缩氨基酸序列结果,避免内存错误;
(2)在V2的基础上调整BM25文本模型至TF-IDF+LR;
这就是复赛阶段的解决方案。
(3)另外,复赛后我们还在此基础上设计如左虚框部分的自衍生处理1,对算法拓展性做了一部分探索。
引入BERT中MLM/Masked Language Model即遮蔽语言模型的概念,其灵感来自于我们学英语很熟悉的完形填空,如我们通过线上会议XX了答辩,就会填写“参加”这个词。
这种概念其实类似于自衍生处理2,本质上是为了充分提取氨基酸序列的潜在关系,如前面提出的不同长度切分就为了获取一定的上下文信息,即氨基酸序列中S丝氨酸前后的氨基酸信息,但这种方式也仍然是单向或一个正向+一个反向这种假双向。反之MLM能更充分的解决这个问题,因为这个时候模型学到不是一个向量,而是**“一种学习能力”**。
TODO

  • 所以在AAAI2020的工作中,已经有论文提出K-BERT即知识图谱+BERT的概念,使用类似MLM的方式尝试进行知识发现。

同样的,可以使用这个概念来“知识发现”一些未知的蛋白质结构,进而打破上述对已知蛋白质结构的高度依赖。

以下我们来对照AlphaFold2,对比一下上述算法:
 

截屏2022-03-25 11.57.51.png


以2148为例,我们也尝试使用了AlphaFold2:

  • 通过前两栏的RMSD、TM-score来看:

无疑是AlphaFold2最强,但对比V2、V1可以看到,在做了自衍生处理2即序列切分后,TM-score自0.19提升到了0.77,V2算法也就是初赛核心方案。另外,改进后的V3算法从个例来看相对接近于AlphaFold2。

  • 另外,由于我们在调研阶段从PDB中发现了远比训练数据更大的蛋白质,所以这里的long评估项即长氨基酸序列的兼容,AlphaFold2/V1/V2都不同程度地出现在长氨基酸序列计算时内存错误的情况。前面介绍过,V3在做了一些相关设计所以相对可控。且能在不需要GPU的情况下进一步兼容HPC高性能计算,尽管AlphaFold2也提出支持HPC,对此我们未深入体验。

接下来我们看一下可视化结果对比:
 

截屏2022-03-25 11.58.09.png


AlphaFold2已经接近严丝合缝,V1差异还比较大,但V2、V3已经有了相似的蛋白质结构雏形,未来可能可以进一步优化。

03 总结

截屏2022-03-25 12.15.11.png


1、直接转换为文本问题进行解决
事实上我们也发现其实这与Alphafold2的序列处理有类似的地方,但不同AI场景下2D 和3D transformers的发展,可能还可以进一步借鉴。但氨基酸序列的潜在关系我们还是交由更为简单的文本处理算法(TF-IDF)进行提取,这里考虑降低模型复杂性、提高应用效率。
如我们还没有提到的冷冻电镜图片处理,CVPR2022的工作中已经提出了Point-BERT基于掩码建模的3D点云自注意力模型,实现将类似于冷冻电镜数据这种3D结构表达为一个“词汇”集合。跟我们上述将氨基酸序列转化为文本处理的逻辑类似,我们的解决方案也提出了类似的思想,先用氨基酸序列进行文本预测,再对预测不佳的部分根据冷冻电镜数据也进行文本预测,作为辅助性修正,但这部分还没有来得及完成。
2、避免高度依赖已知蛋白质结构
为此前面我们设计了自衍生处理1、自衍生处理2,并通过V1/V2比较证明了自衍生处理2的有效性。也正是引入自衍生处理1,通过V2/V3比较看到了突破这种蛋白质结构依赖带来的额外效益。

相关参考

概念

  • 清华大学结构生物学高精尖创新中心

    https://ww.icsb.tsinghua.edu.cn

  • Alphafold2

    alphafold.ebi.ac.uk

截屏2022-02-11 08.00.50.png

  • 一键构建云上高可用蛋白质结构预测平台(一)

    基于Alphafold2一键构建云上高可用蛋白质结构预测平台 | 亚马逊AWS官方博客

  • PDB,全称Protein Data Bank,是目前最主要的收集蛋白质三维结构的数据库

文章

  • 当AI“进击”蛋白质结构预测
  • 颜宁等点评:AI精准预测蛋白质结构,结构生物学何去何从?
  • 颜宁点评AlphaFold2 + 外行买家秀:蛋白结构预测神器初体验

论文

  • CN104951669A - 一种用于蛋白质结构预测的距离谱构建方法 - Google Patents

image.png

image.png

  • Highly accurate protein structure prediction with AlphaFold

image.png


详见https://github.com/IvanaXu/TianChiProj/tree/master/ProteinStructureModeling
BERT一个蛋白质-季军-英特尔“创新大师杯”冷冻电镜蛋白质结构建模大赛-IvanaXu

查看更多内容,欢迎访问天池技术圈官方地址:BERT一个蛋白质-季军-英特尔创新大师杯冷冻电镜蛋白质结构建模大赛-paipai_天池技术圈-阿里云天池

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue后台系统demo小计

创建项目 1.报错 Error: command failed: npm install --loglevel error --legacy-peer-deps 措施1:node.js文件夹属性 》高级 》选择第一个允许 Users(XXX\Users) (对我无用) 措施2:PowerShell(以管理员身份运行) 》 cd 想存…

C++ | Leetcode C++题解之第55题跳跃游戏

题目&#xff1a; 题解&#xff1a; class Solution { public:bool canJump(vector<int>& nums) {int n nums.size();int rightmost 0;for (int i 0; i < n; i) {if (i < rightmost) {rightmost max(rightmost, i nums[i]);if (rightmost > n - 1) {r…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 打家劫舍 II(难度⭐⭐)(67)

1. 题目解析 题目链接&#xff1a;213. 打家劫舍 II 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 这个问题是经典的“打家劫舍”问题的变种&#xff0c;原问题是在单排房屋中进行偷窃&#xff0c;而这个问题则是在…

利用Triple U.Net结构对冷冻切片HE染色组织学图像进行核实例分割

利用Triple U.Net结构对冷冻切片H&E染色组织学图像进行核实例分割 摘要IntroductionRelated WorksDatasetProposed MethodologyDataset PreparationSegmentation BranchLoss FunctionWatershed Algorithm Nuclei Instance Segmentation of Cryosectioned H&E Stained H…

JavaScript全套检验系统(LIS)源码C# + MVC + SQLserver + Redis 云LIS系统源码 区域医疗云LIS系统源码

JavaScript全套检验系统&#xff08;LIS&#xff09;源码C# MVC SQLserver Redis 云LIS系统源码 区域医疗云LIS系统源码 实验室信息系统&#xff08;Laboratory Information System&#xff0c;缩写LIS&#xff09;是一类用来处理实验室过程信息的软件。这套系统通常与其他信…

ArcGIS基础:便捷分享图层包和地图包

1、分享图层包&#xff1a; 首先&#xff0c;选中要分享的数据&#xff0c;右键创建图层包&#xff0c;修改保存路径。 找到项目描述那一栏&#xff0c;将摘要、标签、描述都填写分享图层包的相关内容。 一切设置好之后&#xff0c;点击右上角的【分析】按钮。 点击分析之后…

vue2集成ElementUI编写登录页面

目录 1. 整理目录文件&#xff1a; a. app.vue文件如下&#xff1a; b. Login.vue文件如下&#xff1a; c. router/index.js文件如下&#xff1a; d. 删除components中的文件&#xff1a; e. 最终项目目录整理如下&#xff1a; 2. 集成ElementUI编写登录页面 a. 安装El…

MCU自动测量单元:自动化数据采集的未来

随着科技的飞速发展&#xff0c;自动化技术在各个领域中的应用日益广泛。其中&#xff0c;MCU(微控制器)自动测量单元以其高效、精准的特性&#xff0c;成为自动化数据采集领域的佼佼者&#xff0c;引领着未来数据采集技术的革新。本文将深入探讨MCU自动测量单元的原理、优势以…

详解进程控制

目录 一、进程创建 fork() 写时拷贝 fork的应用场景 二、进程退出 什么是进程退出码&#xff1f; 退出码的含义 进程退出方法 三、进程等待 进程等待的必要性 进程等待的方法 wait waitpid status 阻塞与非阻塞 四、进程替换 替换原理 替换函数 命名理解 简…

大数据005-hadoop003-了解MR及Java的简单实现

了解MapReduce MapReduce过程分为两个阶段&#xff1a;map阶段、reduce阶段。每个阶段搜键-值对作为输入和输出。 要执行一个MR任务&#xff0c;需要完成map、reduce函数的代码开发。 Hellow World 【Hadoop权威指南】中的以分析气象数据为例&#xff0c;找到每年的最高气温。…

【论文笔记】Language Models are Few-Shot Learners B部分

Language Models are Few-Shot Learners B 部分 回顾一下第一代 GPT-1 &#xff1a; 设计思路是 “海量无标记文本进行无监督预训练少量有标签文本有监督微调” 范式&#xff1b;模型架构是基于 Transformer 的叠加解码器&#xff08;掩码自注意力机制、残差、Layernorm&#…

Spark核心名词解释与编程

Spark核心概念 名词解释 1)ClusterManager&#xff1a;在Standalone(上述安装的模式&#xff0c;也就是依托于spark集群本身)模式中即为Master&#xff08;主节点&#xff09;&#xff0c;控制整个集群&#xff0c;监控Worker。在YARN模式中为资源管理器ResourceManager(国内…

STM32定时器的OC比较和PWM

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 输出比较(OC) 2. PWM 3. PWM的输出 3.1 高级定时器 3.2 通用定时器 4. PWM的输出结构 5. 代码示例 5.1 PWM.c 5.2 PWM.h 5.3 main.c 这篇文章解释了TIM定时器的内部时钟和外部时钟的使用&a…

AI图书推荐:ChatGPT写论文的流程与策略

论文一直是任何学术学位的顶峰。它展示了学生在研究领域的兴趣和专业知识。撰写论文也是一个学习经验&#xff0c;为学术工作以及专业研究角色做好准备。但是&#xff0c;论文工作总是艰苦的&#xff0c;通常是充满乐趣和创造性的&#xff0c;但有时也是乏味和无聊的。生成式人…

【kettle005】kettle访问Oracle数据库并处理数据至execl文件(已更新)

1.一直以来想写下基于kettle的系列文章&#xff0c;作为较火的数据ETL工具&#xff0c;也是日常项目开发中常用的一款工具&#xff0c;最近刚好挤时间梳理、总结下这块儿的知识体系。 2.熟悉、梳理、总结下Oracle数据库相关知识体系 3.欢迎批评指正&#xff0c;跪谢一键三连&am…

IT廉连看——UniApp——样式绑定

IT廉连看——UniApp——样式绑定 一、样式绑定 两种添加样式的方法&#xff1a; 1、第一种写法 写一个class属性&#xff0c;然后将css样式写在style中。 2、第二种写法 直接把style写在class后面 添加一些效果&#xff1a;字体大小 查看效果 证明这样添加样式是没有问题的…

数字签名学习

1 基本概念 数字签名是一种加密技术&#xff0c;用于验证信息来源的身份和数据的完整性。 就是对一个东西签上自己的名&#xff1b;收到的人可以验证这东西是你发的&#xff1b;这里是用数字的方式&#xff1b; 对字符串也可以签名&#xff0c;签名以后&#xff0c;还是一个…

OpenHarmony 项目实战:智能体重秤

一、简介 本 demo 基于 OpenHarmony3.1Beta 版本开发&#xff0c;该样例能够接入数字管家应用&#xff0c;通过数字管家应用监测体重秤上报数据&#xff0c;获得当前测量到的体重&#xff0c;身高&#xff0c;并在应用端形成一段时间内记录的体重值&#xff0c;以折线图的形式…

deepflow grafana plugin 编译问题解决

修改tsconfig.js 增加"noImplicitAny": false&#xff0c;解决代码类型没有指定&#xff0c;显示Any 错误 To solve the error, explicitly set the parameters type to any, use a more specific type or set noImplicitAny to false in tsconfig.json. https://b…

白话机器学习1:分类问题中的评价指标

机器学习中的评价指标非常多&#xff0c;它们用来衡量模型的性能和预测能力。不同类型的机器学习任务可能需要不同的评价指标。以下是一些常见的评价指标&#xff0c;按照不同类型的机器学习任务分类&#xff1a; 对于分类问题&#xff1a; 准确率&#xff08;Accuracy&#…