代码
MindSpore AI科学计算系列(15):蛋白质功能预测

MindSpore AI科学计算系列(15):蛋白质功能预测

MindSpore AI科学计算系列(15):蛋白质功能预测

作者:于璠

文章来源:https://zhuanlan.zhihu.com/p/491949747

背景

氨基酸序列与蛋白质功能之间的关系是分子生物学中一个长期存在的问题,解决该问题具有深远的科学意义。随着DNA测序成本的下降和宏基因组测序项目的蓬勃发展,蛋白质序列的获取成本逐年降低[1],这导致已知蛋白质序列的数量每年都在急剧增长,而蛋白质序列所对应的功能数据库却增长缓慢。即使利用当前最先进的技术仍有1/3的微生物蛋白质功能无法被注释。深刻理解蛋白质序列和蛋白质功能之间的关系可以快速定位新的蛋白质序列所对应的生理功能,这不仅可以帮助寻找结合特定微生物的靶点蛋白,还可以对蛋白质进行设计等。

目前使用的较为广泛的对蛋白质序列进行功能预测的方法有用BLASTp[3]等算法对一个大型注释序列数据库进行比对,或者使用Pfam提供的利用序列家族信息构建的pHMMs[4,5]模型等。以BLASTp方法为例,由于对于新的蛋白质序列进行搜索需要遍历Pfam数据库中所有的注释信息,因此搜索时间和数据库大小呈现近线性关系。对于包含17929个family信息的Pfam数据库搜索一条需要数分钟,而对于全数据集(5000万条数据)搜索一条需要90小时,且数据库中有22%的数据没有功能标签信息。因此更加快速准确的蛋白质序列功能预测方法尤为重要。

1.jpg

图1 Sequencing cost per megabase – 2021 [1]

2.jpg

图2 蛋白质构象

更快更准的蛋白质功能预测

今年2月一篇名为“Using deep learning to annotate the protein universe”的论文登上Nature自然杂志,该文章从蛋白质序列出来发,使用已有蛋白质功能注释标签的数据库(Pfam)作为训练数据集,训练了一个名为ProtCNN的神经网络用来对蛋白质序列进行功能分类,不仅比传统方法BLASTp快了200倍,误差还下降了9倍。

• DeepSF classifies sequences into 1195 scop fold classes

• DeepFam 2892 COG families of more than 100 sequences each

• SECLAF uses hundreds of SwissProt classes with more than 150 sequences to train a deep model

• DEEPre uses sequence and Pfam annotations to predict enzyme commission

• D-SPACE reports powerful embeddings learned by a deep model, but does not compare classification performance with existing methods

文中对现有预测蛋白质功能的方法进行了归纳,其中DeepSF,DeepFam, DEEPre预测类别较为局限,SECLAF使用数据集较小,而D-SPACE虽然提供了一种从深度网络中学习到的较好的表征方法,但是未提供预测精度,难以和现有方法进行比较。

该论文使用了更大的数据集(Pfam数据库),并将其中1.34million的序列作为训练集进行训练。通过调整训练参数,共训练出13个ProtCNN网络,将这13个网络进行ensemble 并分别预测,最后挑选出预测类别最多的作为最终结果,该网络被称为ProtENN。

准确率

从图3可以看出,ProtENN的错误率只有0.159%,相比BLASTp及phmmer错误率降低9倍,即使是单个ProtCNN模型,错误率也降低了3倍

3.jpg

图3 蛋白质功能精度对比

推理性能

如表1所示,对于134万Pfam蛋白质序列,ProtCNN平均每秒可以推理247条序列,全部预测仅需1.5小时,对于phmmer需要6.15天,BLASTp需要15.2小时。对于5450万全集Pfam数据(表2),ProtCNN推理完需要36小时,而使用BLASTp却需要340天。

4.jpg

表1 ProtCNN推理性能(1.34million)

5.jpg

表2 ProtCNN推理性能(54.5million)

训练网络

ProtCNN使用未对齐的序列数据进行训练,并通过softmax回归损失函数对蛋白质家族种类进行概率分布预测。整个网络分为三块,分别为输入网络,embeding网络以及预测网络

输入网络:

6.jpg

如图4(A)所示,

1. 输入L条未对齐的蛋白质序列seq1,seq2…

2. 对每条序列进行长度为20的one-hot映射(自然界中常见的氨基酸种类为20)

3. 将one-hot后的每条蛋白质序列进行序列对齐(根据输入序列中最长序列进行对齐补0)

Embedding 网络:

将获取到的batch数据(L*20)映射到L*F的空间,随后使用mean pooling或max pooling 对embedding后的batch数据进行池化,最后将新的表征数据送入预测网络。

预测网络:

本文原始发表于2019年,因此网络部分并未使用当前较为流行的transformer或bert网络,而是选择了改造后的残差网络。如图4(C)所示,在残差网络中加入了dilated convolution, 在不增加网络参数的情况下增加了蛋白质序列表征的信息视野,最后通过softmax选出概率最高的功能类。

小结:

相较于使用语言模型对蛋白质功能进行预测,这篇工作从分类的角度出发,利用Pfam数据库中大量已知蛋白序列及标签作为训练集,将蛋白质功能预测转化为分类问题,使蛋白质功能预测难度大大降低,不仅性能提升巨大,预测误差相较传统的搜索方法(BLASTp等)降低了9倍,是个相当出色的工作。然而将蛋白质功能预测转化为分类任务也有缺陷,对于从未有过标签的蛋白质功能家族,该方法会给出已有最接近的功能注释,而该注释往往是错误的,因此对于蛋白质功能族内数量较小的蛋白质序列进行功能预测仍然有待进一步工作。

参考资料:

1. https://www.genome.gov/about-genomics/fact-sheets/DNA-Sequencing-Costs-Data

2. Bileschi, M.L., Belanger, D., Bryant, D.H. et al. Using deep learning to annotate the protein universe. Nat Biotechnol (2022). https://doi.org/10.1038/s41587-021-01179-w

3. Steinegger, M. & Söding, J. Mmseqs2 enables sensitive protein sequence searching for the **ysis of massive data sets. Nat. Biotechnol. 35, 1026–1028 (2017).