CN110136777A - 一种基于Spark框架的重测序序列比对方法 - Google Patents
一种基于Spark框架的重测序序列比对方法 Download PDFInfo
- Publication number
- CN110136777A CN110136777A CN201810133759.5A CN201810133759A CN110136777A CN 110136777 A CN110136777 A CN 110136777A CN 201810133759 A CN201810133759 A CN 201810133759A CN 110136777 A CN110136777 A CN 110136777A
- Authority
- CN
- China
- Prior art keywords
- sequence
- rdds
- resurveyed
- sequence alignment
- alignment method
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16B—BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
- G16B30/00—ICT specially adapted for sequence analysis involving nucleotides or amino acids
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Analytical Chemistry (AREA)
- Biophysics (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Biotechnology (AREA)
- Evolutionary Biology (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明涉及计算机科学与生物信息学技术领域,特别涉及一种基于Spark框架的重测序序列比对方法;在本发明中包括三个步骤,分别为RDDs创建步骤、Map步骤和Reduce步骤,先是基于FASTQ文件创建相应的RDDs,并储存在HDFS中;再将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;最后根据处理需求选择是否执行最后的合并阶段;本发明将重测序流程中使用的序列比对BWA集成到Spark大数据处理框架中,通过分布式计算的方式完成重测序的比对流程优化,从而有效提高重测序数据分析的效率。
Description
技术领域
本发明涉及计算机科学与生物信息学技术领域,特别涉及一种基于Spark框架的重测序序列比对方法。
背景技术
全基因组重测序是对已有参考序列(Reference Sequence)的物种的不同个体进行基因组测序,并以此为基础进行个体或群体水平的差异性分析。通过全基因组重测序,研究者可以找到大量的单核苷酸多态性位点(SNP)、拷贝数变异(Copy Number Variation,CNV)、插入缺失(InDel,Insertion/Deletion)、结构变异(Structure Variation,SV)等变异位点,这在人类疾病及动植物育种研究等方面具有重大的指导意义。随着测序成本的降低,可以预见我们将积累大量的生物个体的基因组重测序数据。
随着第二代测序信息技术(Next-Generation Sequencing,NGS)的发展,我们已经能够在很短的时间内完成一个人的全基因组测序,然而,目前NGS测序仪器单次测序通量可达到数十亿DNA序列,对应于数千亿个字节的原始测序数据,并且测序数据产出和测序成本正在分别以远超摩尔定律的速度快速增加和降低,存储与分析这些数据正面临着极大的考验。
在基因组重测序中,有许多基因比对工具如SOAP、BWA、bowtie2等,SOAP是最先出现的基因比对工具,它能够使用较小的计算机内存对基因序列进行比对,但是其对paired-end数据的支持较差,而BWA和bowtie2较SOAP出现的时间晚,但是能够很好地处理single-end和paired-end两种格式的基因测序数据,在数据处理速度方面,bowtie2较BWA有明显的速度优势,但是准确率略微不足,然而这些比对工具的方法大多基于单节点,目前形势多样、来源不一的测序数据集的预处理、管理和分析已经超出了很多生物信息科学家的能力范围,目前要完成一个病人的全基因组测序数据分析往往需要数天,极大地延缓了后续生命、医学科学研究的进程。
发明内容
为了克服上述所述的不足,本发明的目的是提供一种基于Spark框架的重测序序列比对方法,将重测序流程中使用的序列比对BWA集成到Spark大数据处理框架中,通过分布式计算的方式完成重测序的比对流程优化,从而有效提高重测序数据分析的效率。
本发明解决其技术问题的技术方案是:
一种基于Spark框架的重测序序列比对方法,其中,包括如下步骤:
步骤S1、RDDs创建步骤,基于FASTQ文件创建相应的RDDs,并储存在HDFS中;
步骤S2、Map步骤,将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;
步骤S3、Reduce步骤,根据处理需求选择是否执行最后的合并阶段。
作为本发明的一种改进,在步骤S1内,包括并列的步骤S101和步骤S102;步骤S101用于单端测序序列,步骤S102用于双端测序序列。
作为本发明的进一步改进,步骤S101、通过HDFS文件存储创建相应的RDDs,并以FASTQ文件格式的读取标识符作为RDDs中的键,形成<序列ID,序列内容>的键值对。
作为本发明的更进一步改进,步骤S102、在HDFS上读取和写入的方式对双端数据进行预处理。
作为本发明的更进一步改进,在步骤S102内,通过Spark驱动程序的HDFS Hadoop库直接访问FASTQ文件,完成双端序列的合并且合并成一份新的HDFS文件,并通过添加分隔符的方式来协助区分这两条序列。
作为本发明的更进一步改进,在步骤S2内,包括步骤S201、采取双独立软件层的设计,一个用来对接BWA软件包,另一个负责处理RDDs。
作为本发明的更进一步改进,在步骤S2内,还包括处于步骤S201之后的步骤S202、将输入数据传输进入BWA层,并从Map处采集结果。
作为本发明的更进一步改进,在步骤S3内,根据不同的处理需求选择是否对Map处理记过执行最后的合并阶段。
作为本发明的更进一步改进,在步骤S101内,序列内容包含与序列ID相对应的所有信息。
作为本发明的更进一步改进,在步骤S202,映射的多节点并行及每个单映射过程的多线程并行。
在本发明中包括三个步骤,分别为RDDs创建步骤、Map步骤和Reduce步骤,先是基于FASTQ文件创建相应的RDDs,并储存在HDFS中;再将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;最后根据处理需求选择是否执行最后的合并阶段;本发明将重测序流程中使用的序列比对BWA集成到Spark大数据处理框架中,通过分布式计算的方式完成重测序的比对流程优化,从而有效提高重测序数据分析的效率。
附图说明
为了易于说明,本发明由下述的较佳实施例及附图作以详细描述。
图1为本发明的流程步骤框图;
图2为本发明内步骤S1的内部流程步骤框图;
图3为本发明内步骤S2的内部流程步骤框图;
图4为本发明内Spark框架下序列比对处理流程示意图;
图5为本发明内双段测序序列处理流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
Spark是一个针对超大数据集合的低延迟的集群分布式计算系统,比MapReducer快40倍左右。
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodityhardware)上的分布式文件系统;HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
FASTQ是基于文本的,保存生物序列(通常是核酸序列)和其测序质量信息的标准格式。其序列以及质量信息都是使用一个ASCII字符标示,最初由Sanger开发,目的是将FASTA序列与质量数据放到一起,目前已经成为高通量测序结果的事实标准;FASTQ文件中每个序列通常有四行:第一行是序列标识以及相关的描述信息,以‘@’开头;第二行是序列;第三行以‘+’开头,后面是序列标示符、描述信息,或者什么也不加;第四行是质量信息,其和第二行的序列相对应,每一个序列都有一个质量评分,根据评分体系的不同,每个字符的含义表示的数字也不相同。
如图1所示,本发明的一种基于Spark框架的重测序序列比对方法,包括如下步骤:
步骤S1、RDDs创建步骤,基于FASTQ文件创建相应的RDDs,并储存在HDFS中;
步骤S2、Map步骤,将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;
步骤S3、Reduce步骤,根据处理需求选择是否执行最后的合并阶段。
在本发明中包括三个步骤,分别为RDDs创建步骤、Map步骤和Reduce步骤,先是基于FASTQ文件创建相应的RDDs,并储存在HDFS中;再将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;最后根据处理需求选择是否执行最后的合并阶段;本发明将重测序流程中使用的序列比对BWA集成到Spark大数据处理框架中,通过分布式计算的方式完成重测序的比对流程优化,从而有效提高重测序数据分析的效率。
如图2所示,在本发明中,在步骤S1内,包括并列的步骤S101和步骤S102;步骤S101用于单端测序序列,步骤S102用于双端测序序列;步骤S101、通过HDFS文件存储创建相应的RDDs,并以FASTQ文件格式的读取标识符作为RDDs中的键,形成<序列ID,序列内容>的键值对。步骤S102、在HDFS上读取和写入的方式对双端数据进行预处理。在步骤S102内,通过Spark驱动程序的HDFS Hadoop库直接访问FASTQ文件,完成双端序列的合并且合并成一份新的HDFS文件,并通过添加分隔符的方式来协助区分这两条序列。在步骤S101内,序列内容包含与序列ID相对应的所有信息。
如图3所示,在本发明中,在步骤S2内,包括步骤S201和步骤S202;步骤S201、采取双独立软件层的设计,一个用来对接BWA软件包,另一个负责处理RDDs;步骤S202、将输入数据传输进入BWA层,并从Map处采集结果。在步骤S202,映射的多节点并行及每个单映射过程的多线程并行。
在本发明中,在步骤S3内,根据不同的处理需求选择是否对Map处理记过执行最后的合并阶段。
本发明提供一个实施例,并进行详解:如图4和图5所示,该实施例基于Spark的序列比对流程主要分为三个阶段,分别是RDDs创建、Map以及Reduce。首先通过HDFS文件存储创建相应的RDDs,并以FASTQ文件格式的读取标识符作为RDDs中的键,考虑到测序时会产生单端及双端的测序数据,单端测序中FASTQ文件格式的读取标识符用作RDDs中的键,形成<序列ID,序列内容>的键值对,其中序列内容包含与序列ID相对应的所有信息;而双段测序的两条序列的取标识符相同,通过从HDFS读取和写入对输入文件预处理的方式完成双端序列的合并,并通过添加分隔符的方式来协助区分这两条序列。然后便可以进行第二阶段的Map,Mappers将在RDDs上使用BWA的比对算法并在每个映射过程创建一个输出SAM格式的文件;最后可以根据处理需求选择是否执行最后的合并阶段。
该实施例的具体流程如下:
1、RDDs创建步骤:首先是基于FASTQ文件创建相应的RDDs,并储存在HDFS中;在这一步我们假设HDFS是分布式文件系统,这样,数据就会分布在计算节点上,然后在Map阶段进行并行处理。FASTQ文件格式的读取标识符用作RDDs中的键,形成<序列ID,序列内容>的键值对,其中序列内容包含与序列ID相对应的所有信息,但是这只适用于单端测序序列。针对双端测序序列,拟采用一种直接在HDFS上读取和写入的方式对双端数据进行预处理,通过Spark驱动程序的HDFS Hadoop库直接访问FASTQ文件,双端序列被合并成一份新的HDFS文件,由于BWA比对过程中需要对双端序列的每一条作区分,我们通过添加分隔符的方式来完成区分;在此基础上,我们可以创建RDDs并产生形如<序列ID,合并内容>的键值对。
2、Map步骤:一旦所有的RDDs创建完成,就会进入第二阶段Map;Mappers会将BWA的序列比对算法应用到每一个RDDs上,Map步骤采取双独立软件层的设计,一个用来对接BWA软件包,另一个负责处理RDDs,将输入数据传输进入BWA层,并从Map处采集结果。这样做的好处是可以实现跨集群分布的映射的多节点并行以及每个单映射过程的多线程并行。
3、Reduce步骤:最后可以根据不同的处理需求选择是否对Map处理记过执行最后的合并阶段。
在该实施例中,其将重测序比对软件BWA集成到Spark大数据处理框架中,还提出一种基于HDFS读取写入的预处理方式,解决双端测序两条序列ID读取标识符一样的问题;而且Map步骤中提出一种双独立软件层的设计,实现两层的并行,进一步提高效率;该实施例的两大优势为:一、与使用Hadoop、MapReduce相比,在内存计算策略和先进的DAG调度等机制的帮助下,基于Spark集群的比对可以用更快速度处理相同的数据集;二、重要优势在于多样性,可作为独立集群部署,或与现有Hadoop集群集成;该产品可运行批处理和流处理,运行一个集群即可处理不同类型的任务。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于Spark框架的重测序序列比对方法,其特征在于,包括如下步骤:
步骤S1、RDDs创建步骤,基于FASTQ文件创建相应的RDDs,并储存在HDFS中;
步骤S2、Map步骤,将BWA的序列比对算法应用到每一个RDDs上,同时RDDs进行多节点映射;
步骤S3、Reduce步骤,根据处理需求选择是否执行最后的合并阶段。
2.根据权利要求1所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S1内,包括并列的步骤S101和步骤S102;步骤S101用于单端测序序列,步骤S102用于双端测序序列。
3.根据权利要求2所述的一种基于Spark框架的重测序序列比对方法,其特征在于,步骤S101、通过HDFS文件存储创建相应的RDDs,并以FASTQ文件格式的读取标识符作为RDDs中的键,形成<序列ID,序列内容>的键值对。
4.根据权利要求3所述的一种基于Spark框架的重测序序列比对方法,其特征在于,步骤S102、在HDFS上读取和写入的方式对双端数据进行预处理。
5.根据权利要求4所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S102内,通过Spark驱动程序的HDFS Hadoop库直接访问FASTQ文件,完成双端序列的合并且合并成一份新的HDFS文件,并通过添加分隔符的方式来协助区分这两条序列。
6.根据权利要求5所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S2内,包括步骤S201、采取双独立软件层的设计,一个用来对接BWA软件包,另一个负责处理RDDs。
7.根据权利要求6所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S2内,还包括处于步骤S201之后的步骤S202、将输入数据传输进入BWA层,并从Map处采集结果。
8.根据权利要求7所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S3内,根据不同的处理需求选择是否对Map处理记过执行最后的合并阶段。
9.根据权利要求3所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S101内,序列内容包含与序列ID相对应的所有信息。
10.根据权利要求6所述的一种基于Spark框架的重测序序列比对方法,其特征在于,在步骤S202,映射的多节点并行及每个单映射过程的多线程并行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810133759.5A CN110136777A (zh) | 2018-02-09 | 2018-02-09 | 一种基于Spark框架的重测序序列比对方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810133759.5A CN110136777A (zh) | 2018-02-09 | 2018-02-09 | 一种基于Spark框架的重测序序列比对方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110136777A true CN110136777A (zh) | 2019-08-16 |
Family
ID=67567731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810133759.5A Withdrawn CN110136777A (zh) | 2018-02-09 | 2018-02-09 | 一种基于Spark框架的重测序序列比对方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110136777A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199777A (zh) * | 2019-12-24 | 2020-05-26 | 西安交通大学 | 面向生物大数据的流式传输与变异实时挖掘系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106503235A (zh) * | 2016-11-07 | 2017-03-15 | 云南大学 | 基于Spark平台的XP‑EHH算法的分布式处理实现方法 |
CN106709028A (zh) * | 2016-12-28 | 2017-05-24 | 上海华点云生物科技有限公司 | 高通量测序数据统计方法和统计装置 |
WO2017096941A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
CN107358061A (zh) * | 2017-07-31 | 2017-11-17 | 中国科学技术大学 | 基于Spark和SIMD的弹性分布式序列比对系统及方法 |
-
2018
- 2018-02-09 CN CN201810133759.5A patent/CN110136777A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017096941A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市华讯方舟软件技术有限公司 | 一种基于Spark-SQL大数据处理平台的后台刷新方法 |
CN106503235A (zh) * | 2016-11-07 | 2017-03-15 | 云南大学 | 基于Spark平台的XP‑EHH算法的分布式处理实现方法 |
CN106709028A (zh) * | 2016-12-28 | 2017-05-24 | 上海华点云生物科技有限公司 | 高通量测序数据统计方法和统计装置 |
CN107358061A (zh) * | 2017-07-31 | 2017-11-17 | 中国科学技术大学 | 基于Spark和SIMD的弹性分布式序列比对系统及方法 |
Non-Patent Citations (1)
Title |
---|
魏彦杰等: ""蛋白质折叠计算机模拟研究进展"", 《集成技术》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111199777A (zh) * | 2019-12-24 | 2020-05-26 | 西安交通大学 | 面向生物大数据的流式传输与变异实时挖掘系统及方法 |
CN111199777B (zh) * | 2019-12-24 | 2023-09-29 | 西安交通大学 | 面向生物大数据的流式传输与变异实时挖掘系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schmidt et al. | Next-generation sequencing: big data meets high performance computing | |
Torre et al. | BioJupies: automated generation of interactive notebooks for RNA-Seq data analysis in the cloud | |
US10381106B2 (en) | Efficient genomic read alignment in an in-memory database | |
Hua et al. | Producing genome structure populations with the dynamic and automated PGS software | |
Abuín et al. | SparkBWA: speeding up the alignment of high-throughput DNA sequencing data | |
Agapito et al. | Parallel extraction of association rules from genomics data | |
EP2759952B1 (en) | Efficient genomic read alignment in an in-memory database | |
Ocaña et al. | Parallel computing in genomic research: advances and applications | |
CN106503235B (zh) | 基于Spark平台的XP-EHH算法的分布式处理实现方法 | |
Mrozek et al. | HDInsight4PSi: boosting performance of 3D protein structure similarity searching with HDInsight clusters in Microsoft Azure cloud | |
Lee et al. | Scalable metagenomics alignment research tool (SMART): a scalable, rapid, and complete search heuristic for the classification of metagenomic sequences from complex sequence populations | |
Ponte-Fernández et al. | Fast search of third-order epistatic interactions on CPU and GPU clusters | |
Delehelle et al. | ASGART: fast and parallel genome scale segmental duplications mapping | |
González-Domínguez et al. | Accelerating binary biclustering on platforms with CUDA-enabled GPUs | |
Expósito et al. | SMusket: Spark-based DNA error correction on distributed-memory systems | |
Zheng et al. | A parallel computational framework for ultra-large-scale sequence clustering analysis | |
Hu et al. | Efficiently predicting large-scale protein-protein interactions using MapReduce | |
CN110136777A (zh) | 一种基于Spark框架的重测序序列比对方法 | |
Psiuk-Maksymowicz et al. | A holistic approach to testing biomedical hypotheses and analysis of biomedical data | |
US20170169159A1 (en) | Repetition identification | |
Becker et al. | Memory-driven computing accelerates genomic data processing | |
Okada | Systems biology of protein network | |
Madiajagan et al. | Parallel machine learning and deep learning approaches for bioinformatics | |
Wang et al. | Fusang: a framework for phylogenetic tree inference via deep learning | |
Maarala et al. | SparkBeagle: scalable genotype imputation from distributed whole-genome reference panels in the cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190816 |
|
WW01 | Invention patent application withdrawn after publication |