nanopore测序技术专题(六):测序错误率太高无法使用?

十二年前,你嫌illumina测序错误率高,不愿第一个吃螃蟹;七年前,你嫌pacbio的错误率高,觉得应该在等等;四年前,你担心国产的BGIseq错误率高,不愿尝试;现在你还是害怕nanopore测序错误率高,怕投入失败,决定还是坚守二代,等后面测序质量提高的吧。对不起,“君生我未生,我生君已老”。而且不仅为你写诗,还为你点歌:爱一个测序仪好难……

测序错误太高怎么办
按我对测序仪的评价标准,准确性第一位,测序读长第二位,然后是通量,价格,建库测序简易型。为什么准确性第一位,因为如果碱基准确,会给数据分析带来极大的便利。如果准确性高,也无需进行特别特别高深度测序了,现在数据分析中很多算法都是为了处理错误率的问题,比如利用kmer的方法进行拼,GATK中的BQSR以及VQSR,如果测序准确性高,可以省略掉这些过程,极大的节约时间和成本。然后目前,完美的测序仪是不存在的。按照大家固有的印象,一代准,二代多,三代长。有些人一听到10-15%的错误率就被吓得望而却步,其实不用这样。一个好的科学家能够根据每一种平台数据的特点,有针对性的应用,化腐朽为神奇。而不必一棒子打死一个测序平台。如果基因组能够从头测到尾部,准确性100%,你就可以长期休假了。目前测序市场上有各具特色的测序仪可供选择,其实挺好的。正所谓“一花独放不是春,百花齐放春满园”。

测序为何有错误
前面推文我们介绍过,测序仪其实是通过将化学碱基放大为光信号,溶液PH值变化信号,电信号等来进行识别。然而DNA碱基太小,同时化学结构又相似,因此不容易识别。传统的sanger测序,基于链终止反应。能够让一段长度为N的DNA,最终切割成1-N长度的序列,每个长度带一个荧光基团,然后通过跑胶并识别荧光基团来识别碱基。因为通量低,这种方法比较容易,人为即可识别出碱基,因此,准确性较高,可以答到万分之一的水平。高通量测序时代,由于一次要同时并行处理百万级别以上条数的DNA序列,需要对每一条进行多次PCR扩增,通过同时读取碱基荧光信号,最终对拍摄的照片进行处理。由于测序反应到后期,容易出现某个碱基插队(pre-phasing)或者掉队(phasing)的情况,给荧光信号带来干扰,导致碱基识别的准确性降低,因此,二代测序的准确性较一代偏低,不过依然可以达到千分之一的水平。而pacbio由于采用单分子测序,单个碱基的信号较弱,容易读取错误,不过由于采取滚环多次测序,而且测序错误随机分布,后期可以进行校正,大大提高准确性。

nanopore测序错误来自哪里
前面我们介绍过nanopore测序的原理,主要是利用一个马达蛋白穿过纳米孔,通过记录碱基穿过纳米孔时电流信号的变化来识别碱基。还是同样的道理,碱基电流太微弱,同时化学结构又相似,因此,你要知道这个技术难度很大。而且你要知道更重要的事情是,读取碱基并不是每次读取一个碱基,如果这样的话,最终只有四种电流图,那就容易识别了。像一代测序一样四种峰图,二代测序四种波长光。纳米孔的探测区的长度约4-6个bp,因此实际上记录的是:当时通过该区段的那4-6个碱基片段共同引起的电流信号改变。那么四种碱基,4-6个组合,理论上来说应该有4的4,5,6次方组合,一共5376种组合。这就给碱基识别带来了比较大的困难。碱基识别本质上就是分类器,属于有监督学习,需要开发合适的分类算法来进行识别。因此,我们来看到nanopore经常发布新的碱基识别算法,比如目前使用的基于神经网络算法(RNN)的碱基识别。

(以上说好听起来好像很有道理,其实都是我猜测的,如有雷同,可能我猜对了,哈哈哈……)

那么不能让每次读取的碱基数目相同吗,比如每次刚好4个,1个当然最好了,谁不想呢?但肯定很难做到,因为每秒钟读取碱基数目450bp并不是恒定的,没办法保证每次读取固定数目碱基组合。那么这就会对一种特殊的序列组合产生影响,例如基因组上的同聚物Homopolymer(也叫做均聚物),单一碱基重复的区域(例如AAAAAAAAAA),这样的区域基因组上还不少,读取头无法很好地判断其重复区间的长度。因此目前的纳米空测序这种小的InDel很多。

如何改进
由于纳米孔测序的错误是随机分布的,没有碱基偏好性,因此对于短小变异的检出都推荐增加测序深度来进行判断和纠正。但是目前对于碱基重复的均聚物的读取正确率缺乏好的策略。但是也不是毫无希望,目前主流的R9.4.1版Flowcell中纳米孔含1个读取头,而新研发的R10版Flowcell的纳米孔配有双读取头,探测区更长。有助于解决homopolymer区的错误率问题。

在软件算法方面,采用最新的成为flip-flop的算法。“flip-flop”原本形容穿拖鞋走路时啪嗒啪嗒的声响,这里用来比喻对重复碱基的标记的上下翻转记号。简单说,默认将序列标记为(+),而每遇到相同碱基的时候就翻转一下,给一个(-)的标记,下一个如果还是重复的就再反转回来,标记为(+)。这样在basecalling的最后阶段,根据带(+)(-)标记就能更准确区别出相同碱基的个数,从而提高Homopolymer区读取的正确率。

二代与三代错误率比较
下面我们拿真实的数据,对二代与三代的测序错误率进行比较。同样的样品分别采用illumina测序与MiniION测序,将测序数据分别比对到近源参考序列上,然后可视化数据。通过可视化,可以看每个位点测序的细节。这里面只是拿一个案例来作为演示,不同样品不同数据可能会有所不同,由于nanopore测序更新比较快,后面产出的数据可能会有很大的不同。

下图为illumina测序数据可视化,图中亮点是与参考序列不同的碱基,可能是测序错误,也可能是SNP,此图中的亮点并不多,而且可以通过高深度测序来进行排除。

下图为nanopore测序数据可视化,同理,亮点为错配位点,图中错配亮点较多,而且有很多连续的错配位点。

仔细观察这些亮点,处理错配碱基,很大一部分为空位,这就是小的InDel。

nanopore测序技术专题(六):测序错误率太高无法使用?相关推荐

  1. im即时通讯源码_IM消息ID技术专题(六):深度解密滴滴的高性能ID生成器(Tinyid)

    1.引言 在中大型IM系统中,聊天消息的唯一ID生成策略是个很重要的技术点.不夸张的说,聊天消息ID贯穿了整个聊天生命周期的几乎每一个算法.逻辑和过程,ID生成策略的好坏有可能直接决定系统在某些技术点 ...

  2. nanopore测序技术专题(一):为什么要选择nanopore测序?

    为什么要选择nanopore测序技术,这是因为nanopore测序技术具有一些无与伦比的优势,可以解决很多技术难题.主要包括,超长读长,DNA/RNA直接测序,真正的实时性,无需对测序设备的资金投入, ...

  3. nanopore测序技术专题(二):一些典型应用

    WX众号:基因学苑 Q群:32798724 更多精彩内容等你发掘! 前面一篇推文我们介绍了nanopore测序技术的一些显著优势,简单来说就是长读长.高产出.便携.实时.易用.直接.基于这些特点,在基 ...

  4. 二代测序技术之illumina测序技术原理简介

    现今的生信领域几乎就是和无数的序列打交道,而这些序列的来源就是如今风靡的高通量测序技术,现今的测序不论是测RNA.DNA.miRNA还是ChIP-Seq等等,都是基于NGS(二代测序,next-gen ...

  5. 「架构技术专题」如何构建网站高可用架构(详细分析篇)?(6)

    网站的可用性(Avaliability)描述网站可有效访问的特性. 1.网站可用性的度量与考核 网站不可用时间(故障时间)=故障修复时间点-故障发现(报告)时间点 网站年度不可用时间=(1-网站不可用 ...

  6. 基于RNA测序技术的转录组从头拼接算法研究

    基于RNA测序技术的转录组从头拼接算法研究 摘要: 生物信息学主要研究分子生物学领域,而对于分子生物学领域,转录组的从头拼接又是其核心内容,即利用转录组的测序片段拼接出整个转录组中的所有表达的转录体. ...

  7. 基因测序3——三、四代测序技术来势汹汹,国产化仍在布局二代测序?

    基因测序3--三.四代测序技术来势汹汹,国产化仍在布局二代测序? 和义广业创新平台 为医械创新创业者提供一站式产业转化服务 取消关注 1 人赞同了该文章 导读 [行业分析]基因测序系列,将聚焦基因测序 ...

  8. 高通量测序技术和序列拼接算法探析

    高通量测序技术和序列拼接算法探析 时间:2019-05-27 来源:计算机科学 作者:周卫星,石海鹤 本文字数:16853字 摘    要: 高通量测序 (High-throughput Sequen ...

  9. 基于三代测序技术的微生物组学研究进展

    基于三代测序技术的微生物组学研究进展 2020-09-04 09:16 微生物通常指一切难以用肉眼观察到的微小生物, 包括细菌.病毒.古菌.真菌以及一些微小的原生生物.微生物体积微小.结构简单, 却又 ...

最新文章

  1. 机器学习与统计学的争论,有意义吗?
  2. 《计算机网络课程设计(第2版)》——3.4节课程设计分析
  3. java gpg_gpg的使用
  4. 怎么在服务器中修改sql权限设置密码,SQL server数据库的权限设置
  5. 郭雷:让反馈控制“对付”智能时代不确定性
  6. Lua解析器管理器(封装解析器通用函数(销毁解析器,垃圾清理),通过ab包加载lua文件的加载器)
  7. java实现压缩包嵌套压缩包的下载
  8. html作品使用说明,使用说明html模板
  9. php转foloat,PHP: Descrierea directivelor de bază ale php.ini - Manual
  10. CF Stressful training优先队列加二分搜答案
  11. BUAAOJ989 御坂御坂 约瑟夫环
  12. map的insert返回值
  13. 输入一个已经按升序排序过的数组和一个数字, 在数组中查找两个数,使得它们的和正好是输入的那个数字。
  14. Windows Forms 2.0 Programming 花边(002)——失算!第一章的下马威
  15. Acme Cad Dwg 转换 设置字体
  16. 一起做激光反光板(二)-EKF定位公式推导-扩展状态空间
  17. JavaScript学习手册(55)
  18. 软件著作权登记申请分公司可以作为著作权人申请软件著作权登记证书吗??怎么申请呢?需要提供资料?
  19. latex 箭头上带_latex 字母上箭头
  20. python爬取东方财富网,并将数据导入mysql

热门文章

  1. python tkinter画笑脸_Python3 Tkinter基础 Canvas create_line 画实线与虚线
  2. 面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)...
  3. 一文详解目标跟踪中的相关滤波
  4. 单摄像头+深度学习实现伪激光雷达,代码已开源
  5. SpringMVC基于框架编写CommDao类---findList
  6. Java调用mysql的存储过程
  7. java-web分层2-Bean和业务层
  8. B1059 C语言竞赛
  9. 计算图像的标准差与方差(meanStdDev() 函数)
  10. NetworkX玩一下 --update@2017.06.28