zd200572的个人博客分享 http://blog.sciencenet.cn/u/zd200572

博文

(译)flexbar3.0--单指令多数据(SIMD)和多核并行

已有 3897 次阅读 2017-12-22 09:15 |个人分类:biology|系统分类:博客资讯| ngs

文章原文:https://www.ncbi.nlm.nih.gov/pubmed/28541403

1.摘要

高通量测序仪可以一次运行处理多个样品。 对于Illumina系统中,测序reads分别用额外的DNA标签(barcode)标记。 因此条形码和接头序列的识别在下一代测序数据的分析中通常是需要的。 Flexbar根据barcode进行样本测序数据的修剪和分离。 现代测序仪上生成大量数据要求这个预处理尽可能地高效完成。

我们展示了flex bar 3.0,它是流行程序flexbar的继承者。它现在采用了双重并行性:多线程和SIMD矢量化。这两种类型的并行性都用于加速用于检测barcode和接头的成对序列比对计算。此外,还提供了新功能,以涵盖各种应用。我们基于模拟序列数据集评估了Flexbar的性能。我们的程序在速度方面超过了一些工具,并且是所呈现的质量基准中最好的工具之一。

软件源代码:https://github.com/seqan/flexbar

简介:barcode和接头序列检测和移除是短读序列数据分析中的常见任务。barcode用于在一个测序lane上检测多个样本,并用于随后分离所获得的数据。接头污染源于比测序reads短的文库片段。这将导致机器读入目标片段后面的接头序列。因此,从测序数据中移除这些接头以防止它们干扰进一步的分析(例如比对和组装)是非常重要的。这在短RNA测序的情况下特别重要,因为分子通常比读取长度短。因此,许多接头序列在处理之前仍然存在于这样的数据集中。

对于基于barcode的测序数据分离和接头的去除,必须以容错的方式识别序列,因为测序仪会产生错误,参见(Minoche等2011年)。我们的流行软件flexbar (Dodt等2012)通过计算barcode或接头和顺序读取的完全重叠对齐来解决这一问题。然后,检测到的barcode和接头被移除,并且barcode被用于分离读取。此外,flexbar支持成对读取,并提供进一步的读取过滤和质量控制功能

有许多工具具有相同的功能。trimm  omatic (Bolger等2014年)和cutadapt (Martin,2011年)是此类工具众所周知的示例。近年来,发表了进一步的接头修剪程序,例如PEAT (Li等,2015 )和skewer (Jiang等,2014年)。随着时间的推移,我们扩展了flexbar,并重新编写了关键部件,从而形成了一个新版本,该版本具有更多选项,比以前发布的版本快数倍。

2.方法

Fexbar是用c++编写的,并使用SeqAn库( dring等,2008)进行序列分析。多核并行化是使用TBB库(英特尔线程构建模块)实现的。每个线程对一组成对的读取操作。Fexbar现在还使用SIMD (单指令多数据)矢量化来利用扩展指令集(如现代CPU体系结构的SSE、AVX和avx2)的功能。根据支持的SIMD扩展(128到512位),可以向量化4到16个计算。SIMD机制使用数据级并行进行对齐,这意味着并行计算多个动态编程矩阵。这导致了除了多线程之外,用于在单个核的寄存器级上并行计算对准的又一层。通过这些方法,程序的性能关键比对部分可以通过提高速度来实现。用于对齐的SIMD加速动态编程模块由SeqAn库的最新版本2 . 2 .0提供。此模块用于flex bar3.0中的SIMD对齐。该模块的实施基于Rognes (2011年)。

除了集成SIMD之外,我们还优化了Flexbar3.0的源代码,以提高速度,例如批量输入读取。进一步扩展了基于质量的裁剪模块。我们改进了结果统计并添加各种其他选项,以提高灵活性,例如扩展barcode位置控制。不再支持颜色空间数据。在比对功能、数据类型、输入和输出操作下,flexbar使用SeqAn库的参数解析器在命令行上提供干净的用户界面。

此外,我们还扩展了Flexbar的功能,这些功能很少发现,但很方便。基于条形码的数据分离现在还能处理用于PE读取的双条形码。在这种情况下,条形码分布在读取对的两端,并用于样品识别。对于条形码和接头,通配符N现在可用于指示序列中包含不同核苷酸的位置,例如在UMI(唯一分子标识符)的情况下使用。条形码或适配器的N个位置处的这些核苷酸可被捕获并作为读取名称的一部分提供给下游处理。该信息可用于例如区分读取折叠流程中的PCR重复。

3.结果

通过适配器修剪对Flexbar3.0的性能进行评估。我们使用BBTools套件( SourceForge.net/projects/bbmap )中的工具randomreads和adddapters模拟了100万次读取和适配器。使用秀丽隐杆线虫基因组( Ensembl release 86)作为读取模拟的参考。使用add dapters测量工具的精度和灵敏度,对修剪质量进行评估: trimomatum、BBDuk ( BBTools软件包的一部分)、PEAT、Skewer、cutadapt和Flexbar3.0。结果与修剪后的读取次数一起列于表1中。在适配器移除步骤之后,读取被限制为包含至少20bp。flex bar3.0的处理时间显示在表1和图1中,用于单个内核和工具的选择。本图中还包括我们以前出版物中的flex bar2.3。在2.93 GHz的16核专用英特尔至强x5570计算机上进行了基准测试。

4.讨论

flexbar3.0在单核模式下的速度几乎是以前版本的10倍,请参见图1。Skewer的速度与flexbar3.0相同,它的速度稍慢,PEAT的速度相对较长。trimomatic和bb Duk的速度是flex bar的两倍,但它们的修剪质量低于Skewer、cuta dapt和flexbar。这三个程序在质量测试中具有最高的准确度和灵敏度,见表1。在精度、灵敏度和观察到的运行速度方面,PEAT位于下端。总之,flexbar3.0是一个非常快速的barcode和接头检测解决方案,它使用SIMD多核并行计算。与此同时,flexbar具有出色的修剪质量,如带有接头的模拟序列数据基准测试所示。只有Skewer具有相同的质量和速度水平。但是,flexbar提供了更多与条形码相关的功能,例如UMI支持。

我的个人博客:http://blog.zd200572.comwww.zd200572.com




https://blog.sciencenet.cn/blog-623545-1090907.html

上一篇:kindle dx当显示器,凑合着用吧
下一篇:简易tcga下载脚本
收藏 IP: 180.111.114.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-20 05:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部