当前位置: 首页 > news >正文

文献解读-DNAscope: High accuracy small variant calling using machine learning

关键词:基准与方法研究;基因测序;变异检测;


文献简介

  • 标题(英文):DNAscope: High accuracy small variant calling using machine learning
  • 标题(中文):DNAscope:使用
    的机器学习高精度小变异调用
  • 发表期刊:bioRxiv
  • 作者单位:Sentieon公司
  • 发表年份:2022
  • 文章地址:https://doi.org/10.1101/2022.05.20.492556

图1 文献简介

图1 文献简介

当前的小变异检测技术,尤其是GATK的HaplotypeCaller,在大多数情况下表现优秀。然而,在复杂基因组区域的检测准确性仍有提升空间。随着测序技术在临床应用中的普及,提高这些区域的检测准确性变得越来越重要。传统方法主要依赖专家构建的模型和手动调整的过滤器,而机器学习方法显示出通过学习更复杂的变异特征关系来提高检测准确性的潜力。


测序流程

DNAscope作为GATK HaplotypeCaller的进阶版本,巧妙地融合了成熟的基于单倍型的变异检测方法和先进的机器学习技术,以提升变异检测的准确性。它在保留原有逻辑架构的同时,优化了活跃区域检测和局部组装过程,特别增强了在复杂基因组区域的表现。DNAscope通过为候选变异添加额外信息注释,并结合机器学习模型进行变异基因型分析,显著提高了整体准确度。此外,DNAscope还可与贝叶斯基因型分析模型配合使用,使其在非哺乳动物物种的重测序分析中同样发挥优势,体现了其广泛的适用性和卓越的性能。

图2  DNAscope方法概述

图2 DNAscope方法概述

为了评估 DNAscope 在不同个体中的变异调用准确性,研究者使用 Sentieon 的 DNAscope 和 DNAseq(符合 GATK 种系最佳实践)管道,使用来自三个 GIAB 样本的公开数据来调用变异:HG002、HG003 和 HG004。

测试涵盖了不同测序深度(15x至36x),并以NIST GIAB高置信度调用v4.2.1为基准。结果显示,DNAscope在所有样本和测序深度下的SNP和INDEL检测性能均优于DNAseq,特别是在30x HG002样本中,SNP和INDEL的F1分数分别达到99.57%和99.46%,总体错误率降低了一半以上。这种在多个样本中的卓越表现证明了DNAscope模型的泛化能力,而非过拟合于训练样本。此外,DNAscope还展现了适应新测序技术的潜力,如之前研究中开发的MGI模型所示,进一步凸显了其在变异检测领域的先进性和灵活性。

图3  DNAscope 和 DNAseq 的精确召回曲线

图3 DNAscope 和 DNAseq 的精确召回曲线

图4  对整个 GA4GH 分层区域进行评估,HG002 深度为 30×

图4 对整个 GA4GH 分层区域进行评估,HG002 深度为 30×

为深入评估变异检测工具的性能,研究组利用GA4GH的分层区域进行了详细分析。这些区域包括低可映射性、分段重复、自链区域、MHC以及综合多种复杂因素的"全难度"区域。结果显示,DNAscope在读数映射困难的区域,如低可映射性、分段重复和自链区域,均明显优于DNAseq。特别是在MHC区域的SNP检测和长同聚物区域的INDEL检测中,DNAscope表现更为出色。这些优势共同导致DNAscope在复杂基因组区域的整体表现优于DNAseq。值得注意的是,即使在相对简单的区域,DNAscope在INDEL检测方面仍保持领先,而在SNP检测方面与DNAseq旗鼓相当。这一全面的分层分析凸显了DNAscope在处理各种复杂基因组区域时的强大能力和灵活性。

研究团队通过对HG002、HG003和HG004的36x测序数据进行抽样,创建了5个不同深度的数据集,以评估变异检测工具在不同测序覆盖度下的性能。结果显示,尽管变异检测准确性通常随覆盖度降低而下降,但DNAscope在低覆盖度条件下仍然保持了优于DNAseq的高准确性。特别值得注意的是,DNAscope在20x覆盖度下的表现始终优于DNAseq在36x覆盖度下的表现。这一发现突显了DNAscope改进的架构和机器学习模型过滤在低覆盖度条件下的显著优势,为高效且经济的变异检测提供了新的可能性。

图5 对瓶中基因组样本 HG002、HG003、HG004 进行多深度测序评估

图5 对瓶中基因组样本 HG002、HG003、HG004 进行多深度测序评估

研究探讨了DNAscope贝叶斯模型在非人类和多倍体样本上的表现,特别关注15x覆盖度下的性能。结果显示,尽管整体准确性低于其机器学习模型,DNAscope的贝叶斯模型在INDEL检测方面仍优于DNAseq,而在SNP检测方面两者相当。这表明DNAscope在处理非标准样本时仍具有一定优势,尤其是在INDEL检测方面。

图6 对Genome in a Bottle样本HG002、HG003和HG004在15x测序深度下的评估

图6 对Genome in a Bottle样本HG002、HG003和HG004在15x测序深度下的评估

在标准化的AWS环境中,对DNAscope进行了性能测试。结果显示,使用96+vCPU处理30x全基因组测序样本时,DNAscope的运行时间不到1小时,与DNAseq相当,比BWA/GATK快5倍。测试还表明DNAscope具有良好的可扩展性,运行时间与线程数几乎呈线性关系。

图7 DNAscope 在多个 AWS C6i 实例上的运行时

图7 DNAscope 在多个 AWS C6i 实例上的运行时


总结

在这项研究中,研究组证明了DNAscope在不同样本和不同覆盖度水平下都能达到比DNAseq更高的准确性。使用GA4GH分层区域进行的分层分析,能够确认DNAscope在大多数分层区域中都具有高准确性,并突显了DNAscope在插入缺失(indels)和包含变异检测较困难的基因组区域的分层中具有更高的准确性。DNAscope结合了GATK's HaplotypeCaller中使用的成熟数学和统计模型,以及用于变异基因型分析的机器学习方法,在保持计算效率的同时实现了卓越的准确性。

相关文章:

文献解读-DNAscope: High accuracy small variant calling using machine learning

关键词:基准与方法研究;基因测序;变异检测; 文献简介 标题(英文):DNAscope: High accuracy small variant calling using machine learning标题(中文):DNAsc…...

成都睿明智科技有限公司解锁抖音电商新玩法

在这个短视频风起云涌的时代,抖音电商以其独特的魅力迅速崛起,成为众多商家争夺的流量高地。而在这片充满机遇与挑战的蓝海中,成都睿明智科技有限公司犹如一颗璀璨的新星,以其专业的抖音电商服务,助力无数品牌实现从零…...

【操作系统】——调度算法

🌹😊🌹博客主页:【Hello_shuoCSDN博客】 ✨操作系统详见 【操作系统专项】 ✨C语言知识详见:【C语言专项】 目录 先来先服务(FCFS, First Come First Serve) 短作业优先(SJF, Shortest Job Fi…...

MySQL LOAD DATA INFILE导入数据报错

1.导入命令 LOAD DATA INFILE "merge.csv" INTO TABLE 报名数据 FIELDS TERMINATED BY , ENCLOSED BY " LINES TERMINATED BY \n IGNORE 1 LINES; 2.表结构 CREATE TABLE IF NOT EXISTS 报名数据 ( pid VARCHAR(100) NOT NULL, 查询日期 VARCHAR(25) NO…...

AI 写作(五)核心技术之文本摘要:分类与应用(5/10)

一、文本摘要:AI 写作的关键技术 文本摘要在 AI 写作中扮演着至关重要的角色。在当今信息爆炸的时代,人们每天都被大量的文本信息所包围,如何快速有效地获取关键信息成为了一个迫切的需求。文本摘要技术正是为了解决这个问题而诞生的&#x…...

CTFL(二)贯穿软件开发生存周期中的测试

贯穿软件开发生存周期中的测试 验收测试(acceptance testing),黑盒测试(black-box testing),组件集成测试(component integration testing),组件测试(compone…...

PMIC FS8405

FS8495 具有多个SMPS和LDO的故障安全系统基础芯片。   FS8X 大多数参数都是通过OTP寄存器设置的。 概述 FS85/FS84设备系列是按照ASIL D流程开发的,FS84具有ASIL B能力,而FS85具有ASIL D能力。所有的设备选项都是引脚到引脚和软件兼容的。   FS85/FS84是一种汽车功能安全…...

matlab建模入门指导

本文以水池中鸡蛋温度随时间的变化为切入点,对其进行数学建模并进行MATLAB求解,以更为通俗地进行数学建模问题入门指导。 一、问题简述 一个煮熟的鸡蛋有98摄氏度,将它放在18摄氏度的水池中,五分钟后鸡蛋的温度为38摄氏度&#x…...

微搭低代码入门03函数

目录 1 函数的定义与调用2 参数与返回值3 默认参数4 将功能拆分成小函数5 函数表达式6 箭头函数7 低代码中的函数总结 在用低代码开发软件的时候,除了我们上两节介绍的变量、条件语句外,还有一个重要的概念叫函数。函数是执行特定功能的代码片段&#xf…...

零基础Java第十六期:抽象类接口(二)

目录 一、接口(补) 1.1. 数组对象排序 1.2. 克隆接口 1.3. 浅拷贝和深拷贝 1.4. 抽象类和接口的区别 一、接口(补) 1.1. 数组对象排序 我们在讲一维数组的时候,使用到冒泡排序来对数组里的元素进行从小到大或从大…...

【css】html里面的图片宽度设为百分比,高度要与宽度一样

场景&#xff1a;展示图片列表的时候&#xff0c;原始图片宽高不一致。 外层div的宽度自适应&#xff0c;图片宽度不能固定数值&#xff0c;只能设置百分比。图片高度也不能设置固定数值。 如何让图片的高度与图片的宽度一样呢&#xff1f; html代码 &#xff1a; <div cl…...

前端三大组件之CSS,三大选择器,游戏网页仿写

回顾 full stack全栈 Web前端三大组件 结构(html) 样式(css) 动作/交互(js) --- 》 框架vue&#xff0c;安哥拉 div 常用的标签 扩展标签 列表 ul/ol order——有序号 unordered——没序号的黑点 <!DOCTYPE html> <html><head><meta charset"…...

sqlsever 分布式存储查询

当数据存储在不同的服务器上的时候怎么取出来进行正常管连呢?比如你有 A 和B 两个服务器 里面存有两个表 分别是 A_TABLE、B_TABLE 其中 他们的关联关系是 ID 互相关联 1.创建链接服务器如果在B数据库要访问A数据库 那么 就在B数据库创建 -- 创建链接服务器 EXEC sp_addlink…...

deeponet(nature原文部分重点提取)

论文链接&#xff1a;Learning nonlinear operators via DeepONet based on the universal approximation theorem of operators | Nature Machine Intelligence 原文部分重点提取 DeepONets 会产生小的泛化误差 隐式类型算子还可以描述我们对其形式没有任何数学知识的系统 De…...

LeetCode【0036】有效的数独

本文目录 1 中文题目2 求解方法&#xff1a;python内置函数set2.1 方法思路2.2 Python代码2.3 复杂度分析 3 题目总结 1 中文题目 请根据以下规则判断一个 9 x 9 的数独是否有效。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线…...

Typecho登陆与评论添加Geetest极验证,支持PJAX主题(如Handsome)

Typecho登陆与评论添加Geetest极验证&#xff0c;支持PJAX主题&#xff08;如Handsome&#xff09; 起因 最近垃圾评论比较多&#xff0c;为了防止一些机器人&#xff0c;我给博客添加了一些评论过滤机制&#xff0c;并为评论添加了验证码。 原本使用的插件是noisky/typecho…...

前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包

前言 JS是前端三件套之一&#xff0c;也是核心&#xff0c;本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点&#xff0c;这篇是ES6;这篇文章是本人大一学习前端的笔记&#xff1b;欢迎点赞 收藏 关注&#xff0c;本人将会持续更新。 文章目录 JS高级 ES61、面向对象1.1…...

脑机接口、嵌入式 AI 、工业级 MR、空间视频和下一代 XR 浏览器丨RTE2024 空间计算和新硬件专场回顾

这一轮硬件创新由 AI 引爆&#xff0c;或许最大受益者仍是 AI&#xff0c;因为只有硬件才能为 AI 直接获取最真实世界的数据。 在人工智能与硬件融合的新时代&#xff0c;实时互动技术正迎来前所未有的创新浪潮。从嵌入式系统到混合现实&#xff0c;从空间视频到脑机接口&…...

RoseTTAFold MSA_emb类解读

MSA_emb 类的作用是对多序列对齐(MSA)数据进行嵌入编码,同时添加位置编码和查询编码(调用PositionalEncoding 和 QueryEncoding)以便为序列特征建模类。 源代码: class MSA_emb(nn.Module):def __init__(self, d_model=64, d_msa=21, p_drop=0.1, max_len=5000):super(…...

2411C++,C++26反射示例

参考 namespace __impl {template<auto... vals>struct replicator_type {template<typename F>constexpr void operator>>(F body) const {(body.template operator()<vals>(), ...);}};template<auto... vals>replicator_type<vals...>…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程&#xff0c;代码下载&#xff1a;这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中&#xff0c;**知识蒸馏&#xff08;Knowledge Distillation&#xff09;**被广泛应用&#xff0c;作为提升模型…...

基于TurtleBot3在Gazebo地图实现机器人远程控制

1. TurtleBot3环境配置 # 下载TurtleBot3核心包 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src git clone -b noetic-devel https://github.com/ROBOTIS-GIT/turtlebot3.git git clone -b noetic https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git git clone -b noetic-dev…...

JVM 内存结构 详解

内存结构 运行时数据区&#xff1a; Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器&#xff1a; ​ 线程私有&#xff0c;程序控制流的指示器&#xff0c;分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 ​ 每个线程都有一个程序计数…...

R语言速释制剂QBD解决方案之三

本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...

数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !

我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

LUA+Reids实现库存秒杀预扣减 记录流水 以及自己的思考

目录 lua脚本 记录流水 记录流水的作用 流水什么时候删除 我们在做库存扣减的时候&#xff0c;显示基于Lua脚本和Redis实现的预扣减 这样可以在秒杀扣减的时候保证操作的原子性和高效性 lua脚本 // ... 已有代码 ...Overridepublic InventoryResponse decrease(Inventor…...