vlambda博客
学习文章列表

应用自然语言处理预测蛋白质功能

今天给大家介绍由太平洋路德大学计算机科学系Kyle Hippe,等人发表在第11ACM生物信息学、计算生物学和健康信息学国际会议中的一篇文章,“ProLanGO2: Protein Function Prediction with Ensemble of Encoder-Decoder Networks”。文章介绍了ProLanGO2方法,该方法只使用蛋白质序列作为输入,利用自然语言处理和机器学习技术进行蛋白质功能预测。并与其他几种蛋白质功能预测方法进行了比较,结果表明,本文提出的方法ProLanGO2在基于序列的蛋白质功能预测方法中取得了很好的性能。
1、背景
在不进行生物实验的情况下,从序列中准确有效地预测蛋白质的功能一直是计算生物学领域的主要挑战,这将使我们能够更清楚地了解蛋白质的作用。在生物医学和医药领域,蛋白质功能有广泛的应用,如药物发现。一个准确的蛋白质功能预测方法可以帮助人们从不断增加的未注释的蛋白质序列中了解蛋白质的未知特性。
传统的预测蛋白质功能方法通常分为四类:基于同源的方法,基于网络的方法,基于信息的方法和基于序列的方法。基于同源性的方法包括搜索蛋白质序列数据库,以确定相似的序列和基于相似性的转移函数,当数据库中存在大量与查询序列同源的数据时,这种方法效果很好,但当相似性低或不存在时,这种方法的效果可能很差。PANNZER2是最先进的基于同源性的方法,使用同源性搜索对现有数据库进行加权K近邻分类来预测蛋白质功能。
基于网络的方法是解决蛋白质功能预测问题的另一种方法。这些方法不是在数据库中搜索基于序列的相似性,而是使用蛋白质-蛋白质相互作用网络或其他关联网络来预测蛋白质功能。NetGO 2.0是基于网络的先进预测模型,它利用大量的物种数据创建了一个庞大的蛋白质-蛋白质相互作用网络,可以在CAFA3数据中成功预测蛋白质功能。
基于信息的方法采用其他生物信息深入探究蛋白质的功能。如SUPERFAMILY 2.0利用隐马尔可夫模型来搜索蛋白质结构域,以确定结构的相似性并进行功能预测。
基于序列的方法是使用机器学习对蛋白质序列进行特征提取,使用提取出的特征进行蛋白质功能分类。本文提出了一种新的方法ProLanGO2,它是纯粹的基于的蛋白质序列的方法,该方法不搜索蛋白质数据库或其他额外特征。其主要思想是生成一个新的蛋白质序列表示,并将蛋白质功能视为一种带有 "单词 "的语言,将蛋白质功能预测问题转化为语言翻译问题,最后将其转换为基因本体Gene OntologyGO术语,用于蛋白质功能预测。

2、数据集与数据处理
首先确定蛋白质序列语言ProLan。将ProLan人类语言类比,那么一个蛋白质序列,将由单词组成。把一个单词定义为一个k-mersk-mers一个来自蛋白质序列的氨基酸序列,长度从37不等。由于计算资源的限制,作者没有测试长度大于7k-mers作者2019_11版本UniProt数据库中提取2000个最频繁的k-mers,并建立了一个片段序列数据库(FSD)。这个片段序列数据库构成了ProLan被用作训练的输入词。之后作者FSD中过滤掉不包含任何k-mers的序列,最后提取了535686条蛋白质序列。
其次确定蛋白质功能语言GOLan为了做到这一点,需要用某种方式将基因本体术语表示为唯一的字符串标识符。基因本体的GO术语是以有向无环图的形式来表示的。该图被进一步划分为3子树,分别是生物过程BP)、分子功能MF)、细胞成分CC。首先通过对每个GO子树进行深度优先搜索,将树中的GO术语表示为十进制索引,之后转换为长度小于4的字符串,这就是GOLan
3、模型

应用自然语言处理预测蛋白质功能

1ProLanGO2模型的流程图
文章提出的ProLanGO2使用基于序列的循环神经网络(Recurrent Neural NetworksRNN)建立了一个编码器-解码器网络,该网络遵循自然语言翻译的设计原则。ProLanGO2模型如图1所示,ProLanGO2模型由多个编码器、解码器组成,且编码器和解码器使用的都是循环神经网络。如前面所述,要预测一个蛋白质序列,首先要进行语言预处理。要参照片段序列数据库PSD对该蛋白质序列进行k-mers提取,得到ProLan。根据GO术语的有向无环图将GO术语表示为字符串,得到GOLan。图1上方右侧的粉红色块展示了提取出的蛋白质语言ProLan,上方右侧蓝色块展示了提取出的基因本体语言GOLan
 
4、模型训练
ProLanGO2中,作者使用不同的参数训练了大量的编码器-解码器网络,词的最大长度从100300,隐藏节点从2504000,学习率从0.010.31。总共有428,548个蛋白质被用作训练,训练集中的其余蛋白质被用于测试。
为了提高模型的性能,并使其更加稳定,作者使用集合模型进行最终预测。首先,从超参数优化中抽取了100个表现最好的模型,根据它们在测试数据集上的表现进行组合分析。其次,选择了20个具有最佳性能的编码器-解码器模型,进行组合。每个子编码器-解码器网络的输出都会有一个权重,权重基于子网络在训练期间的表现。最后,对于任何输入的蛋白质序列,将应用这20个模型进行预测。因此蛋白质功能预测模型是由20个编码器-解码器共同组成的。

5、模型比较

2:平均相似度指标下ProLanGO2与其他方法的对比
作者对取自UniProt数据库的253个未见过的序列使用TopN指标进行了评估,分析了ProLanGO2对目标预测排名一至二十的性能。如图2展示了ProLanGO2与其他模型在预测所有子域术语的平均TopN红色为基于网络的方法,紫色为基于信息的方法NetGO2.0,绿色为基于相似性的方法PANNZER2,茶色为基于序列的方法。可以看出,ProLanGO2预测BP类别术语时的表现不是特别好,但对于其他两个类别MFCCProLanGO2取得了与其他基于序列的方法类似的表现,但是落后于基于网络和相似性的方法。
虽然ProLanGO2的性能比基于序列和网络的方法差一些,但是该方法是纯粹的基于蛋白质序列的方法,没有使用任何额外的特征。
 
3:最大相似度指标下ProLanGO2与其他方法的对比
如图3所示,在这种情况下,ProLanGO2表现得很好,它的预测性能超过了所有其他方法,并缩小了与基于网络的方法的差距,这证明了该方法在蛋白质功能预测方面的潜力。
 
6、总结
ProLanGO2提出了一个新颖的想法,将蛋白质功能预测问题转换为语言翻译问题。为此,作者创建了两种不同的语言ProLanGoLanProLan是通过考虑前2000个最常见的氨基酸子串(k-mers)来提取的,长度从37不等。然后,通过对GO术语结构进行深度优先搜索来建立GoLan,为每个GO 术语提供数字索引,每个索引可被转换成长度不超过4的字符串。实验表明,ProLanGO2在大多数情况下预测性能与其他基于序列的方法相当,在某些情况下可以媲美基于网络的方法NetGO2.0