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

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

解决方案

团队介绍

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.mfbz.cn/a/581894.html

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

相关文章

文件Tools工具 支持WORD/PDF/EXCEL/PDF等格式的转换软件

文件Tools工具 支持WORD/PDF/Excel/PDF等格式的转换软件 支持功能 Word转PDFWORD转EXCELWORD转EPUBPDF转WORDPDF转EXCELPDF转PPTPDF版本转换EXCEL转PDFEXCEL转WORDPDF转EXCELEPUB转WORDEPUB转PDFHTML转PDF(需配置chromium)点击查看配置教程简易二维码生…

TablePlus for Mac/Win:开启高效数据开发新纪元

在当今数字化时代,数据的重要性日益凸显。无论是企业还是个人,都需要一款强大而实用的本地原生数据开发软件来提升工作效率。而 TablePlus for Mac/Win 正是这样一款卓越的工具,它为用户带来了全新的体验,让数据开发变得更加轻松、…

Matlab实现CNN-BiLSTM模型,对一维时序信号进行分类

1、利用Matlab2021b训练CNN-BiLSTM模型,对采集的一维时序信号进行分类二分类或多分类 2、CNN-BiLSTM时序信号多分类执行结果截图 训练进度: 网络分析: 指标变化趋势: 代码下载方式(代码含数据集与模型构建&#xff0…

go引入自建包名报错 package XXX is not in std和goland设置GO111MODULE提示冲突

首先在引入自建包的时候报错 查找网上的解决方法: 1、goland取消勾选Enable Go modules integration 2、set GO111MODULEoff 但是都没解决,而且更奇怪的是,我在cmd里面查看go env就显示set GO111MODULEoff 但是在goland里面的终端输入 go…

面试大厂,面试官问:为什么要使用盒模型?

1. 基础知识 什么是 CSS 盒模型 CSS 盒模型描述了页面中元素的布局和空间分配方式。每个元素都被看作是一个盒子,这个“盒子”由 4 个部分组成: 内容(Content)、内边距(Padding)、边框(Borde…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-6.5, 汇编 led.s,第一次点亮LED灯

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

Llama 3 安装使用方法

Llama3简介: llama3是一种自回归语言模型,采用了transformer架构,目前开源了8b和70b参数的预训练和指令微调模型,400b正在训练中,性能非常强悍,并且在15万亿个标记的公开数据进行了预训练,比ll…

读天才与算法:人脑与AI的数学思维笔记13_Coq证明助手

1. 计算机 1.1. 对于计算机来说,它就很擅长处理这种重复而机械且计算量庞大的任务 1.1.1. 在速度与准确性等方面,计算机是远超过手工计算的 1.2. 计算机只能执行指令,并无自主创造力 1.2.1. 想…

JavaScript 的基本术语大全

文章目录 1、概述2、基本术语2.1、有效负载 (Payload)2.2、ReadableStream2.3、模块系统2.4、DOM (Document Object Model)2.5、事件 (Events)2.6、活动委托 (Event Delegation)2.7、内容安全策略 (CSP)2.8、渐进增强和优雅降级2.9、JSON (JavaScript Object Notation)2.10、AJ…

绝地求生:竞技比赛RP占比改动详解

大好,我闲游盒! 在上周29.1版本更新后,官方也发布了关于竞技比赛:RP的改动公告,这里就为大家简单讲解一下具体改动的地方~ 官方希望能够通过优化让RP、段位和竞技比赛更能准确的反馈出大家自身的实力。 第一项改动是在…

02.Kafka部署安装

1 Linux 安装 Kafka 1.1 安装前的环境准备 由于 Kafka 是用 Scala 语言开发的,运行在 JVM 上,因此在安装Kafka之前需要先安装JDK。 yum install java-1.8.0-openjdk* -y kafka 依赖 zookeeper,所以需要先安装 zookeeper。 wget https://ar…

5G图标显示分析

1、问题现象 MTK平台项目中出现一个5G图标显示问题,注册5G时,拨打电话,对比机图标显示回落到4G,测试机一直显示5G。 2、原因分析 2.1、NSA显示规则 根据GSMA协议,NSA架构下5G图标显示有如下4种. 2.2、Android中显示5G…

基于Springboot的甘肃旅游服务平台(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的甘肃旅游服务平台(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

idea的插件,反编译整个jar包

idea的插件,反编译整个jar包 1.安装插件1.1找到插件1.2 搜索插件 2.反编译整个jar包2.1 复制jar包到工件目录下:2.2 选中jar包,点出右键 3.不用插件,手动查看某一个java类3.1 选中jar包,点出右键 1.安装插件 1.1找到插…

日本宇宙航空研究“Int-Ball2”自由飞行相机机器人采用的Epson IMU

IMU有助于飞行的稳定控制和电池充电的自动对接- 精工爱普生公司(TSE:6724,“Epson”)很高兴地宣布,日本宇宙航空研究开发机构(JAXA)选择了爱普生M-G370系列的惯性测量单元(IMU)&…

Spring Security介绍(三)过滤器(2)自定义

除了使用security自带的过滤器链,我们还可以自定义过滤器拦截器。 下面看下自定义的和security自带的执行顺序。 一、总结 1、自定义过滤器: 一般自定义fliter都是: import lombok.extern.slf4j.Slf4j; import org.springframework.ster…

0418EmpTomCat项目 初次使用ajax实现局部动态离职

0418EmpTomCat项目包-CSDN博客 数据库字段: 员工部门表 分页查询; 多条件查询; 添加新员工; ajax点击离职操作效果:

R-Tree: 原理及实现代码

文章目录 R-Tree: 原理及实现代码1. R-Tree 原理1.1 R-Tree 概述1.2 R-Tree 结构1.3 R-Tree 插入与查询 2. R-Tree 实现代码示例(Python)结语 R-Tree: 原理及实现代码 R-Tree 是一种用于管理多维空间数据的数据结构,常用于数据库系统和地理信…

使用FPGA发送一个经过曼彻斯特编码的伪随机序列

介绍 这几天突然就不知道要使用FPGA实现什么样的功能了,然后就跑去学习数电了,学的也是晕晕的。正好之前写了一个使用FPGA发送伪随机序列的代码,然后因为需要使用曼彻斯特编码,所以又加了一个模块吧,使得最后输出的波形经过曼彻斯特编码。 曼彻斯特编码 首先,曼彻斯特编…

Spark-机器学习(7)分类学习之决策树

在之前的文章中,我们学习了分类学习之支持向量机,并带来简单案例,学习用法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。…
最新文章