AlphaMissense:预测错义变异的致病性

错义变异或错义变体(missense variation或missense variants)是改变蛋白质氨基酸序列的遗传变异。致病性错义变异会严重破坏蛋白质功能,在目前观察到的400多万个错义变异中,只有2%在临床上被确定为致病或良性。对剩下的类型不明的变异进行分类是一个挑战。而机器学习可以利用生物数据中的模式来预测未经过注释的变异体的致病性。

来自:Accurate proteome-wide missense variant effect prediction with AlphaMissense
工程地址:https://github.com/google-deepmind/alphamissense

目录

  • 背景概述
    • 微调AlphaFold以实现变体效应预测
    • 跨多个临床基准提高致病性分类表现
  • 使用方式

背景概述

机器学习方法可以通过利用生物数据中的模式来预测未注释变异的致病性。机器学习方法遵循四大策略:

  • 第一类方法直接在人类整理的变体数据库上进行训练,从而利用先验知识来预测未标记变体的致病性。这种策略将继承人类的偏见。
  • 为了克服这种限制,第二类方法使用不依赖于人类分类的弱标签进行训练。在训练数据中,“良性”(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模型来过滤未观察到的预测可能是良性的变体,再使用自蒸馏。然后使用这个过滤的训练集重复微调阶段。
fig1a

  • 图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位参考氨基酸的对数似然差。

fig1b

  • 图1B:primates-灵长目,致病性score将变体分为良性-benign(在人类或灵长类种群中观察到或频繁出现的错义变体)或致病性-pathogenic(未观察到的人类错义变体)的二元分类。根据良性变异的次等位基因频率(MAF,minor allele frequency)将其分成若干组,并在损失函数中引入权重,以减少罕见变异的贡献(这里是对预测的良性变异分配权重,频繁的变异权重大,罕见的权重小)。对于良性变异集中的每个观察到的变异,作者都会从致病变异集中抽取一个错义变异,并赋予它与良性变异相同的损失权重。

跨多个临床基准提高致病性分类表现

临床数据库收集导致人类疾病的错义变体。这些数据库可用于确定致病性预测模型的基准,但这些数据包含人类的偏见,可能会扭曲临床相关变异的真实分布。在这些数据库上训练的模型(例如,ClinVar)就继承了这些偏差,无法推广到其他基准。作者避免直接对人工标签进行训练,并能够对各种基准进行评估,包括ClinVar中注释错义变体的测试集、罕见发育障碍患者和对照组的新变体、ProteinGym中的MAVE(multiplexed assays of variant effect,变异效应多重分析)基准以及本研究获取的其他MAVE基准(图1C)。
fig1c

  • 图1C:在不同的基准上评估AlphaMissense,包括ClinVar中的注释错义变体,新发疾病变体,ProteinGym收集的MAVE数据。

使用方式

目前AlphaMissense的作者提供了如下内容:

  • 模型和损失的详细实现:modules_missense.py
  • 为推理创建输入特征的数据处理脚本:pipeline_missense.py,脚本需要访问基因数据库进行多序列比对,如果使用空间裁剪,需要访问AlphaFold数据库的蛋白质结构
  • 所有可能的人类氨基酸置换和错义变异的预测结果

没有提供的内容为:

  • 经过训练的AlphaMissense权重

AlphaMissense的预测结果文件在:https://console.cloud.google.com/storage/browser/dm_alphamissense
store

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/732615.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

关于使用绿联 USB-A转RJ45 2.5G网卡提速的解决问题

问题 网络下载速率低 我的自带网卡是 I219v 在嵌入了2.5G网络后一直无法到达1.5G以上。 平均测速300~500M 解决方案 更新了USB的网卡驱动 禁用了 I219-V的驱动。测速即可 USB下载地址 https://download.csdn.net/download/qq_28198181/89468806

基于SpringBoot+Vue二手交易平台设计和实现(源码+LW+调试文档+讲解等)

💗博主介绍:✌全网粉丝1W,CSDN作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 🌟文末获取源码数据库🌟 感兴趣的可以先收藏起来,还…

银河麒麟V10安装docker和docker-compose

1. 说明 系统镜像使用的是Kylin-Server-V10-SP3-2403-Release-20240426-x86_64.iso如果是在VMware中安装这个系统,需选择Ubuntu,如果选Centos会有问题。 尝试使用在线方式安装docker,报了很多错误,比较麻烦,建议使用离…

Kubernetes集群UI及主机资源监控

Kubernetes集群UI及主机资源监控 1. Kubernetes dashboard作用 通过dashboard能够直观了解Kubernetes集群中运行的资源对象,可以直接管理(创建、删除、重启等操作)资源对象 2. 获取Kubernetes dashboard资源清单文件 下载kubernetes-dashboard配置文件cd /data/k8s-work wg…

【CV炼丹师勇闯力扣训练营 Day13:§6二叉树1】

CV炼丹师勇闯力扣训练营 代码随想录算法训练营第13天 二叉树的递归遍历 二叉树的迭代遍历、统一迭代 二叉树的层序遍历 一、二叉树的递归遍历(深度优先搜索) 【递归步骤】 1.确定递归函数的参数和返回值:确定哪些参数是递归的过程中需要处理…

【仿真建模-anylogic】Network代码解析

Author:赵志乾 Date:2024-06-22 Declaration:All Right Reserved!!! 1. 类图 2. 代码解析 //************************核心字段************************* // Network所属的level private transient Leve…

FFmpeg+javacpp+javacv使用

FFmpegjavacppjavacv使用 Bytedeco官网案例1、导入opencv、ffmpeg依赖包2、FFmpeg 数据结构2.1 AVFormatContext 格式化I/O上下文2.1.1 metadata2.1.2 Duration、start、bitrate等其他信息2.1.3 dump信息 Bytedeco GitHub:javacpp Bytedeco官网案例 FFmpeg – [示例…

Flutter图像编辑器应用:创造生动美丽的照片体验

介绍 引言 想象一下,在一个阳光明媚的下午,与家人或朋友漫步在风景如画的街道上。拿出手机,迫不及待地捕捉这一刻的美好,按下快门,留下了一张充满回忆的照片。 然而,回到家后发现照片的亮度有些偏暗&…

【机器学习】正则卷积群理论及Python代码实现

1. 引言 1.1.卷积神经网络CNN 卷积神经网络(CNN)的数学模型是深度学习中用于处理图像和其他高维数据的关键组成部分。那么,CNN究竟是什么呢? 总结起来,CNN网络主要完成以下操作: 卷积操作(Co…

Android记录3--ExpandableListView使用+获取SIM卡状态信息

布局文件&#xff1a; /SIM_Card_Demo/res/layout/inbox.xml <LinearLayout xmlns:android“http://schemas.android.com/apk/res/android” xmlns:tools“http://schemas.android.com/tools” android:layout_width“match_parent” android:layout_height“match_par…

Docker部署Nginx1.21.5(保姆级图文教程)

系列文章目录 Docker部署Nginx1.21.5&#xff08;保姆级图文教程&#xff09; Docker部署MySQL8.3.0&#xff08;保姆级图文教程&#xff09; 文章目录 一、环境二、拉取镜像2.1 查找 Docker Hub 上的 nginx 镜像2.2 拉取Nginx镜像2.3 查看Nginx镜像 三、在宿主机创建目录四、启…

Python爬虫基础以及示例讲解

爬虫简介 网络爬虫 爬虫指在使用程序模拟浏览器向服务端发出网络请求&#xff0c;以便获取服务端返回的内容。 但这些内容可能涉及到一些机密信息&#xff0c;所以爬虫领域目前来讲是属于灰色领域&#xff0c;切勿违法犯罪。 爬虫本身作为一门技术没有任何问题&#xff0c;关…

【FreeRTOS】创建任务_使用任务参数

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 文章目录 前言编写任务函数创建任务任务保护措施写了个bug疑问遗留问题效果freertos.c 学习链接 前言 配套源码&#xff1a;06_create_task_use_params 我们创建3个任务&#xff0c;使用同一个函数&#xff0c;但是在L…

Master PDF Editor v5 解锁版安装教程(小巧多功能PDF )

前言 Master PDF Editor&#xff0c;小巧的多功能PDF编辑器&#xff0c;轻松查看&#xff0c;创建&#xff0c;修改&#xff0c;批注&#xff0c;签名&#xff0c;扫描&#xff0c;OCR和打印PDF文档。高级注释工具&#xff0c;可以添加任意便笺指示对象突出显示&#xff0c;加…

c++中从父类继承的属性在子类内存中如何显示?

目录 一、继承概念 二、示例 三、结论 一、继承概念 在C中&#xff0c;继承是面向对象编程的一个重要特性&#xff0c;它允许一个类&#xff08;称为派生类或子类&#xff09;继承另一个类&#xff08;称为基类或父类&#xff09;的成员&#xff08;包括数据成员和成员函数…

数据结构:为什么说链表是顺序表的升级版(c语言实现)

前言&#xff1a; 我们在之前的几篇文章中详细的讲解了顺序表的特点&#xff0c;增删改查操作和动态顺序表的优点&#xff0c;并使用顺序表的底层结构实现了通讯录项目&#xff0c;似乎顺序表是一个非常完美的数据结构&#xff0c;它可以实现按照需求实现增删查改&#xff0c;对…

由于bug造成truncate table卡住问题

客户反应truncate table卡主&#xff0c;检查awr发现多个truncate在awr报告期内一直没执行完&#xff0c;如下&#xff1a; 检查ash&#xff0c;truncate table表的等待事件都是“enq: RO - fast object reuse”和“local write wait” 查找“enq: RO - fast object reuse”&am…

2024年能源电力行业CRM研究报告

中国能源电力行业属于大制造业的重要组成部分&#xff0c;在国民经济中的地位举足轻重。据统计&#xff0c;近十年来能源电力行业的整体投资呈现出增长趋势&#xff0c;尤其是“十四五”期间增长显著&#xff0c;2022年全国主要电力企业共完成投资12470亿元&#xff0c;同比增长…

Nuxt3 [Vue warn]: Hydration node mismatch:【解决方案】

[Vue warn]: Hydration node mismatch: 水合节点不匹配 Server rendered element contains more child nodes than client vdom. 服务器呈现的元素包含的子节点多于客户端vdom。 这个问题解决起来也很好解决&#xff0c;看这个问题是怎么出来的&#xff0c;看代码&#xff1a;…

vs工程添加属性表

一、简介 1、 vs工程属性表以&#xff08;.props&#xff09;为后缀 2、 作用&#xff1a;当多个工程需要配置很多相同的属性配置时方便同步&#xff0c;比如多个工程需要链接相同的头文件&#xff0c;库文件&#xff0c;输出路径&#xff0c;中间目录等 3、本章内容测试环境&a…