PBcR - 纠错及组装算法
单分子测序reads(PB)的混合纠错和denovo组装
我们广泛使用的PBcR的原始文章就是这一篇
原文链接:Hybrid error correction and de novo assembly of single-molecule sequencing reads
简介:PBcR里面有一种自纠算法(PacBioToCA),纠错的核心本质就是多重序列比对,为了加快比对速度使用了MHAP算法(MinHash)。三代的错误分布不是完全随机的,不要以为错误是均匀分布的!!!
摘要:
PB技术可以产生极长的reads,可以显著提高基因组和转录组的组装。
然而,单分子测序的reads的error rate非常高,这限制了它们在重测序方面的应用。
为了解决这个问题,我们创造了PBcR这个纠错算法和组装策略:使用短的、高精准度的reads 来校正单分子测序reads中的错误。
我们在PB RS平台证明了这个算法的实用性,从噬菌体、原核、真核;从基因组到转录组。
我们的长reads纠错达到了99.9%的base-call accuracy,从而使得组装的效果比当下的策略更好。
在最好的栗子里,三代的组装结果的contig的N50是二代的组装结果的五倍。
前言:
二代技术:454焦磷酸测序,Illumina边合成边测序,低成本,高通量;相较于一代的sanger测序。
二代的明显的缺点:测序之前,源DNA需要扩增,会引入偏差;reads短,导致组装和分析困难。
三代,单分子,实时测序,无偏差,reads长,周期短,有利于denovo的基因组和转录组组装,可以解决复杂的重复,可以跨越基因的整个转录本。
然而,三代只有82.1%~84.6%的准确率,主要由insertion和deletion造成(Supplementary Fig. 1).
如此高的错误率会严重影响reads的比对,双序列比对会double错误率,远超过5%~10%的组装软件的承受范围;简单的增加alignment sensitivity是不可行的。(Supplementary Table 1 and Supplementary Figs. 2 and 3).
此外,PacBio技术使用了发卡接头hairpin adaptors 来对双链double-stranded DNA进行测序,这将会导致嵌合体chimeric reads ,如果测序反应进行到DNA的两条链,
虽然你在PacBio RS上可以通过多次读取一个环状分子(circular consensus or CCS) 来生成高准确度的reads,这种方法降低了reads的长度,受分子被遍历的次数影响,导致了一个更短的reads,因此长的single-pass reads有一个很大的潜在的优势,如果可以从算法层次上管理错误率。
为了克服单分子测序数据的限制,解锁它在denovo组装上的全面的潜能,我们开发出了一套方法来利用短的、高精确度的序列来纠正 长的、单分子的内在错误(Fig. 1).
PBcR单分子reads纠正和组装方法:
a)黑线表示错误,粉红色条表示single-pass PacBio RS reads,这很难检测reads之间是否有overlap;
b)将高保真短读长reads比对到容易出错的长reads,之所以可以计算出准确的比对结果,是因为短长是长长错误的一半。短reads上的黑线表示比对错误,是短reads和长reads之间共同的错误。此外,两个不精确的重复导致短reads的堆积,为了避免reads比对的错误,算法选择了一个cutoff,C 前C的留下,后C的丢掉。(PB上高错误的区域Hiseq也是比对不上的)
c)留下来的比对用来生成一个新的consensus 序列(紫色),trimming and splitting长reads,如果有短reads有gap(在没有覆盖度的地方任务截断了,绝对有假阳性,因为二代测不到GC特殊区域)。测序错误会传播给PBcR,当PB和Hiseq有共同的错误。
d)纠错后,可以很容易的检测出long PBcR sequences的overlap。
e)组装结果可以跨过重复,那些短reads无法跨过的地方。
注:PB中的无效区域是肯定存在的,可以直接通过Hiseq的覆盖度信息去除(不要切断中间),可能还要考虑GC区域才会完美。
嵌合体怎么解决,还是在组装时会自动解决。
我们的PBcR(PacBio corrected Reads)算法作为Celera Assembler的一部分,截断和纠正单独的单分子reads,通过首先将短reads 比对到长reads上来计算一个高度准确 混合consensus 序列:提高了reads的准确度从80%到了99.9%。
然后,纠正了的混合PBcR reads可以来单独进行denovo组装,或者结合其他数据,或者导出来做其他应用。
下面将会展示几个重要的基因组,包括之前没有测序的1.2-Gbp。incorporation of PacBio data using this method leads to greatly improved assembly quality versus either first- or second-generation sequencing, indicating the promise of ‘third-generation’ sequencing and assembly.
结果
长reads的denovo组装
纠错准确度和结果
混合denovo组装
长read的覆盖度对组装的影响
鹦鹉基因组的组装结果
单分子RNA-Seq纠错
讨论
方法
待续~
PBcR - 纠错及组装算法的更多相关文章
- 三代PacBio reads纠错 - 专题
三代纠错的重要性不言而喻,三代的核心优势就是长,唯一的缺点就是错误率高,但好就好在错误是随机分布的,可以通过算法解决,这也就是为什么现在有这么多针对三代开发的纠错工具. 纠错和组装是分不开的,纠错就是 ...
- 基因组Denovo组装原理、软件、策略及实施
目录 1. 组装算法 1)基于OLC算法 2)基于DBG算法 3)OLC vs DBG 2. 组装软件 3. 组装策略 4. 组装项目实施 1)测序前的准备 2) 测序样品准备 3)测序策略的选择 4 ...
- Falcon:三代reads比对组装工具箱
主页:github: PacificBiosciences/FALCON 简介 Falcon是一组通过快速比对长reads,从而来consensus和组装的工具. Falcon工具包是一组简单的代码集 ...
- SOAPdenovo组装软件使用记录
背景: 1.为什么要从头测序组装基因组? 基因组是不同表型的遗传基础:获得参考基因组是深入研究一个生物体全基因组的第一步也是必须的一步:从头测序组装能够对新的测序物种构建参考基因组: 2.为什么要研究 ...
- 海量数据去重之SimHash算法简介和应用
SimHash是什么 SimHash是Google在2007年发表的论文<Detecting Near-Duplicates for Web Crawling >中提到的一种指纹生成算法或 ...
- NECAT组装ONT long reads
NECAT 可用于ONT数据的纠错,组装,如果想对ONT long reads进行call SV,也可以使用necatsv. githup网址:https://github.com/xiaochuan ...
- 【Python小试】计算目录下所有DNA序列的Kmer并过滤
背景 Kmer是基因组组装算法中经常接触到的概念,简单来说,Kmer就是长度为k的核苷酸序列.一般长短为m的reads可以分成m-k+1个Kmer.Kmer的长度和阈值直接影响到组装的效果. Deno ...
- IP分片重组的分析和常见碎片攻击 v0.2
IP分片重组的分析和常见碎片攻击 v0.2http://www.nsfocus.net/index.php?act=magazine&do=view&mid=584 作者:yawl ( ...
- Java资源大全中文版(Awesome最新版)(转载)
原文地址:http://www.cnblogs.com/best/p/5876559.html 目录 业务流程管理套件 字节码操作 集群管理 代码分析 编译器生成工具 构建工具 外部配置工具 约束满足 ...
随机推荐
- 周记:Linux下C编程
也啥都没干,计划一个都没干.吼吼-- 周六去看[21天学通Linux_C编程]笔记: 突然都对这本书没信心了.刚开始,就出现的不满如下:1.创建vim启动器时候,类型要选择[终端下的应用程序]没说,虽 ...
- resx文件在X64位编译,提示“未能加载文件或程序集”的问题?
原文:resx文件在X64位编译,提示"未能加载文件或程序集"的问题? resx文件在X64位编译,提示"未能加载文件或程序集"的问题? 解答: 错误现象如下 ...
- [转]使用Gradle发布Android开源项目到JCenter
转自:http://blog.csdn.net/maosidiaoxian/article/details/43148643 使用Gradle发布Android开源项目到JCenter 分类: G ...
- php日期时间函数和数学函数
<?php //第一部分:日期和时间函数 ----------------------------- time(); //int time(void),返回当前时间的时间戳 mktime(); ...
- 夺命雷公狗-----React---3--标签的规则
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- WMI资料汇总
简介 http://technet.microsoft.com/zh-cn/library/ee692772.aspx#E5IAC 主页 http://msdn.microsoft.com/zh-cn ...
- mysql 允许远程登陆
参考:http://blog.chinaunix.net/uid-23215128-id-2951624.html 1.以root账户登录 2.grant all PRIVILEGES on disc ...
- android录像增加时间记录(源码里修改)
需要做一个功能,录像和播放时都显示录时的时间,参考文章链接找不到了,不好意思,这里记录一下,防止下次找不到了.另一篇关于源码录像的流程请参考 http://www.verydemo.com/demo_ ...
- Linux phpbb论坛的安装(中文版)
1:建立文件夹
- EntityFramework Core 学习笔记 —— 包含与排除属性
原文地址:https://docs.efproject.net/en/latest/modeling/included-properties.html 在模型中包含一个属性意味着 EF 拥有了这个属性 ...