错义变异或错义变体(missense variation或missense variants)是改变蛋白质氨基酸序列的遗传变异。致病性错义变异会严重破坏蛋白质功能,在目前观察到的400多万个错义变异中,只有2%在临床上被确定为致病或良性。对剩下的类型不明的变异进行分类是一个挑战。而机器学习可以利用生物数据中的模式来预测未经过注释的变异体的致病性。
来自:Accurate proteome-wide missense variant effect prediction with AlphaMissense
工程地址:https://github.com/google-deepmind/alphamissense
背景概述
机器学习方法可以通过利用生物数据中的模式来预测未注释变异的致病性。机器学习方法遵循四大策略:
- 第一类方法直接在人类整理的变体数据库上进行训练,从而利用先验知识来预测未标记变体的致病性。这种策略将继承人类的偏见。
- 为了克服这种限制,第二类方法使用不依赖于人类分类的弱标签进行训练。在训练数据中,“良性”(benign)变体被定义为在人类或其他灵长类物种中经常观察到的变体。“致病”(pathogenic)类型近似于人类群体中未观察到的假定变异。这种方法是减轻潜在人类偏差的一个有前途的方向。然而,这种设置导致训练数据中包含许多错误标签。
- 第三类方法避免直接在变异注释上进行训练,而是使用无监督方法,以氨基酸序列上下文为条件,对特定序列位置的氨基酸分布进行建模。最近,从蛋白质序列中学习氨基酸之间高阶依赖关系的深度学习模型(如自动编码器或语言模型)取得了很好的性能。在这类模型中,致病性被解释为参考序列与替代序列(alternate sequences)之间预测的对数似然的差异。虽然这些模型能有效捕捉自然进化序列的分布,但它们缺乏 AlphaFold(AF)对蛋白质结构的最新理解。
- 第四种策略是利用蛋白质结构来推断致病性,因为变异后的结构为表示蛋白质的功能提供了关键信息。虽然这种策略提供了遗传变异的量化,但直接使用这种方法进行致病性预测在 ClinVar variants上的表现一般。
AF 最近的研究表明,使用蛋白质序列作为输入,可以大规模预测高度精确的蛋白质结构。这种蛋白质结构模型可作为理解蛋白质生物学的基础。虽然 AF 对输入序列变异不敏感,也不能准确预测点突变后的结构变化,但这里依然假设 AF 对多序列比对(MSA)和蛋白质结构的内在理解为直接预测错义变异致病性提供了一个高质量的起点。
微调AlphaFold以实现变体效应预测
AlphaMissense将氨基酸序列作为输入,并预测序列中给定位置上所有可能的单个氨基酸变化的致病性。AlphaMissense利用了AF的两个关键功能:其高度准确的蛋白质结构模型和从相关序列中学习进化约束的能力。因此,AlphaMissense的实现与AF的实现非常相似,但在架构上略有差异。值得注意的是,AlphaMissense并不预测突变氨基酸序列的结构变化,而是仅以标量值预测致病性。
AlphaMissense分两个阶段进行训练。在第一阶段,像AF一样训练网络,以通过预测MSA中随机位置处mask的氨基酸的身份来执行单链结构预测(AF预训练)以及蛋白质语言建模。作者对AF进行了一些小的结构修改,并增加了蛋白质语言建模的损失,同时仍然实现了与AF相当的结构预测性能。在预训练之后,通过计算参考氨基酸概率和替代氨基酸概率之间的对数似然比,mask语言建模head已经可以用于变体效应预测。
在第二阶段(图1A),该模型在人类蛋白质上进行微调,并为MSA第二行中的序列定义了额外的变体致病性分类目标(图1A)。对于训练集,将"良性"标签(benign)分配给在人类和灵长类动物群体中经常观察到的变体,将"致病"标签(pathogenic)分配给人类和灵长目动物群体中不存在的变体,如在PrimateAI中所做的(图1B)。一旦模型开始在验证集上过拟合,就停止训练模型(2526个ClinVar变体,每个基因的致病性和良性变体数量相等)。
训练集本质上是有噪声的,因为许多未观察到的变体可能是良性的,但与单独预训练相比,它提供了足够的学习信号来提高变体致病性得分。为了提高训练集的质量和大小,作者通过使用初步的AlphaMissense模型来过滤未观察到的预测可能是良性的变体,再使用自蒸馏。然后使用这个过滤的训练集重复微调阶段。
- 图1A:模型架构,模型输入包括参考蛋白序列(裁剪为固定长度 L L L=256个氨基酸), N N N个从参考序列采样的变体( N = 50 N=50 N=50),参考序列对应的MSAs( N a l l = 2048 N_{all}=2048 Nall=2048)。一次对一个变体进行推理。参考序列在 MSA 的第二行重复,所有采样的变异位置被mask。与AlphaFold一样,模型从参考序列中构建pair表示(一对氨基酸相互作用embedding的size为 K p a i r K_{pair} Kpair),以及MSA表示(每个氨基酸的embedding的size为 K m s a K_{msa} Kmsa)。MSA和pair表示由Evoformer处理(包含回收机制)。最后模型预测了参考序列的结构和变体的致病性得分 s i a s_{i}^{a} sia,该得分是根据mask氨基酸预测头得出的,即氨基酸 a a a相对于第 i i i位参考氨基酸的对数似然差。
- 图1B:primates-灵长目,致病性score将变体分为良性-benign(在人类或灵长类种群中观察到或频繁出现的错义变体)或致病性-pathogenic(未观察到的人类错义变体)的二元分类。根据良性变异的次等位基因频率(MAF,minor allele frequency)将其分成若干组,并在损失函数中引入权重,以减少罕见变异的贡献(这里是对预测的良性变异分配权重,频繁的变异权重大,罕见的权重小)。对于良性变异集中的每个观察到的变异,作者都会从致病变异集中抽取一个错义变异,并赋予它与良性变异相同的损失权重。
跨多个临床基准提高致病性分类表现
临床数据库收集导致人类疾病的错义变体。这些数据库可用于确定致病性预测模型的基准,但这些数据包含人类的偏见,可能会扭曲临床相关变异的真实分布。在这些数据库上训练的模型(例如,ClinVar)就继承了这些偏差,无法推广到其他基准。作者避免直接对人工标签进行训练,并能够对各种基准进行评估,包括ClinVar中注释错义变体的测试集、罕见发育障碍患者和对照组的新变体、ProteinGym中的MAVE(multiplexed assays of variant effect,变异效应多重分析)基准以及本研究获取的其他MAVE基准(图1C)。
- 图1C:在不同的基准上评估AlphaMissense,包括ClinVar中的注释错义变体,新发疾病变体,ProteinGym收集的MAVE数据。
使用方式
目前AlphaMissense的作者提供了如下内容:
- 模型和损失的详细实现:modules_missense.py
- 为推理创建输入特征的数据处理脚本:pipeline_missense.py,脚本需要访问基因数据库进行多序列比对,如果使用空间裁剪,需要访问AlphaFold数据库的蛋白质结构
- 所有可能的人类氨基酸置换和错义变异的预测结果
没有提供的内容为:
- 经过训练的AlphaMissense权重
AlphaMissense的预测结果文件在:https://console.cloud.google.com/storage/browser/dm_alphamissense