点击左上方蓝字关注我们
由百度飞桨举办的螺旋桨RNA结构预测竞赛圆满结束。本次竞赛依托百度研究院在RNA结构预测上的算法优势和百度大脑AI Studio平台优势,汇聚生物计算、人工智能领域从业者和爱好者,探索人工智能技术在生物计算上的技术应用。本次比赛邀请北京大学生命科学学院刘君教授团队提供实验数据,构建测试集,保证比赛的科学性和公正性。各获胜队伍已在比赛页揭晓。今天有幸邀请到冠军队伍分享各自的技术方案,供大家学习参考。快来解锁冠军大佬的冲榜秘籍吧!
冠军-基因疗法团队
成员:邱祥运。邱教授20多年来致力于研究以X射线散射为主要测量手段的科研实验工作, 近年来从事生物大分子力学和结构学基础研究, 近来专注于核酸医学, 借力大数据/深度学习, 探索核酸生物功能、疾病机理和药物开发。
RNA背景知识介绍
所有可以称为生命体的系统,无论简单或复杂,无一例外地以核酸为遗传物质。核酸主要分为脱氧核糖核酸(DNA)和核糖核酸(RNA)两大类,每类核酸都是由四种不同的碱基单元以线性的形式连接成一个长链,它们的排列顺序就是我们所说的基因序列。
核酸在自然界中的重要地位毋庸置疑,甚至于无自我繁殖能力的病毒也是以核酸作为基因,比如正在全世界肆虐的新冠病毒的基因是大约3万个碱基长的单链RNA。有些基因能够编码特异的蛋白,我们称其为编码基因。分子生物学的中心法则描述了从基因到蛋白的过程:DNA先被转录为信使RNA (mRNA), 然后mRNA被翻译为蛋白。但编码基因只占基因组的一小部分(~2%),大部分被转录的RNA是非编码RNA。
对于一个RNA序列, 其可能的配对方式是一个巨大的排列组合空间。碱基之间配对的源驱动力来自于碱基之间直接或间接的吸引力,最主要的方式是氢键。每一个碱基和其它碱基都存在或强或弱的吸引力,但是只能和其中一个配对,所以它们相互竞争。最优的配对组合能最大化碱基之间的吸引作用, 即热力学角度所讲的自由能最小化。
同时往往有很多种配对组合有相近的能量, 并不存在一个单一的稳定结构, 而是有很多亚稳定结构。这时候一个非常有意义的碱基特性就是它在这些结构集里的不配对概率(或者配对概率)。
RNA碱基配对概率的一种形式化描述如下:对一个RNA序列x,假设Y(x)是x所有可能的二级结构的集合,是序列x的一种二级结构,则对任意一个碱基对(i, j),其成对概率是包含这一个碱基对的所有二级结构的概率之和,即
。对应地,碱基点位i的不成对概率为
。RNA碱基不成对概率衡量了RNA序列各个点位能否形成稳定的碱基对,是RNA二级结构的重要指征,并可被用在mRNA疫苗序列设计、药物研发等领域。
更多mRNA序列设计和药物研发内容,请访问:
https://github.com/PaddlePaddle/PaddleHelix
赛题及算法介绍
RNA是本次螺旋桨结构预测比赛的主角。比赛要求用深度学习的方法预测每个碱基的不配对概率。作为一个线性的链状大分子,RNA具有非常高的柔性,易于弯曲,好比一条细长的线。如果碱基之间没有任何相互作用,RNA在三维空间里就会杂乱无章,毫无结构而言。可作为生物大分子的RNA需要具有特定结构才能行使其生物功能, 因而碱基间是否配对和如何配对至关重要。
百度研究院近年来在RNA结构预测上做出了重要贡献, 研发出一系列速度最快同时准确度极高的线性算法, 做到了对RNA最小自由能(MFE)结构的高效预测(LinearFold[1]), 对碱基配分和配对概率的高效预测(LinearPartition[2]), 对RNA序列的设计优化(LinearDesign[3]), 和对同源RNA序列的结构分析(LinearTurboFold [4])。这次比赛主要是基于百度研究院LinearFold和LinearPartition算法,用深度学习方法预测RNA的不配对概率。
RNA碱基不配对概率可以用在疫苗和药物设计上。RNA病毒是以RNA为遗传物质的病毒,我们熟知的新冠、HIV、流感病毒等都属于RNA病毒。病毒RNA的结构对其生理功能有重要影响,如最近发表的一些研究就通过分析新冠病毒的二级结构寻找药物靶点。同时,新冠病毒具有已知最长的RNA基因组(30,000碱基左右),如何在基因组全长尺度上分析其二级结构,仍然很有挑战。另一方面,RNA碱基不配对概率可以用在疫苗序列设计上。
拿mRNA疫苗为例, 如果mRNA序列里大部分碱基有很小的不配对概率, 说明这是一个稳定的二维甚至三维RNA结构。稳定的结构会大大延长其在溶液和细胞内的寿命,从而提高蛋白的产量。反之,如果大部分碱基有非常大的不配对概率, 说明这是一个非常无结构或动态的RNA,会让mRNA在溶液中易于被水解, 降低其稳定性和寿命, 不利于运输、储藏、翻译等。所以碱基不配对概率对RNA序列设计有重要的定量指导意义。
冠军团队方案详解
1. 数据分析
训练数据集有4750个RNA序列,验证数据集有250个序列, 测试数据集有112个序列,其长度分布如图1所示。训练和验证集长度在100-500碱基之间, 分布相对均匀,可是测试集里有较长的序列,尤其有超过30%序列的长度在500以上,增加了预测的难度。如果按照碱基计算,训练和验证集一共有1,562,736个碱基(序列平均长度313碱基),测试集一共有49,279个碱基(序列平均长度440碱基)。
图1 训练(蓝)、验证(红)和测试(绿)集RNA序列的长度分布
基于上述对序列长度的分析, 可以用LinearFold计算二级结构,并用LinearPartition计算不配对概率。这些计算结果可以转换成碱基不配对概率, 比如LinearFold的二级结构可转换为二进制的不配对概率(0或1)。LinearFold对训练、验证和测试集预测的碱基不配对概率分布大体一致,约62%的碱基配对,其余38%不配对。
LinearPartition所预测的不配对概率是一个连续空间,其分布如图2所示。可以发现三个数据集的概率分布相差不多,最突出的特征是概率分布非常不均匀, 尤其有两个分布峰分别在0和1附近, 说明即使在连续空间里大多数碱基的配对概率也会集中在0或1附近。为了能直接比较LinearFold和LinearPartition, 可以把LinearPartition的连续空间二进制化(0.0-0.5为0, 0.5-1.0为1),这样得到~55%碱基的不配对概率为0,和LinearFold预测的62%仍有差距。
图2 LinearPartition预测的碱基不配对概率分布
训练和验证集里的标注数据是每个碱基的不配对概率,图3展示了所有序列碱基不配对概率的分布。可以发现不配对概率呈两极分化走势,绝大部分碱基的配对或不配对概率在95%以上,这比LinearPartition预测的不配对概率分布更加两极分化。值得一提的是标注数据在二进制离散化后的分布和LinearFold预测高度一致,给出~60%碱基配对。
图3 训练(蓝)和验证(红)集碱基不配对概率标注分布
2. 评价指标分析
碱基不配对概率预测和标注的差异采用的是经典而直观的均方根误差(Root Mean Square Deviation, RMSD),度量预测的不配对概率和基准值之间的距离。对一条长度为n的RNA序列,假设位点基准的不配对概率为,预测的不配对概率为
,则预测值和基准值之间的
。
如前文所述,可以把LinearFold和LinearPartition的预测结果转换为碱基的不配对概率, 这样可以先和标注作对比。虽然LinearFold给出结果的整体分布和标注几乎形同,其RMSD却有~0.30,而LinearPartition给出的RMSD稍小,~0.26。可见在预测连续空间的不配对概率时,LinearPartition有更好的表现,虽然其分布目测差距更大。当然还可以继续分析RMSD和RNA序列长度的相关性等,这里不做详述。
3. 赛题分析
本次深度学习任务是一个典型的序列到序列(seq2seq or seq2vec)问题,输入RNA的碱基序列,输出每个碱基的不配对概率。为了让一个序列到序列的深度学习模型学到碱基之间的关系并准确预测RNA的不配对概率,可以从以下几个角度考虑碱基配对问题, 并设计对应的网络框架。
第一,一个碱基的配对与否是由全部序列整体决定,仅仅利用序列的任何片段信息无法实现准确预测。这个特性可以用RNN或者Transformer来描述。本方案选择了一个Transformer编码器层来赋予每个碱基一个全局信息,对位置的编码采用正弦和余弦函数。
第二,碱基的排列是一个有极强线性的序列,改变碱基间的任何顺序都会或大或小地影响其不配对概率,即使有些碱基变化能保持碱基二级甚至三极的最稳定结构,可碱基的不配对概率也不会丝毫不变。所以本方案决定加入一个RNN来强化碱基间的序列依赖,具体形式采用了一个双向LSTM层。另外一个考虑是Transformer编码器在训练数据有限的情况下可能会表现不佳。
第三,碱基配对存在较强的局部相关,要形成稳定的碱基配对,至少相邻的三个以上碱基都要配对,自然越多的连续碱基配对越稳定,反之只有1-2个连续的碱基却有很小的不配对概率是不可能的。鉴于此,本方案采用了一维的卷积层(Conv1D)来描述这种局部相关性。
基于以上设计理念(如图4), 除了输入嵌入层外, 模型框架由以下组成:
输入全连接模块
Transformer编码模块
双向LSTM模块
Conv1D模块
输出全连接模块
对模型深度和宽度的考量主要基于两个方面:
训练和验证集的数量有限,标注的碱基个数一共有~1.6M,过大的模型容易过拟合;
LinearFold/LinearPartition的预测给了很好的起始点,对模型优化有较好的引导。本方案最后采用的参数为:模块1-4的层数为1, 维度为32,输出全连接模块层数为3, 维度分别为32、32、2,归一化为LayerNorm,激活函数为ReLU, Dropout为0.2, 最终可训练的参数个数为36,418, 大约是标注个数的2.2%。
模型搭建及优化过程,锁定明天的飞桨头条『RNA结构预测竞赛圆满落幕,且看冠军团队飞桨论道(下篇)』,更多精彩不容错过!
GitHub源代码抢先看:
https://github.com/genetic-medicine/PaddleHelix_RNA_UPP
更多PaddleHelix介绍,扫码即可查看⬇️
参考文献
[1] Huang, L., Zhang, H., Deng, D., Zhao, K., Liu, K., Hendrix, D.A. and Mathews, D.H., 2019. LinearFold: linear-time approximate RNA folding by 5'-to-3'dynamic programming and beam search. Bioinformatics, 35(14), pp. i295-i304.
[2] Zhang, H., Zhang, L., Mathews, D.H. and Huang, L.,2020. LinearPartition: linear-time approximation of RNA folding partition function and base-pairing probabilities. Bioinformatics, 36(Supplement_1), pp. i258-i267.
[3] Zhang, H., Zhang, L., Li, Z., Liu, K., Liu, B., Mathews, D.H. and Huang, L., 2020. LinearDesign: Efficient Algorithms for Optimized mRNA Sequence Design. [arXiv:2004.10177 p.]. Available
from: https://ui.adsabs.harvard.edu/abs/2020arXiv200410177Z.
[4] Li, S., Zhang, H., Zhang, L., Liu, K., Liu, B., Mathews, D.H. and Huang, L., 2020. LinearTurboFold: Linear-Time RNA Structural Alignment and Conserved Structure Prediction with Applications to Coronaviruses. bioRxiv.
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集深度学习核心训练和推理框架、基础模型库、端到端开发套件和丰富的工具组件于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨企业版针对企业级需求增强了相应特性,包含零门槛AI开发平台EasyDL和全功能AI开发平台BML。EasyDL主要面向中小企业,提供零门槛、预置丰富网络和模型、便捷高效的开发平台;BML是为大型企业提供的功能全面、可灵活定制和被深度集成的开发平台。
END