BioInf-Wuerzburg/proovread - Github

主要是来解读 proovread 发表的文章,搞清楚它内在的原理。

Proovread,这个工具绝对没有你想的那么简单,它引入了很多局部模型,而且在总体设计上也是很有眼光的。

原文:proovread: large-scale high-accuracy PacBio correction through iterative short read consensus

摘要

动机:目前边合成边测序的二代技术占主导,虽然准,但太短,导致分析困难。近期,SMRT可以解决这个问题,它生产超长的reads。但是高错误率阻碍了SMRT的应用,因此,混合利用SR和LR的方法已经开发出来了,但是目前的实现方法都太依赖硬件,不好。这限制了它的应用。

结果:我们开发了一个混合纠错流程,能灵活地运行与普通台式机和大型集群,在基因组和转录组的测试中,准确度高达99.9%,胜过现有的所有混合纠错软件,而且更长量多。

引言

过去十年,二代改写了测序的历史,Today, a single run of a HiSeq2500 can generate as much as 600Gb high-quality output data, which covers a human genome 200. 但是,太短,不好组装,尤其是重复区域。因此,大量的SR组装软件出现了,Allpath-LG (Gnerre et al., 2011), the Celera Assembler (Miller et al., 2008; Myers et al., 2000) and SOAPdenovo (Li et al., 2010).

比SR长的重复不能被解决,目前的好的组装方案是,联合short reads和long insert libraries和额外的fosmid测序。

但是,SMRT出现了,With the latest chemistry, this approach delivers reads44 kb. 而且无偏向性,Their third-generation sequencer, PacBio RS II, generates to date up to 400Mb per sequencing run.

LR 的准确度太低,二代99%,而三代只有80%-85%,而且错误分布模型也不同,Although Illumina reads mainly contain miscalled bases with increasing frequency toward read ends, SMRT generates primarily insertions (10%) and deletions (5%) in a random pattern (Ross et al., 2013).  SMRT可以CCS,但这同时也减少了reads的长度,从而失去了三代的优势。

目前有两种方法用于SMRT的校正:

(i) The hierarchical genome-assembly process (HGAP) uses shorter SMRT reads contained within longer reads to generate pre-assemblies and to calculate consensus sequences (Chin et al., 2013). (缺陷:coverage of 80 to 100)

(ii) PacBioToCA (Koren et al., 2012) and LSC (Au et al., 2012) use Illumina SRs in a hybrid approach to correct SMRT reads. These approaches result in higher quality LRs.(需要大量计算资源,PacBioToCA lost >40%数据,LCS只能转录组,WGS集成,不好调用)

本方法优点:

(i) run on standard computers as well as computer grids and

(ii) can be easily adapted to different use cases.

Obviously, these objectives should not be at the cost of accuracy, length of corrected reads or throughput.

实现

Mapping—sensitive and trusted hybrid alignments

比对 - 敏感的可信的混合比对

比对是一个大问题,尤其是二代比三代,绝对不能用现有的比对模型来比对。

本软件基于以下假设设定了一套独特的比对得分体系:

(i) The expected error rates for SMRT sequencing are 10% for insertions and up to 5%for deletions (Ono et al., 2013; Ross et al., 2013). Thus, the costs for gaps in the LR, which correspond to deletions, are about twice as high as for gaps in the SR, which represent insertion.

(ii) Substitutions are comparatively rare (1%). This is reflected by a mismatch penalty of at least 10 times the cost of SR gaps.
(iii) The distribution of SMRT sequencing errors is random. Hence, contrasting to biological scenarios, continuous insertions or deletions are less likely, resulting in higher costs for gap extension than for gap opening.

本软件使用SHRiMP2作为首选,Its versatile interface allowed us to completely implement the hybrid scoring model with the following parameters: insertions are the most frequent errors and are penalized as gap open with –1. Deletions occur
about half as often and are thus penalized with –2. Extensions for insertions and deletions are scored with –3 and –4, respectively. Mismatches are at least 10 times as rare, resulting in a penalty of –11 (Supplementary Table S1).

(罚分总结:insertion最多那就open设为1,deletion为它的一般open就设为2,extend代价更高,分别加2,设为-3、-4,mismatch出现概率最低,所以就该多罚,设为-11)

本软件使用Bowtie2作为次选,However, corrections using Bowtie2 lagged延迟 behind owing to a limited set of parameters regarding scoring and sensitivity. 可以自己trim(sickle,https://github.com/najoshi/sickle),corrected SRs(Quake)

比对,自然要区分真比对和假比对,重复区自然会导致reads的堆积,error还会影响比对得分,We therefore assess length normalized scores in a localized context.

引入了Bin的概念:LRs are internally represented by a consecutive series of small bins.

Only the highest scoring alignments of each bin, not the overall highest scoring alignments, up to the specified coverage cutoff are considered for the next step—the calculation of the consensus sequence.

Consensus call with quality computation and chimera detection

Quality and chimera trimming

untrimmed corrected LRs(这不就是我们最终得到的结果吗)

怎么trim,不是想象中的那么简单,熵模型。

Iterative correction

解决 computationally demanding and time consuming 问题

Configuration and customization

The settings include scoring schemes, binning, masking, iteration procedure and post-processing.

Scalability and parallelization扩展性和并行

MATERIALS AND METHODS

RESULTS

DISCUSSION


纠错工具之 - Proovread的更多相关文章

  1. 三代PacBio reads纠错 - 专题

    三代纠错的重要性不言而喻,三代的核心优势就是长,唯一的缺点就是错误率高,但好就好在错误是随机分布的,可以通过算法解决,这也就是为什么现在有这么多针对三代开发的纠错工具. 纠错和组装是分不开的,纠错就是 ...

  2. #20145205 《Java程序设计》第5周学习总结

    教材学习内容总结 1.java中的错误都会被包装为对象这是书上的一句原话,我的理解就是,在java这个大环境中,就像是流水线工厂一样,代码的编译就是进行流水线作业,代码输进来,开始的时候就是打包封装, ...

  3. 3D模型修改

    xnalara模型修改---增添(技术交流贴2) 其实很早就想做这个教程(流程)但有一种叫拖延症的东东捆了我半年~~于是这个帖子诞生与此,,希望对某些骚年有用... 送TA礼物     回复 举报|1 ...

  4. 你应该知道的16个Linux服务器监控命令

    在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE Linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也 ...

  5. WHM使用手册by lin

    WebHost Manager 11使用手册(WHM使用手册) 本手册翻译自cpanel官方文档. 本翻译中文版本版权归美国主机侦探所有,未经允许,禁止复制. Overview(概述) 本用户手册主要 ...

  6. 16个必须熟悉的linux服务器监控命令

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc. == 原文:16 Linux Server Monitoring Comman ...

  7. 16个Linux服务器监控命令

    在不同的Linux发行版中,会有不同的GUI程序可以显示各种系统信息,比如SUSE linux发行版中,就有非常棒的图形化的配置和管理工具YaST,KDE桌面环境里的KDE System Guard也 ...

  8. sublimeText 3使用教程

    工欲善利其事必先利其器,sublime作为一款轻量.便捷的编译工具,集成了很多插件,功能强大,深受大家的喜爱.掌握好sublime的具体用法,必会为你的工作带来极大的便利!好了,闲话不多说了,下面开始 ...

  9. 中文NER的那些事儿4. 数据增强在NER的尝试

    这一章我们不聊模型来聊聊数据,解决实际问题时90%的时间其实都是在和数据作斗争,于是无标注,弱标注,少标注,半标注对应的各类解决方案可谓是百花齐放.在第二章我们也尝试通过多目标对抗学习的方式引入额外的 ...

随机推荐

  1. 7.7 使用rollup子句

    --向rollup传递一列select division_id,sum(salary) from employees2 group by rollup(division_id); --向rollup传 ...

  2. #if 0在代码中的作用

    #if 0在代码中有2个作用. 1.作为行内注释 /**/是多行注释,如果想在/**/里面嵌套一个多行注释,怎么办呢? /* int a=10; /* - (void)test{ NSLog(@&qu ...

  3. 使用Go开发HTTP中间件

    原文地址    再web开发的背景下,"中间件"通常意思是"包装原始应用并添加一些额外的功能的应用的一部分".这个概念似乎总是不被人理解,但是我认为中间件非常棒 ...

  4. 父目录的权限对子目录有没有影响?[Linux]

    问题源头: 登录到服务器(实验室分的一个服务器账号)上,想在当前目录下创建一个文件,但提示“文件系统只读”,无法创建文件.通过ls -l 查看当前用户在当前目录的权限,发现具有rwx权限.所以在想会不 ...

  5. 简单Hosts使用说明

    1.查找hosts文件 首先,点击桌面的"我的电脑",或者是通过开始菜单进入到我的电脑. 之后,进入到"C:\Windows\System32\drivers\etc&q ...

  6. servletFileUpload

    引用:http://bbs.csdn.net/topics/390290685?page=1 Java code? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

  7. 新建Java文件的 文档注释

    /** * <br> * ============================================= * * @author : Liuyc * @company : 版权 ...

  8. Tomcat JSP提交参数中文乱码问题解决

    参考: http://blog.csdn.net/error_case/article/details/8250209 中文乱码是个老生常谈的问题,一般情况下,只要保证页面,web服务器,数据库的编码 ...

  9. Together

  10. configure.ac:32: error: possibly undefined macro: AC_DEFINE

    在ubuntu 下编译snappy时,在检查依赖关系时,处理autoconf的包时,在相关依赖包都已经安装的情况下,报如下错误,死活不过. configure.ac:32: error: possib ...