文献分享丨想做好蛋白质特性预测?这些建议请收下!

 各位研究er复工快乐!

灵元素(https://www.0elem.com/)准时给大家带来科研文献分享啦

本期文献来自PLoS Computational Biology

数学与计算生物学1区

希望能为大家的研究之路带来些许帮助~

 

一、摘要

基因组测序数据的积累推动了以机器学习为基础的蛋白质特性预测方法(仅从氨基酸序列出发)的普及。

在回顾相关工作、待审阅的手稿和已发表的论文的过程中,我们注意到一些反复出现的问题,这些问题使得一些研究的结论难以重现(这可能是生物学家不熟悉机器学习方法或机器学习专家缺乏生物学知识导致的)。

 

在此,我们希望能够为从事相关研究的学者提供一些参考,以解决上述问题。(在此类研究中)最关键的问题是清晰度(clarity)的缺乏,例如,如何获得感兴趣的注释、使用哪些基准和指标、如何定义阳性和阴性等。

 

另一类问题和严谨性(rigor)有关,例如,如果模型中加入了蛋白结构信息,那方法就不能称为基于序列的方法;如果声明模型超越SOTA,那就必须与最先进的模型进行对比;如果想要给出一种方法比另一种更好的结论,就必须进行合理的重要性评估。在本文中,以上问题将被详细讨论;我们希望本文提供的技巧能够为生物学中其他基于机器学习的应用提供帮助。

 

二、介绍

 

机器学习(含深度学习)已成为生物信息学分析和预测方法的主流。对在生物学领域开发机器学习应用的新手,我们推荐先阅读Greener及其同事的文章(https://doi.org/10.1038/s41580-021-00407-0)A guide to machine learning for biologists),他们对一般概念、不同类型的机器学习问题、各种常用的方法和架构进行了很好地综述。

 

预测蛋白质功能是生物信息学的重要任务之一。在此,我们收集了10个有用的建议,这些建议专门针对使用蛋白质序列数据作为输入生成蛋白质功能特性的预测方法; 图1是几个相关的例子。图2,是各项建议的流程图,从生物学问题开始,历经数据获取、训练和测试,以及关键的比较和解释等步骤。我们根据自己在基于序列预测蛋白质-蛋白质相互作用(PPI)[参考文献15-19] ,构象表位区域[参考文献20]和疏水性斑块[参考文献21]方面的经验撰写了本文。本文的许多技巧同样适用相关的任务,例如预测翻译后修饰或突变后某些特性的变化,以及基于结构的蛋白质特性预测。

基于结构的蛋白质功能特性预测方法通常优于基于序列的方法。近年来,随着通过实验确定的蛋白质结构数量的增加,结构预测领域取得了巨大的突破;特别是AlphaFold2在结构预测方面取得了一个巨大的飞跃。然而,许多重要类型的蛋白质,仍然没有可靠的结构信息。此外,预测结构作为预测功能性质的输入的有效性尚未得到验证,使用结构的功能属性预测不一定比基于序列的方法更准确。

 

该领域(序列预测蛋白功能)的许多模型开发者仅有计算机科学或生物学背景之一,可能因其专精领域的差异而采取不适用“其他领域”的不合理假设。建议2和5-10,可能也适用于一般机器学习方法;建议1、3、4、9是特定于蛋白质相关任务的。此外,这些技巧也适用于基于结构的蛋白质特性预测。

 

 

Tip 1:回答一个具体的生物学问题

找到一个生物数据集训练分类器不是一件困难的事,但研究的关键是利用机器学习方法来解答生物学问题。生物学问题决定了后续的所有过程,包括但不限于数据集的收集、适配的机器学习方法、合理的验证指标和需要比较的旧方法。希望各位记住,在整个工作过程中时时刻刻提醒自己所要解决的生物学问题是什么。

蛋白质序列不是图像,也不是语言中的句子,我们对句法、语法结构在相关模型中是如何作用的只有很微弱的认识。蛋白质的功能、结构、进化背景中,有一些反映在其特定的氨基酸序列中;这与自然语言中的句子有很大的不同,如果只是简单的类比、建模,会丢失很多信息。

 

 

Tip 2:描述并提供研究数据集——包括训练集和测试集

 

科学成果的可重复性至关重要。一个好的数据集描述应该详细说明 —— 研究使用了哪些源数据库(例如 PDB) ,哪些选择标准(例如最小分辨率,特定的实验技术) ,以及你应用了哪些进一步的过滤步骤(例如序列标识,参见下一个技巧);应当提供数据库的版本和数据下载日期来提高研究的重复性。

 

研究者应该清楚数据集中有多少蛋白质、哪些类蛋白质,使用了哪些序列,以及它们的实验属性。在机器学习研究中,报告序列数据集的一般统计信息是一个很好的做法,其中当然应该包括类不平衡和氨基酸频率等。

 

数据集的一个组成部分是特性。这可能包括直接从序列中提取的值,例如氨基酸类型,进化信息(例如来自 PSI-BLAST 的 PSSM 形式的表达谱表示) ,或由其他工具预测的特征(例如二级结构和溶剂可及性)。研究者也可以使用表示模型来特性;这些表示模型通常针对大量未标记数据进行训练,旨在表示数据的固有结构。有几种预先训练的表示模型可用于蛋白质。在每种情况下,研究者都应该清楚自己从哪个工具或源中获取了哪些特性值,是否应用了缩放等处理,以及它们在数据集中的注释方式。

 

越来越多的期刊已经强制要求分享可查找,可访问,可解释,可重用的数据 。为蛋白质特征创建注释数据集是一项困难的任务,这样的数据集对许多人来说都是有价值的。

 

 

Tip3:删除冗余序列

 

训练集和测试集间如果存在同源,则方法的性能会被高估;Greener及其同事称这样的情况为“数据泄漏”。

想要消除序列冗余可以通过对序列同一性(图3)进行过滤,确保不出现任何一对序列共享超过25%的匹配氨基酸。为避免特征生成方法的数据泄漏,这些方法的训练数据和模型的训练数据之间的序列冗余也应被删除。

不允许训练集和测试集的蛋白来自 CATH 或 SCOP 中相同的(超)家族是序列同一性过滤的一种替代方法。序列同一性过滤最佳策略是结合以上两种方法一起实施(序列同一性和超家族)。此外,应当检查训练集是否可能由一个(或几个)大的蛋白质家族主导;在这种情况下,该模型可能不能很好地推广到其他家族。

 

在数据量和(训练测试集)序列差异层面存在一种权衡,以保证良好的性能评估和足够的数据量,这一点应该在文章中被充分讨论。

 

 

Tip 4:明确模型的输入输出

 

可以根据具体的输入、输出分类基于序列的方法,如图4。

虽然输入总是蛋白质序列,但传递给预测模型的可能是一个残基,一个序列窗口,或者整个蛋白质序列。在所有情况下,模型的实际输入都是相关的特性……输出可以是基于残基的也可以是全局蛋白特性。

因此,您应该在手稿中尽可能清楚地指定您模型期望的输入类型和它预测的输出类型,并且最好在代码本身和随附的README文件中声明。

 

 

Tip 5:选择正确的评估指标

 

对您提出的预测方法,必须进行严格的评估,这就需要选择合适的评估指标,因为不同的指标会突出显示方法的不同性能属性。在这里,我们简要总结最常用的方法,它们的定义请参考参考文献[20]。

 

许多蛋白质特异性分类任务具有很高的类不平衡性,例如,一般只有约10%至15%的蛋白质残基具有相互作用。在处理高度不平衡的数据时,精度可能产生误导;机器学习模型可能只是直接预测输入为多数类(非交互) ,而没有从数据中学习实际的生物学信息。Balanced accuracy没有这个问题,是相关问题的首选指标。Matthews相关系数(MCC)和精确召回(P/R)曲线也更加关注少数类,能够提供更加现实的评估。P/R 曲线可以用曲线下面积(AUC-P/R)或 P/R 曲线的平均精度(AP)来概括。此外,ROC 曲线经常被使用, ROC 曲线下面积(ROC-AUC)用于概括模型性能【注意,ROC-AUC不适合类不平衡数据集】。……对回归任务,最常用的指标是皮尔逊相关,(根)均方差(RMSD) ,或均方差或绝对误差(MSE或MAE)。

 

 

Tip 6:确定阴性集和阳性集及其意义

 

对分类问题,阳性集和阴性集的确定至关重要,应当仔细思考阳性集和阴性集的划分是否合理。

一个很简单的说明是,实验没有测功能的,未必就是阴性的。

 

 

Tip 7:用对应的模型以及数据集来描述结果

 

通常,在一篇论文中会介绍几个模型、其差异及相应的数据集。

在说明结论时,要清晰的指出哪个模型是在哪组数据上训练、测试的;哪个结论源自哪个模型。研究者应该使用清晰的标签描述文章中所用的数据集和方法(已发表数据集和方法通常已被命名)。

我们在图6中给出了一个简单的例子来说明如何做到这一点。

Tip 8:对模型进行解释(至少解释特征重要性)

一些例子如图7所示。在实际的建模之前,可能需要检查标签之间的特征值的差异,如图7A 所示。对随机森林模型,“ GINI impurity”通常用于根据决策树模型中特征的重要性对其进行排序,如图7B 所示;还可以查看“特性交互”,这将帮助您找到在决策规则中经常一起使用的特性。对神经网络模型,SHAP 提供了特征重要性的累加分数,如图7C 所示。清楚描述和标注你的特征是至关重要的,因为理解你的解释数字(不可避免地使用缩写)对于读者来说很困难,从图7B 和7C 可以很容易地理解这一点。

验证特性影响的一个好方法是从输入中删除它,然后重新训练,再次测试。当然也可以反过来,只训练一些最重要的特性,看其与使用全部特征相比,性能降低了多少。

 

由于再训练的计算成本可能相当高,而且您可能希望评估多个特性,甚至多个特性的组合,因此一种更廉价的方法是将模型输入中的特性归零。(这在机器学习中也被称为“消融”,但请注意,还有其他类型的消融,特别是从神经网络模型中去除组件)

 

 

Tip 9:与其他方法进行公平比较

 

如果声明比较的是“SOTA”模型,应当确定2或3个公认最优的方法。比较过程要基于公平的原则:

1)确保阴性、阳性集的定义是相同(或高度相似)的;

2)应当在相同的测试集上进行模型比较,如果您在建模时使用了自己构建的测试集,则应当使用被对比方法所用的测试集再与该方法进行一次比较(换言之,您的SOTA不应是特定于自己的数据集的);

3)注意“数据泄漏”等问题对比较公平性的影响。

 

我们多次遇到的一个问题是,研究者声称方法是基于序列的,但实际上并非如此,他们通过使用来自 DSSP 数据库的结构派生的二级结构注释作为输入特征,这事实上是输入了结构数据。这样的方法与基于纯序列的方法比较是不公平的。

 

通常情况下,1%或更小的提升是没有意义的。

 

 

Tip 10:使方法可以被应用

 

许多期刊要求方法(代码或WEB服务)与论文一起发表。按照论文的理论实现相关方法耗时巨大;甚至只是运行其他研究者的代码有时也是困难的;此外,部分潜在用户困难并不具有相关的计算机技术。

一些可行的方案:容器(Docker 或 Singular)、工作流(CWL或 Galaxy)、预训练模型(OpenML和ONXX)。当然,最受欢迎的还是WEB服务。此外,报告预测方法的运行时间(以CPU或GPU时列出)、说明生成输入特性和预测的计算成本也很重要。

 

三、讨论

 

这些建议虽然有的看起来很简单,但从我们的经验来看,这些内容确实经常被忽视。由于篇幅限制有很多问题我们在本文中没有讨论,未来的机器学习模型可能会越来越复杂,这意味着我们需要更强的可解释方法和更严格的测试。虽然目前还有一些缺陷,我们相信,机器学习方法在蛋白质特性预测领域的优势是显著的。

 

以上就是本期文献分享的全部内容啦

欢迎大家留言讨论~

 

 

文献作者简介——

侯庆振,山东大学国家健康医疗大数据研究院生物信息大数据中心主任,山东大学硕士生导师,山东产业技术研究院博士生导师,山东大学公共卫生学院生物统计学系副研究员,山东大学青年学者未来计划,中国生物工程学会计算生物学与生物信息学专委会委员,Frontiers in Molecular Biosciences专刊主编,Bioinformatics, PeerJ, Computational Biology and Chemistry等多个杂志审稿人。

 

研究方向和领域:

资源下载: