临床外显子组测序分析中的那些坑(上)

news2024/12/21 7:41:45

图片

大规模并行测序技术或下一代测序已成为基因诊断和研究的标准技术,尤其是外显子组和基因组测序现在已经在世界范围内广泛应用于患者的分子诊断。在过去几年中,许多实验室都在努力应对基于全新技术建立基因检测工作流程的挑战。测序技术中持续引入新的仪器、化学和分析方法加剧了这些挑战。

在过去十年中,新的测序技术已经上市,而其他技术已经消失,并且所有这些技术都经历了快速的变化和升级。外显子组捕获试剂盒、配套设备和耗材也是如此。在这个不断变化的领域,实验室一直致力于生成高质量的测序数据。

各种研究报告了测序数据中的偏差如何导致外显子组和基因组测序的敏感性降低或假阳性变异。例如,对于NGS而言,高测序错误率和PCR重复将导致潜在的假阳性calls,而不均匀的序列覆盖或缺乏覆盖可能会导致灵敏度降低。其他问题,如strand偏倚和插入大小分布也可能对测序结果产生不利影响。NGS技术比传统的基因检测方法更加数据密集,需要信息技术(IT)和生物信息学方面的专业知识,而这在许多实验室最初是稀缺的。生物信息学已经解决了为测序数据建立严格质量控制的困难,但也解决了从测序数据中可靠识别变异的挑战。例如,检测插入和缺失、识别短片段扩增重复或低覆盖区域的变异或区分单核苷酸变异(SNV)与测序错误相对困难。

此外,从外显子组数据中检测拷贝数变异(CNV)已成为一种标准程序,并带来了自身特殊的挑战。同样,与测序仪器一样,生物信息学需要处理来自软件工具、基因Panel和其他注释资源的持续更新,以确保分子遗传学家拥有用于解释最新数据的最新信息。这反过来要求实验室实施自动测试其分析的策略以及重新分析现有数据的系统方法。

在新的测序可能性以及许多疾病的遗传和表型变异的推动下,临床基因检测在过去十年中发生了巨大的变化。根据临床表型,只有一个或几个基因会被测序;从靶向基因测试来看,现在通常涉及对大量疾病基因的分析。与单基因分析相比,外显子组或基因组测序中的大量变异的解释明显不同。这不仅需要对该技术有深入的了解,以便评估数据质量和已识别的变异,还需要新的变异解释方法。

  

NGS变异的初始报告有时过于严格,从而忽略了与患者表型不完全匹配的变异,或过于宽松,导致许多意义不确定的变异(VUS)。随着时间的推移,测序数据的质量有了很大的提高,并且开发具有不同变异频率的大型公共可用数据库,如GnomAD数据库,极大地帮助开发了更高效的变异筛选选项。此外,在过去的几年中,已经开发出各种建议和质量评估方案指导NGS变异的解释、分类和报告。

现在有一些关于NGS测试的指南可以帮助NGS测试设计、优化、验证、质量管理和生物信息学等方面。尽管如此,仍然存在许多挑战,错误肯定会发生,即使在质量至关重要的受监管临床基因检测实验室也是如此。这里我们展示了我们实验室在十年临床外显子组测序过程中犯下的一些错误的例子,以及我们从这些错误中吸取的教训(补充表S1)。虽然湿实验室有其特殊的挑战,但在这里,我们主要关注与数据分析和变异解释相关的问题。我们希望通过分享这些例子,其他实验室可以避免犯同样的错误

数据分析 

对于许多诊断实验室来说,数据管理和测序数据分析流程的开发已经变得非常重要。构建一个完整、高效和稳健的NGS分析流程是一项复杂的任务,包括多个微妙的步骤,包括从NGS读取的比对到不同类型遗传变异的调用和注释,如SNV、小插入和缺失、CNV和短串联重复序列(STR)。由于需要执行许多不同的处理步骤,并且数据量很大,因此相对容易犯一个小错误,对最终结果产生较大但不明显的影响。在这里,我们展示了自己在数据分析过程中犯下的五个错误的例子,这些错误到目前为止还没有在文献中得到充分强调。

1.     序列质量

“垃圾输入,垃圾输出”是计算机科学中的一句名言。它抓住了一个概念,即有缺陷的输入数据会产生有缺陷的输出或“垃圾”。这同样适用于测序数据。我们的实验室在测序结果方面遇到了许多问题,这些问题不是由于数据处理中的错误,而是由于初始数据生成本身存在问题。确定下游问题的根本原因可能是一项具有挑战性的任务,因为测序数据中的细微质量问题可能会对后续突变检测产生很大影响。一个相对常见的问题是数据中有许多虚假的变异,这种情况有时是由于意外的高测序错误率、样本污染,或由于adapter序列的不正确修剪(补充图S1)。

图片

大多数质量问题可以通过检查原始测序数据或变异的质量分数较低,并且偏离杂合子突变丰度50%来识别。相反,在大多数情况下,变异的数量减少是由于序列覆盖率低。然而,灵敏度降低可能还有其他原因。在两批外显子组测序样本中,我们注意到变异的数量较少,只是因为我们对几批样本进行了趋势分析。最初,我们预计这是由于样本的序列覆盖率较低(补充图S2),然而,这些样本的序列覆盖率与其他样本没有区别,最终我们发现这个问题是由于duplication reads的比例增加了10-20%。由于duplication reads可能是由于PCR扩增并可能引入假阳性变异。大多数变异的分析软件不会考虑它们的变异调用。因此,许多区域的有效覆盖率比这两个批次的有效覆盖率低10-20%(补充图S2)。许多质量问题可以通过使用Qualimap等工具轻松识别,这些工具可以计算测序实验的质量统计数据,如覆盖率统计数据、测序错误率和重复读取的百分比。

图片

因此,我们强烈建议在生物信息流程的所有步骤中嵌入广泛的质量控制,并遵循质量参数的趋势,如重复读取的百分比、覆盖率分布、变异总数以及在gnomAD中未发现的罕见变异的百分比。应密切调查与预期值的偏差。在开发和测试期间确定质量阈值将有助于以后识别质量问题。当实验室协议发生变化时,例如随着新测序仪器的引入,这些阈值可能需要更新。对测序数据进行全面的质量控制分析可以防止数据解释的许多下游问题。

.

2. 序列比对:alternate contigs 

NGS数据最主要的处理步骤是将读取数据与参考基因组对齐。然而,特定区域的基因组结构在不同的个体和群体之间可能存在很大差异。为了正确地表示这些位点,参考基因组使用alternate contigs,即基因组中特定区域的不同参考序列。这些交替重叠群包含基因组中的区域,这些区域以如此复杂的方式变化,以至于它们无法表示为单个参考序列。在我们最初的分析工作流程中,我们试图尽可能全面,包括可能最大的参考基因组,其中包括alternate contigs。然而,默认情况下,大多数reads都会给与参考基因组中多个区域一致的比对质量分数。这些比对质量(MAPQ)等于零的读数通常在集成基因组学查看器(IGV(Robinson等人,2011))中以空白读数显示(图1A)。变异检测算法反过来会忽略这种读取,并且不会在读取MAPQ分数较低的区域识别变异。这些区域变异虽然可以通过手动检查看到,但不会被分析。这一错误是在实验室专家的帮助下确定的,他们查看了比对后的测序数据,以确定隐性基因中是否存在潜在的第二个突变(见VI-3)。我们发现通过包含alternate contigs读取无法明确对齐的编码基数将增加三倍。

图片

图1A

最近,英国生物银行(UK Biobank)的数据也报道了同样的问题,在GRCh38参考基因组中引入了大量的替代性重叠群,导致数千种变异的缺失。有两种方法可以避免这个问题。简单的解决方案是在分析中简单地排除替代重叠群,这是目前我们在GRCh37外显子组分析中所做的。在没有交替重叠的情况下分析数据,将正确对齐人类参考基因组主要组件中的reads(图1B)。一个更复杂的解决方案是应用对齐算法,可以使用相应的索引文件处理交替重叠,我们现在使用参考基因组的GRCh38构建分析基因组。考虑到GRCh38极大地扩展了替代性接触基因的种类(以及其他改进),行业开始向GRCh38过渡将是有利的,以便能够正确地检测和分析群体特异性单倍型中的基因组变异。

  

3. 变异检测:捕获目标文件 

有许多不同的外显子组试剂盒,它们都使用自己对“感兴趣区域”的定义。从外显子组检测变异的最初方法是分析整个全基因组,而不考虑捕获目标或编码区域。然而,这在计算上很繁重,结果数据将包含许多来自不感兴趣区域中非目标读取的低质量变异。因此,将分析限制在可以合理预期可靠变异的充分覆盖范围区域似乎是合理的。尽管最初的外显子组试剂盒试图精确定位编码区,但许多制造商开始移动捕获探针,使其部分重叠或接近感兴趣的外显子,以优化富集效率。这背后的想法是:结合序列读取长度(通常为100-150 bp)和基因组DNA片段的富集(延伸到目标之外但与目标重叠),不仅可以充分覆盖捕获目标本身,还可以覆盖100-150个相邻碱基。这确实提高了许多“困难”外显子的捕获效率,但使决定在哪些区域检测变异变得更加困难。

图片

图1C

在我们最初实施新的外显子捕获设计时,我们犯了一个错误:只在外显子捕获目标区域中检测变异,没有意识到任何捕获目标都没有直接覆盖一部分外显子,因此遗漏了相关的编码变异(图1C)。尽管我们在测试外显子组试剂盒时进行了几次质量检查,但我们并没有立即意识到我们丢失了多达5.4%(1897KB)的所有编码区域(安捷伦SureSelect版本4)。同样,当通过IGV在序列比对中发现可见的变异在vcf文件中不存在时,观察到了这个错误。在最近的外显子组试剂盒中,与捕获目标相邻的编码碱基数量较少,但仍然相当可观(图1D)。

大多数制造商保证在捕获目标附近有足够的覆盖100bp,但我们目前将目标扩展为200bp,以平衡额外的计算时间和编码区域中的额外变异。显然,在全基因组范围内分析变异将绕过这些问题,但我们已经判断,额外的计算时间和低质量变异的增加并没有使这足够值得。我们估计,在全基因组范围内调用变异将使分析时间加倍,并将产生更多的变异,其中一个重要部分是假阳性位点。在实施新的外显子组捕获设计时,强烈建议事先定义临床目标或感兴趣的区域,然后确定这些区域覆盖的完整性。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Tomcat】第六站(最后一站啦!):数据的返回

1. 引言 前端资源比如html页面,进行返回。截止到目前我们写的项目架构不支持前端页面(静态资源 )。 2. 数据的返回 2.1 准备 为了能够写前端页面,新建一个项目。选择Maven项目,下一步,下一步。 加载完…

ai论文生成器:分享8款AI一键生成论文的写作软件

在撰写毕业论文的过程中,高效利用各类软件工具可以极大地提升写作效率与质量。以下是八个免费的神器软件工具,它们各自在论文撰写、文献管理、语法校对、数据可视化等方面发挥着重要作用。希望这些推荐能帮助你顺利完成毕业论文的写作。 千笔AI论文&…

【Ubuntu 20.04】notepad++的安装与汉化

一,简介 本文介绍如何在Ubuntu虚拟机中安装notepad,供参考。 二,操作步骤 2.1 notepad的安装 sudo snap install notepad-plus-plus

Cherno C++学习笔记 P45 拷贝与拷贝构造函数

在这一篇文章当中,我们会学习一下C当中的复制以及复制构造函数,当然,还会用一个相对比较完整的代码类作为例子。这也是我们第一次写一个相对比较长的和完整的代码。 对于C来说,理解复制是非常重要的,因为整个C变成可以…

uniapp入门 01创建项目模版

0安装 hbuilder x 标准版 1.创建模版工程 2.创建官方 案例工程 index.uvuewen 文件解析 <!-- 模版 标签 --> <template><view></view></template><!-- 脚本 --> <script>export default {data() {return {}},onLoad() {},methods:…

kubeadm安装K8s高可用集群之集群初始化及master/node节点加入calico网络插件安装

系列文章目录 1.kubeadm安装K8s高可用集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx及kubeadm部署 3.kubeadm安装K8s高可用集群之集群初始化及master/node节点加入集群calico网络插件安装 kubeadm安装K8s高可用集群之集群初始化及master/node节点加入ca…

【NLP】序列到序列(seq2seq)建模工具fairseq使用详解

文章目录 一、fairseq简介二、安装方式2.1 pip安装2.2 源码安装 三、fairseq命令工具3.1 fairseq-preprocess3.2 fairseq-train3.3 fairseq-generate3.4 fairseq-interactivate3.5 fairseq-score3.6 fairseq-eval-lm 4. 常见报错报错1 参考资料 一、fairseq简介 fairseq 是 Fa…

28、论文阅读:基于像素分布重映射和多先验Retinex变分模型的水下图像增强

A Pixel Distribution Remapping and Multi-Prior Retinex Variational Model for Underwater Image Enhancement 摘要介绍相关工作基于模型的水下图像增强方法&#xff1a;无模型水下图像增强方法&#xff1a;基于深度学习的水下图像增强方法&#xff1a; 论文方法概述像素分布…

ArkTs组件的学习

一. AlphabetIndexer 可以与容器组件联动用于按逻辑结构快速定位容器显示区域的组件 参数名类型必填说明arrayValueArray<string>是字母索引字符串数组&#xff0c;不可设置为空selectednumber是初始选中项索引值若超出索引值范围则取默认值0 class Lxr{tImg:Resource…

Python读取Excel批量写入到PPT生成词卡

一、问题的提出 有网友想把Excel表中的三列数据&#xff0c;分别是&#xff1a;单词、音标和释义分别写入到PPT当中&#xff0c;每一张PPT写一个单词的内容。这种批量操作是python的强项&#xff0c;尤其是在办公领域&#xff0c;它能较好地解放双手&#xff0c;读取Excel表后…

百度面试手撕 go context channel部分学习

题目 手撕 对无序的切片查询指定数 使用context进行子协程的销毁 并且进行超时处理。 全局变量定义 var (startLoc int64(0) // --- 未处理切片数据起始位置endLoc int64(0) // --- 切片数据右边界 避免越界offset int64(0) // --- 根据切片和协程数量 在主线程 动态设…

Otsu 二值化算法:原理、实现与应用

摘要&#xff1a; 本文深入探讨了 Otsu 二值化算法&#xff0c;详细阐述其原理&#xff0c;包括类间方差的计算与阈值确定机制。分别给出了该算法在 C#、Python 和 C 中的实现代码示例&#xff0c;并对代码进行了详细注释与分析。此外&#xff0c;还探讨了 Otsu 二值化算法在图…

uniApp使用腾讯地图提示未添加maps模块

uniApp使用腾讯地图&#xff0c;打包提示未添加maps模块解决方案 这是报错信息&#xff0c;在标准基座运行的时候是没问题的&#xff0c;但是打包后会提示未添加&#xff0c;可以通过在mainfest里面把地图插件上腾讯地图的key更换高德地图的key&#xff0c;定位服务可以继续用腾…

Deepin/Linux clash TUN模式不起作用,因网关导致的问题的解决方案。

网关导致的问题的解决方案 查看路由 ip route寻找默认路由 默认路由应当为Mihomo default dev Mihomo scope link 如果不是&#xff0c;则 sudo ip route add default dev Mihomo在clash TUN开关状态发生变化时&#xff0c;Mihomo网卡会消失&#xff0c;所以提示找不到网卡…

scala中正则表达式的使用

正则表达式&#xff1a; 基本概念 在 Scala 中&#xff0c;正则表达式是用于处理文本模式匹配的强大工具。它通过java.util.regex.Pattern和java.util.regex.Matcher这两个 Java 类来实现&#xff08;因为 Scala 运行在 Java 虚拟机上&#xff0c;可以无缝使用 Java 类库&…

apache应用(客户机地址限制、用户授权限制、日志分割、AWStats日志分析)

目录 一、 客户机地址限制 二、 用户授权限制 三、 日志分割 使用rotatelogs分割工具 使用第三方工具cronolog 四、 AWStats日志分析 具体的apache软件安装可以阅读我之前的文章apache安装https://blog.csdn.net/m0_68472908/article/details/139348739?spm1001.2014.300…

护士资格实践题库(含解析)

1.患者女&#xff0c;30岁。诊断类风湿关节炎入院&#xff0c;经使用药物治疗后患者关节疼痛减轻&#xff0c;但出现体重增加、满月脸、向心性肥胖。提示存在何种药物的副作用&#xff08; &#xff09; A.泼尼松 B.环磷酰胺 C.硫唑嘌呤 D.吲哚美辛 E.阿司匹林 【答案】…

网络安全概论——防火墙原理与设计

一、防火墙概述 防火墙是一种装置&#xff0c;它是由软件/硬件设备组合而成&#xff0c;通常处于企业的内部局域网与 Internet 之间&#xff0c;限制 Internet 用户对内部网络的访问以及管理内部用户访问 Internet 的权限。换言之&#xff0c;一个防火墙在一个被认为是安全和可…

接口测试-Fidder及jmeter使用

一、接口测试的基础 1.接口的含义 也叫做API&#xff0c;是一组定义、程序及协议的集合&#xff0c;提供访问一组例程的能力&#xff0c;无需访问源码获理解内部工作细节 2.接口的分类 代码内部的接口&#xff0c;程序模块间的接口&#xff0c;对于程序接口测试&#xff0c;需…

postman设置cookie

postman发送请求的时候&#xff0c;如何顺带cookie? 示例&#xff1a; Cookie: locale_areazh; contryzh_cn;