专业 靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > 基因序列软件开发过程中的大数据Spark技术应用!

基因序列软件开发过程中的大数据Spark技术应用!

2017-08-01 21:42:40

生命科学方兴未艾, 从食品工业中的细菌培养鉴定到癌症快速诊断,基于 DNA 分析的应用不断出现,但同时基因分析应用也面临着很大挑战;许多新技术、新方法被应用到基因序列分析应用中,包括 Spark、FPGA 以及 GPU 协处理器加速等,这些技术的应用不仅能够使大部分生命科学领域的应用,包括开源和 ISV 软件,在不需要复杂的 MPI 编程情况下实现并行化处理,同时 Spark 内存内计算技术也能够提高分析效率,加速工作流程, 缩短分析时间,从而有更多新的发现。本文将介绍如何利用 Spark 技术运行常用的基因序列分析应用,包括在 Spark 不同模式下的运行方法, 运行过程以及运行结果分析,并比较在不同运算平台以及不同运行参数情况下的性能和加速比。 
1. 基因序列分析工作流 
基因序列分析工作流以 GATK 的很好实践为标准。它以最初的 FASTQ 文件为输入,从 BWA-mem 测序到 GATK 的 HaploTyperCaller,完成对整个样板的测序分析。 
图片描述
图 1、GATK 很好实践 
在测序工作流的第一阶段,BWA-mem 对输入文件 FASTQ 执行比对,生成序列比对和映射文件 SAM,然后通过 SortSam 生成一个经过排序的 BAM 文件,实际上,BAM 文件是 SAM 文件的二进制形式,此后的处理均基于 BAM 二进制文件。 
BAM 文件传送给 Picard 工具 MarkDuplicates, 去除重复的片段,并生成一个合并的、去除重复片段的 BAM 文件。以下的几步,RealignerTargetCreator、IndelRealigner、BaseRecalibrator、PrintReads 和 HaplotypeCaller 都是 GATK 的一部分,是对高吞吐序列数据进行分析的软件包。 
图片描述
图 2、基因测序工作流分解 
序列分析的主要工作是数据前处理,经过处理的数据可以为后续的分析工作所调用。前处理阶段,比对和排序是计算密集且比较耗费时间的过程,尽管通过多处理器或多线程的方式可以提高效率,但是在实际工作中由于计算方法的复杂程度以及需要分析的数据量迅速增加,当前一个分析过程仍然可能花费超过 1 天时间,费用从 200 美元到 600 美元不等。Spark 技术可以将串行的分析并行化,将数据分段优化并进行动态负载均衡以提高效率。

 

关于:中科研拓

深圳市中科研拓科技有限公司专注提供软件+硬件结合系统解决方案定制开发服务,其中包括:软件外包软件开发软件定制、硬件开发、硬件定制、智能硬件开发、物联网项目等开发外包服务,通过IT技术实现创造客户和社会的价值,成为优秀的软件公司,通过客户需求导向、开放式创新、卓越运营管理等战略的实施,全面打造公司的核心竞争力。优秀软件外包公司、软件开发公司,联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com


  上一篇   [返回首页] [打印] [返回上页]   下一篇