CN109477140B - 一种数据处理方法、装置及计算节点 - Google Patents
一种数据处理方法、装置及计算节点 Download PDFInfo
- Publication number
- CN109477140B CN109477140B CN201680087678.5A CN201680087678A CN109477140B CN 109477140 B CN109477140 B CN 109477140B CN 201680087678 A CN201680087678 A CN 201680087678A CN 109477140 B CN109477140 B CN 109477140B
- Authority
- CN
- China
- Prior art keywords
- result sequence
- sticky
- back result
- chromosome
- sequence set
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 210000000349 chromosome Anatomy 0.000 claims abstract description 219
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 141
- 238000004458 analytical method Methods 0.000 claims abstract description 126
- 238000000034 method Methods 0.000 claims abstract description 21
- 108020004414 DNA Proteins 0.000 claims description 72
- 102000053602 DNA Human genes 0.000 claims description 72
- 230000015654 memory Effects 0.000 claims description 19
- 238000012252 genetic analysis Methods 0.000 claims description 18
- 238000001514 detection method Methods 0.000 claims description 10
- 230000035772 mutation Effects 0.000 claims description 10
- 230000008707 rearrangement Effects 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims 1
- 239000012472 biological sample Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004904 shortening Methods 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 3
- 238000001712 DNA sequencing Methods 0.000 description 2
- 108091028043 Nucleic acid sequence Proteins 0.000 description 2
- 230000002759 chromosomal effect Effects 0.000 description 2
- OPTASPLRGRRNAP-UHFFFAOYSA-N cytosine Chemical compound NC=1C=CNC(=O)N=1 OPTASPLRGRRNAP-UHFFFAOYSA-N 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- UYTPUPDQBNUYGX-UHFFFAOYSA-N guanine Chemical compound O=C1NC(N)=NC2=C1N=CN2 UYTPUPDQBNUYGX-UHFFFAOYSA-N 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- RWQNBRDOKXIBIV-UHFFFAOYSA-N thymine Chemical compound CC1=CNC(=O)NC1=O RWQNBRDOKXIBIV-UHFFFAOYSA-N 0.000 description 2
- 229930024421 Adenine Natural products 0.000 description 1
- GFFGJBXGBJISGV-UHFFFAOYSA-N Adenine Chemical compound NC1=NC=NC2=C1N=CN2 GFFGJBXGBJISGV-UHFFFAOYSA-N 0.000 description 1
- 229960000643 adenine Drugs 0.000 description 1
- 229940104302 cytosine Drugs 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002864 sequence alignment Methods 0.000 description 1
- 229940113082 thymine Drugs 0.000 description 1
Images
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
- G16B30/10—Sequence alignment; Homology search
-
- C—CHEMISTRY; METALLURGY
- C12—BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
- C12Q—MEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
- C12Q1/00—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
- C12Q1/68—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
-
- C—CHEMISTRY; METALLURGY
- C12—BIOCHEMISTRY; BEER; SPIRITS; WINE; VINEGAR; MICROBIOLOGY; ENZYMOLOGY; MUTATION OR GENETIC ENGINEERING
- C12Q—MEASURING OR TESTING PROCESSES INVOLVING ENZYMES, NUCLEIC ACIDS OR MICROORGANISMS; COMPOSITIONS OR TEST PAPERS THEREFOR; PROCESSES OF PREPARING SUCH COMPOSITIONS; CONDITION-RESPONSIVE CONTROL IN MICROBIOLOGICAL OR ENZYMOLOGICAL PROCESSES
- C12Q1/00—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions
- C12Q1/68—Measuring or testing processes involving enzymes, nucleic acids or microorganisms; Compositions therefor; Processes of preparing such compositions involving nucleic acids
- C12Q1/6869—Methods for sequencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3854—Instruction completion, e.g. retiring, committing or graduating
- G06F9/3856—Reordering of instructions, e.g. using queues or age tags
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- G16B50/00—ICT programming tools or database systems specially adapted for bioinformatics
- G16B50/30—Data warehousing; Computing architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- Health & Medical Sciences (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Software Systems (AREA)
- Organic Chemistry (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biotechnology (AREA)
- Wood Science & Technology (AREA)
- Zoology (AREA)
- General Physics & Mathematics (AREA)
- Analytical Chemistry (AREA)
- Medical Informatics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Immunology (AREA)
- Biochemistry (AREA)
- Genetics & Genomics (AREA)
- Molecular Biology (AREA)
- Microbiology (AREA)
- Bioethics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Artificial Intelligence (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
一种数据处理方法、装置及计算节点,其中方法包括:计算节点将待回贴DNA读串对应的回贴结果序列划分到相应的目标染色体区域对应的回贴结果序列集中,判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,对应地,将该目标染色体区域也划分成k个与该k个回贴结果序列子集一一对应的染色体子区域,进而将针对该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并行地执行该k个基因分析子任务。本发明实施例可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
Description
技术领域
本发明涉及基因分析技术领域,尤其涉及一种数据处理方法、装置及计算节点。
背景技术
随着脱氧核糖核酸(deoxyribonucleic acid,DNA)测序技术的进步,基因分析已成为检测和针对性治疗遗传、突变类疾病的重要手段。一般地,基因分析由DNA测序、DNA序列拼装与变异识别和基因注释与分析这三个阶段构成,其中,DNA序列拼装与变异识别需要大量的计算开销,整个基因分析任务过程极其耗时。目前,已提出采用Hadoop/Spark等并行计算框架构建可扩展的基因组分析任务流水线,将基因分析任务按照数据维度分解成多个任务在计算机集群上并行执行,以降低基因分析任务的时间开销。然而,在实际中由于DNA测序在各染色体区域的测序深度不同以及测序数据在经过若干步骤后处理结果的分布不均等诸多可能因素,少量任务会出现数据偏斜问题,即其处理的数据量远大于其它任务需处理的平均数据量,进而带来严重的长尾问题,即其执行时间远大于其它任务的执行时间,从而影响整个基因分析任务流水线的执行效率。
为解决上述数据偏斜问题,现有方案包括:方案一,增加数据均衡模块,由数据均衡模块将存在偏斜的数据组划分两个子数据组,将所有数据组和子数据组各自对应一个基因分析任务,在计算集群中并行地执行这些基因分析任务。方案二,针对数据偏斜的任务分配较多的计算资源。方案三,将数据偏斜的任务动态地划分为多个任务分配给存在空闲计算资源的计算节点执行。方案一无法适用大规模DNA数据处理的场景。方案二中,由于基因分析任务各个阶段所需的最佳计算资源并不相同,分配的计算资源增加并不总是能缩短基因分析任务的执行时间。而方案三对于实际的基因分析任务很难做到,由于在基因分析任务中,大多数情况下各个任务所需处理的键-值(Key-Value)集只是由单一的Key(一个Key一般为一个染色体子区域)组成,这样的数据集无法在任务运行过程中被动态地划分。可见,如何提高基因分析任务的执行效率,缩短基因分析任务的执行时间已成为亟待解决的问题。
发明内容
本发明实施例公开了一种数据处理方法、装置及计算节点,用于实现提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
本发明实施例第一方面公开了一种数据处理方法,应用于分布式计算系统,该系统包括多个计算节点,该方法包括:
第一计算节点通过将待回贴脱氧核糖核酸DNA读串与参考基因序列比对进行回贴操作,获取该待回贴DNA读串匹配的染色体位置,确定出该染色体位置所在的目标染色体区域,并将回贴操作得到的该待回贴DNA读串对应的回贴结果序列划分到该目标染色体区域对应的回贴结果序列集中,一个染色体区域对应的全部回贴结果序列合称为一个回贴结果序列集,该第一计算节点为该多个计算节点中的任意一个。
该第一计算节点判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则确定针对该目标染色体区域的基因分析任务为偏斜任务,并按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,并将该目标染色体区域对应地划分成k个染色体子区域,该k个染色体子区域与该k个回贴结果序列子集之间一一对应,k为大于或等于2的整数。
该第一计算节点将针对该目标染色体区域对应的该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并利用该分布式计算系统分配给该第一计算节点的计算资源并行地执行该k个基因分析子任务,以完成针对该目标染色体区域对应的该回贴结果序列集的基因分析任务,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
可选的,该第一计算节点判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值之前,先计算该数量阈值,计算方式可以如下:
该第一计算节点获取全部待回贴DNA读串的数据量大小,根据该全部待回贴DNA读串的数据量大小,确定将该全部待回贴DNA读串回贴至参考基因序列后得到的回贴结果序列的数据量大小,再根据预先划分出的多个染色体区域的数量和该回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小,再结合一个单位数据量的回贴结果序列的数量,即可确定该数量阈值,将该数量阈值作为针对一个染色体区域的基因分析任务是否为偏斜任务的判断标准。
可选的,该第一计算节点按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,并将该目标染色体区域对应地划分成k个染色体子区域的具体步骤可以如下:
该第一计算节点根据该回贴结果序列集包括的回贴结果序列数量和该预先确定的数量阈值的比值,确定需要将该回贴结果序列集划分成的回贴结果序列子集的个数k,例如k为将该比值进行取整运算的结果,将该回贴结果序列集划分成k个回贴结果序列子集,对应地,并将该目标染色体区域划分成k个连续的染色体子区域,进而根据该回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将该回贴结果序列集包括的各个回贴结果序列对应划分至该k个连续的染色体子区域对应的该k个回贴结果序列子集中,一个回贴结果序列子集即为一个基因分析子任务需要处理的数据。
可选的,该方法还包括:
如果该回贴结果序列集中有目标回贴结果序列对应的染色体位置位于两个染色体子区域中,则该第一计算节点可以将该目标回贴结果序列同时划分至该两个染色体子区域各自对应的回贴结果序列子集中,以保证该目标回贴结果序列对应的数据可以被全部处理到,进而保证基因分析任务结果的完整性。
可选的,该方法还包括:
该第一计算节点在并行地执行该k个基因分析子任务完毕后,将该k个基因分析子任务的结果进行合并,并将合并的结果作为针对该目标染色体区域对应的该回贴结果序列集的基因分析任务的结果。
可选的,该基因分析任务的具体内容包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
本发明实施例第二方面公开了一种数据处理装置,应用于分布式计算系统,该装置包括:
获取模块,用于通过将待回贴DNA读串与参考基因序列比对进行回贴操作,获取该待回贴DNA读串匹配的染色体位置。
确定模块,用于从预先划分出的多个染色体区域中,确定出该染色体位置所在的目标染色体区域。
划分模块,用于将回贴操作得到的该待回贴DNA读串对应的回贴结果序列划分至该目标染色体区域对应的回贴结果序列集中,一个染色体区域对应的全部回贴结果序列合称为一个回贴结果序列集。
判断模块,用于判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值。
该划分模块,还用于在该判断模块判断出该回贴结果序列集中包括的回贴结果序列数量大于或等于该预先确定的数量阈值时,确定针对该目标染色体区域的基因分析任务为偏斜任务,并按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,并将该目标染色体区域对应地划分成k个染色体子区域,该k个染色体子区域与该k个回贴结果序列子集之间一一对应,k为大于或等于2的整数。
该划分模块,还用于将针对该目标染色体区域对应的该回贴结果序列集的基因分析任务划分成的k个基因分析子任务,该k个基因分析子任务与所述该k个染色体子区域之间一一对应。
执行模块,用于利用该分布式计算系统分配的计算资源并行地执行该k个基因分析子任务,以完成针对该目标染色体区域对应的该回贴结果序列集的基因分析任务,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
可选的,该获取模块,还用于获取全部待回贴DNA读串的数据量大小。
该确定模块,还用于根据该全部待回贴DNA读串的数据量大小,确定将该全部待回贴DNA读串回贴至参考基因序列后得到的回贴结果序列的数据量大小。
该确定模块,还用于根据预先划分出的多个染色体区域的数量和该回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小。
该确定模块,还用于根据该每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定该预先确定的数量阈值,将该数量阈值作为针对一个染色体区域的基因分析任务是否为偏斜任务的判断标准。
可选的,该划分模块具体可以包括:
确定单元,用于根据该回贴结果序列集中包括的回贴结果序列数量和该预先确定的数量阈值的比值,确定将该回贴结果序列集划分得到的回贴结果序列子集的个数k。
划分单元,用于将该回贴结果序列集划分成k个回贴结果序列子集,并将该目标染色体区域划分成k个连续的染色体子区域。
该划分单元,还用于根据该回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将该回贴结果序列集包括的各个回贴结果序列对应划分至该k个连续的染色体子区域对应的该k个回贴结果序列子集中,一个回贴结果序列子集即为一个基因分析子任务需要处理的数据。
可选的,该划分单元,还用于在该回贴结果序列集中目标回贴结果序列对应的染色体位置位于两个染色体子区域中时,将该目标回贴结果序列同时划分至该两个染色体子区域各自对应的回贴结果序列子集中,以保证该目标回贴结果序列对应的数据可以被全部处理到,进而保证基因分析任务结果的完整性。
可选的,该装置还包括:
合并模块,用于在执行模块并行地执行该k个基因分析子任务完毕后,将该k个基因分析子任务的结果进行合并,并将合并的结果作为针对该目标染色体区域对应的该回贴结果序列集的基因分析任务的结果。
可选的,该基因分析任务的具体内容包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
本发明实施例第三方面公开了一种计算节点,应用于分布式计算系统,其特征在于,该计算节点包括:处理器和储存器,所述处理器和所述存储器通过总线连接,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行上述第一方面中任一项所述的数据处理方法。
本发明实施例中,计算节点将待回贴DNA读串对应的回贴结果序列划分到相应的目标染色体区域对应的回贴结果序列集中,判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,对应地,将该目标染色体区域也划分成k个与该k个回贴结果序列子集一一对应的染色体子区域,进而将针对该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并行地执行该k个基因分析子任务,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的一种基因分析任务的流程示意图;
图2是本发明实施例公开的一种数据处理方法的流程示意图;
图3是本发明实施例公开的一种数据处理装置的结构示意图;
图4是本发明实施例公开的一种计算节点的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的一种基因分析任务的流程示意图。本实施例中所描述的基因分析任务,以现有的分布式计算系统Hadoop MapReduce模型为例,包括以下流程:
1)利用DNA测序仪等设备提取生物样本的DNA并将其转换成计算机能够识别的DNA读串,每个DNA读串即表示一个固定长度的由A(代表腺嘌呤)、T(代表胸腺嘧啶)、C(代表胞嘧啶)、G(代表鸟嘌呤)四种字符组成的计算机能够识别的字符串,DNA读串一般可以以FASTQ或者FASTA等格式的文件存储。
2)测序仪输出的DNA读串被切分成多个数据块存储到分布式文件系统(HadoopDistributed File System,HDFS)。
3)Map阶段进行回贴操作,即利用生物序列比对软件工具(例如BWA软件)将DNA读串回贴至参考基因序列,以确定各个DNA读串所匹配的染色体位置,并得到对应的回贴结果序列,回贴结果序列一般可以称为序列比对图(Sequence Alignment Map,SAM)记录,其中,Map任务的数量与DNA读串在2)中被切分成的数据块的数量相等。
4)数据分发阶段,所有回贴操作对应的回贴结果序列根据回贴到的染色体区域被分发到相应的Reduce任务,其中,一个Reduce任务即为针对一个染色体区域的基因分析任务。
5)Reduce阶段,利用Picard和GATK依次执行去重、局部重排、碱基质量校正和变异检测等步骤。
其中,新增的偏斜任务诊断及重划分模块具体可以是一软件程序,运行在分布式计算系统的某一个计算节点或全部计算节点上。偏斜任务指某一任务处理的数据量远大于其它任务需处理的平均数据量,而导致任务执行时间远长于其它任务的执行时间。
本发明实施例中,在上述步骤5)之前,偏斜任务诊断及重划分模块会根据DNA读串的数据量等信息判断各个Reduce任务是否为偏斜任务,对于偏斜的Reduce任务在计算节点本地进行重划分,即将其拆分成两个、三个或者更多个Reduce子任务(如图1所示),并利用分布式计算系统分配给偏斜的Reduce任务的计算资源并行地执行拆分出的Reduce子任务,最后合并各个Reduce子任务的结果输出变异点检测结果,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
请参阅图2,为本发明实施例提供的一种数据处理方法的流程示意图。本实施例中所描述的数据处理方法,应用于分布式计算系统,所述系统包括多个计算节点,所述方法包括:
101、第一计算节点通过将待回贴脱氧核糖核酸DNA读串与参考基因序列比对进行回贴操作,获取所述待回贴DNA读串匹配的染色体位置。
其中,第一计算节点为该多个计算节点中的任意一个,回贴操作即为第一计算节点将待回贴DNA读串与参考基因序列进行比对,以获取其匹配的染色体位置,同时得到该待回贴DNA读串对应的回贴结果序列,并转换成<染色体区域,回贴结果序列>这样的键值对输出。
102、所述第一计算节点从预先划分出的多个染色体区域中,确定所述染色体位置所在的目标染色体区域,并将所述待回贴DNA读串对应的回贴结果序列划分至所述目标染色体区域对应的回贴结果序列集中。
其中,属于同一个染色体区域的全部回贴结果序列需被分配到同一个基因分析任务(即上述Reduce任务)。
具体的,生物样本的染色体预先被划分成多个染色体区域,该第一计算节点根据该待回贴DNA读串匹配的染色体位置即可确定该待回贴DNA读串对应的回贴结果序列所属的目标染色体区域,并将该回贴结果序列划分至该目标染色体区域对应的回贴结果序列集中,即该目标染色体区域对应的回贴结果序列集包括的所有回贴结果序列会被分配到同一个基因分析任务。
103、所述第一计算节点判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,若是,则执行步骤104~106;若否,则执行步骤107。
具体实现中,生物样本的DNA对应的DNA读串全部回贴完毕后,该第一计算节点判断其处理的回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值。
其中,该预先确定的数量阈值具体可以是每个染色体区域对应的回贴结果序列集中包括的回贴结果序列数量的平均值。
在一些可行的实施方式中,该预先确定的数量阈值的确定过程可以如下:
获取全部待回贴DNA读串的数据量大小。
根据该全部待回贴DNA读串的数据量大小,确定将该全部待回贴DNA读串回贴至该参考基因序列后得到的回贴结果序列的数据量大小。
根据该预先划分出的多个染色体区域的数量和回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小。
根据每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定预先确定的数量阈值。
需要说明的是,确定该预先确定的数量阈值具体可以在步骤103之前执行,也可以在步骤101之前最先执行,本发明实施例不做限定。
举例来说,确定该预先确定的数量阈值如果在步骤101之前最先执行,则可以获取全部待回贴DNA读串的数据量大小,设为M。
估算该全部待回贴DNA读串回贴后得到的回贴结果序列的数据量大小,基于实践结果表明,回贴结果序列与DNA读串在数据量大小上呈线性比例关系,设回贴结果序列的数据量大小为S,则S=пM,其中п为比例系数,与回贴操作时选用的软件工具类型有关,如果是BWA软件,则п可取4.42。
计算每个染色体区域对应的回贴结果序列集的平均数据量大小Savg=S/R,其中,R为染色体区域的个数。
确定该预先确定的数量阈值Λ=λSavg,其中,λ为一个单位数据量(如1GB)的回贴结果序列的数量。
当然,确定该预先确定的数量阈值如果在步骤103之前执行,则该全部待回贴DNA读串回贴后得到的回贴结果序列的数据量大小不必估算,可以直接读取,得到的该预先确定的数量阈值可以更加精确。
需要说明的是,该预先确定的数量阈值的确定可以只由其中一个计算节点(例如该第一计算节点)完成,该第一计算节点将确定的该预先确定的数量阈值可以通过广播等方式通知给其它计算节点即可。或者,每一个计算节点都通过上述方法确定出该预先确定的数量阈值也可。
104、所述第一计算节点按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,所述k个染色体子区域与所述k个回贴结果序列子集之间一一对应,所述k为大于或等于2的整数。
其中,该分布式计算系统中,如果该第一计算节点确定其处理的回贴结果序列集包括的回贴结果序列数量大于或等于该预先确定的数量阈值,则该第一计算节点确定其处理的回贴结果序列集对应的基因分析任务为偏斜任务,需按照预设划分规则对其进行本地拆分。
具体的,预设划分规则可以是:该第一计算节点根据该回贴结果序列集包括的回贴结果序列数量N和该预先确定的数量阈值Λ的比值,确定将该回贴结果序列集划分得到的回贴结果序列子集的个数k,例如k为将该比值进行取整运算的结果,即k=[N/Λ],其中,[]为取整运算。该第一计算节点将该回贴结果序列集划分成k个回贴结果序列子集,并将该目标染色体区域划分成k个连续的染色体子区域,再根据该回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,可以将该回贴结果序列集包括的各个回贴结果序列对应划分至该k个连续的染色体子区域对应的该k个回贴结果序列子集中。
举例来说,针对该目标染色体区域对应的该回贴结果序列集的基因分析任务的输入数据为D=<该目标染色体区域Rr,List(回贴结果序列)>,该第一计算节点计算该k个回贴结果序列子集中每个回贴结果序列子集包括的回贴结果序列数量的平均值n=[N/k],其中,[]为取整运算,以保证将该回贴结果序列集尽可能划分成k个包括的回贴结果序列数量相等的回贴结果序列子集。该第一计算节点将该目标染色体区域Rr划分成该k个连续的染色体子区域Pr1,Rr2,......,Rrk,假设该目标染色体区域Rr在生物样本染色体上的区间范围为[x,y],则:
Rr1的区间为[x1,y1],其中x1=x,y1=D中第n+1个回贴结果序列对应的染色体起始坐标。
Rri的区间为[xi,yi],其中xi=yi-1+1,yi=D中第i*n+1个回贴结果序列对应的染色体起始坐标,其中1<i<k。
需要说明的是,由于采用的是取整运算求得每个回贴结果序列子集包括的回贴结果序列数量的平均值n,如果该回贴结果序列集包括的回贴结果序列数量N大于n*k,则可以将该回贴结果序列集中超出nk的部分全部划分至第k个染色体子区域Rrk中,则:
Rrk的区间为[xk,yk],其中xk=yk-1+1,yk=y。
进一步地,如果该回贴结果序列集中目标回贴结果序列对应的染色体位置完全位于一个染色体子区域中,则该第一计算节点将该目标回贴结果序列划分至该染色体子区域对应的回贴结果序列子集中。如果该回贴结果序列集中目标回贴结果序列对应的染色体位置的坐标范围较大而位于两个染色体子区域中,则该第一计算节点将该目标回贴结果序列同时划分至该两个染色体子区域各自对应的回贴结果序列子集中,以保证该目标回贴结果序列对应的数据可以被全部处理到,进而保证基因分析任务结果的完整性。
105、所述第一计算节点将针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务划分成k个基因分析子任务,所述k个基因分析子任务与所述k个染色体子区域之间一一对应,并行地执行所述k个基因分析子任务。
具体实现中,该第一计算节点在将该目标染色体区域和该目标染色体区域对应的该回贴结果序列集划分完毕后,实现了在本地将针对该目标染色体区域对应的该回贴结果序列集的基因分析任务划分成针对该k个染色体子区域各自对应的回贴结果序列子集的k个基因分析子任务,并利用该分布式计算系统分配的计算资源并行地执行该k个基因分析子任务,以完成针对该目标染色体区域对应的该回贴结果序列集的基因分析任务,例如,该k个基因分析子任务基于竞争的方式利用该分布式计算系统分配给该第一计算节点的计算资源并行地执行。
106、所述第一计算节点在并行地执行所述k个基因分析子任务完毕后,将所述k个基因分析子任务的结果进行合并,并将合并的结果作为针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务的结果。
具体的,该第一计算节点将该k个基因分析子任务的结果进行合并,得到针对该目标染色体区域对应的该回贴结果序列集的基因分析任务的结果,其中,基因分析任务的结果通常为VCF文件的形式。
此外,对于分布式计算系统而言,针对该回贴结果序列集的基因分析任务拆分成k个基因分析子任务,以及该k个基因分析子任务的运行都是透明的,现有的分布式计算系统的架构无需变动。
107、所述第一计算节点执行针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务。
具体的,如果该第一计算节点确定该回贴结果序列集包括的回贴结果序列数量小于该预先确定的数量阈值,则该第一计算节点可以确定针对该回贴结果序列集的基因分析任务不是偏斜任务,直接利用该分布式计算系统分配的计算资源执行基因分析任务即可。
在一些可行的实施方式中,基于该预先确定的数量阈值具体可以是每个染色体区域对应的回贴结果序列集包括的回贴结果序列数量的平均值,考虑到可能存在较多染色体区域对应的回贴结果序列集包括的回贴结果序列数量超出该预先确定的数量阈值较少,相应的基因分析任务的执行时间也与平均执行时间较为接近,此类染色体区域对应的基因分析任务可以不再进行拆分。此时,该第一计算节点可以在一个染色体区域对于的回贴结果序列集包括的回贴结果序列数量超出该预先确定的数量阈值较多时,才认为相应的的基因分析任务是偏斜任务,例如,该第一计算节点在回贴结果序列集包括的回贴结果序列数量减去该预先确定的数量阈值得到的差值大于或等于某一数值时,或者,回贴结果序列集包括的回贴结果序列数量是该预先确定的数量阈值的两倍或两倍以上时,才认为相应的基因分析任务是偏斜任务。
其中,该基因分析任务具体包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。同样地,该基因分析子任务也具体包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
本发明实施例中,计算节点将待回贴DNA读串对应的回贴结果序列划分到相应的目标染色体区域对应的回贴结果序列集中,判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,对应地,将该目标染色体区域也划分成k个与该k个回贴结果序列子集一一对应的染色体子区域,进而将针对该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并利用分布式计算系统分配的计算资源并行地执行该k个基因分析子任务,将该k个基因分析子任务的结果进行合并后作为该目标染色体区域对应的基因分析任务的结果,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
请参阅图3,为本发明实施例提供的一种数据处理装置的结构示意图。本实施例中所描述的数据处理装置,应用于分布式计算系统,所述装置包括:
获取模块301,用于通过将待回贴DNA读串与参考基因序列比对进行回贴操作,获取所述待回贴DNA读串匹配的染色体位置。
确定模块302,用于从预先划分出的多个染色体区域中,确定所述染色体位置所在的目标染色体区域。
划分模块303,用于将所述待回贴DNA读串对应的回贴结果序列划分至所述目标染色体区域对应的回贴结果序列集中。
判断模块304,用于判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值。
所述划分模块303,还用于在所述判断模块判断出所述回贴结果序列集包括的回贴结果序列数量大于或等于所述预先确定的数量阈值时,按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,所述k个染色体子区域与所述k个回贴结果序列子集之间一一对应,所述k为大于或等于2的整数。
所述划分模块303,还用于将针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务划分成k个基因分析子任务,所述k个基因分析子任务与所述k个染色体子区域之间一一对应。
执行模块305,用于并行地执行所述k个基因分析子任务。
在一些可行的实施方式中,所述获取模块301,还用于获取全部待回贴DNA读串的数据量大小。
所述确定模块302,还用于根据所述全部待回贴DNA读串的数据量大小,确定将所述全部待回贴DNA读串回贴至参考基因序列后得到的回贴结果序列的数据量大小。
所述确定模块302,还用于根据预先划分出的多个染色体区域的数量和所述回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小。
所述确定模块302,还用于根据所述每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定所述预先确定的数量阈值。
在一些可行的实施方式中,所述划分模块303具体包括:
确定单元3030,用于根据所述回贴结果序列集包括的回贴结果序列数量和所述预先确定的数量阈值的比值,确定将所述回贴结果序列集划分得到的回贴结果序列子集的个数k。
划分单元3031,用于将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域划分成k个连续的染色体子区域。
所述划分单元3031,还用于根据所述回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将所述回贴结果序列集包括的各个回贴结果序列对应划分至所述k个连续的染色体子区域对应的所述k个回贴结果序列子集中。
在一些可行的实施方式中,所述划分单元3031,还用于在所述回贴结果序列集中目标回贴结果序列对应的染色体位置位于两个染色体子区域中时,将所述目标回贴结果序列同时划分至所述两个染色体子区域各自对应的回贴结果序列子集中。
在一些可行的实施方式中,所述装置还包括:
合并模块306,用于在所述执行模块并行地执行所述k个基因分析子任务完毕后,将所述k个基因分析子任务的结果进行合并,并将合并的结果作为针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务的结果。
在一些可行的实施方式中,所述基因分析任务包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
本发明实施例中,计算节点将待回贴DNA读串对应的回贴结果序列划分到相应的目标染色体区域对应的回贴结果序列集中,判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,对应地,将该目标染色体区域也划分成k个与该k个回贴结果序列子集一一对应的染色体子区域,进而将针对该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并利用分布式计算系统分配的计算资源并行地执行该k个基因分析子任务,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
请参阅图4,为本发明实施例提供的一种计算节点的结构示意图。本实施例中所描述的计算节点,应用于分布式计算系统,所述计算节点包括处理器、网络接口及存储器。其中,计算节点的处理器、网络接口及存储器可通过总线或其他方式连接,本发明实施例以通过总线连接为例。
其中,处理器(或称中央处理器(Central Processing Unit,CPU))是计算节点的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。存储器(Memory)是计算节点的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了计算节点的操作系统和可执行程序代码(例如相关服务程序),可包括但不限于:Windows系统(一种操作系统)、Linux(一种操作系统)系统等等,本发明对此并不作限定。
在本发明实施例中,处理器通过运行存储器中的可执行程序代码,执行如下操作:
所述处理器,用于通过将待回贴DNA读串与参考基因序列比对进行回贴操作,获取所述待回贴DNA读串匹配的染色体位置。
所述处理器,还用于从预先划分出的多个染色体区域中,确定所述染色体位置所在的目标染色体区域,并将所述待回贴DNA读串对应的回贴结果序列划分至所述目标染色体区域对应的回贴结果序列集中。
所述处理器,还用于判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,若是,则按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,所述k个染色体子区域与所述k个回贴结果序列子集之间一一对应,所述k为大于或等于2的整数。
所述处理器,还用于将针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务划分成k个基因分析子任务,所述k个基因分析子任务与所述k个染色体子区域之间一一对应,并行地执行所述k个基因分析子任务。
在一些可行的实施方式中,所述处理器,还用于在判断所述回贴结果序列集包括的回贴结果序列数量是否大于或等于预先确定的数量阈值之前,获取全部待回贴DNA读串的数据量大小。
所述处理器,还用于根据所述全部待回贴DNA读串的数据量大小,确定将所述全部待回贴DNA读串回贴至参考基因序列后得到的回贴结果序列的数据量大小。
所述处理器,还用于根据预先划分出的多个染色体区域的数量和所述回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小。
所述处理器,还用于根据所述每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定所述预先确定的数量阈值。
在一些可行的实施方式中,所述处理器按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域的具体方式为:
根据所述回贴结果序列集包括的回贴结果序列数量和所述预先确定的数量阈值的比值,确定将所述回贴结果序列集划分得到的回贴结果序列子集的个数k。
将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域划分成k个连续的染色体子区域。
根据所述回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将所述回贴结果序列集包括的各个回贴结果序列对应划分至所述k个连续的染色体子区域对应的所述k个回贴结果序列子集中。
在一些可行的实施方式中,所述处理器,还用于在所述回贴结果序列集中目标回贴结果序列对应的染色体位置位于两个染色体子区域中时,将所述目标回贴结果序列同时划分至所述两个染色体子区域各自对应的回贴结果序列子集中。
在一些可行的实施方式中,所述处理器,还用于在并行地执行所述k个基因分析子任务完毕后,将所述k个基因分析子任务的结果进行合并,并将合并的结果作为针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务的结果。
在一些可行的实施方式中,所述基因分析任务包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
本发明实施例中,计算节点将待回贴DNA读串对应的回贴结果序列划分到相应的目标染色体区域对应的回贴结果序列集中,判断该回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,如果是,则按照预设划分规则将该回贴结果序列集划分成k个回贴结果序列子集,对应地,将该目标染色体区域也划分成k个与该k个回贴结果序列子集一一对应的染色体子区域,进而将针对该回贴结果序列集的基因分析任务划分成k个基因分析子任务,并利用分布式计算系统分配的计算资源并行地执行该k个基因分析子任务,从而可以提高基因分析任务的执行效率,缩短基因分析任务的时间开销。
需要说明的是,对于前述的各个方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某一些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random AccessMemory,RAM)、磁盘或光盘等。
以上对本发明实施例所提供的一种数据处理方法、装置及计算节点进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种数据处理方法,应用于分布式计算系统,所述系统包括多个计算节点,其特征在于,所述方法包括:
第一计算节点通过将待回贴脱氧核糖核酸DNA读串与参考基因序列比对进行回贴操作,获取所述待回贴DNA读串匹配的染色体位置,所述第一计算节点为所述多个计算节点中的任意一个;
所述第一计算节点从预先划分出的多个染色体区域中,确定所述染色体位置所在的目标染色体区域,并将所述待回贴DNA读串对应的回贴结果序列划分至所述目标染色体区域对应的回贴结果序列集中;
所述第一计算节点判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值,若是,则按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,所述k个染色体子区域与所述k个回贴结果序列子集之间一一对应,所述k为大于或等于2的整数;
所述第一计算节点将针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务划分成k个基因分析子任务,所述k个基因分析子任务与所述k个染色体子区域之间一一对应,并行地执行所述k个基因分析子任务;
所述基因分析任务包括去重、局部重排、碱基质量校正和变异检测中的一种或多种。
2.根据权利要求1所述的方法,其特征在于,所述第一计算节点判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值之前,所述方法还包括:
所述第一计算节点获取全部待回贴DNA读串的数据量大小;
所述第一计算节点根据所述全部待回贴DNA读串的数据量大小,确定将所述全部待回贴DNA读串回贴至所述参考基因序列后得到的回贴结果序列的数据量大小;
所述第一计算节点根据所述预先划分出的多个染色体区域的数量和所述回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小;
所述第一计算节点根据所述每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定所述预先确定的数量阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述第一计算节点按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,包括:
所述第一计算节点根据所述回贴结果序列集包括的回贴结果序列数量和所述预先确定的数量阈值的比值,确定将所述回贴结果序列集划分得到的回贴结果序列子集的个数k;
所述第一计算节点将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域划分成k个连续的染色体子区域;
所述第一计算节点根据所述回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将所述回贴结果序列集包括的各个回贴结果序列对应划分至所述k个连续的染色体子区域对应的所述k个回贴结果序列子集中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述回贴结果序列集中目标回贴结果序列对应的染色体位置位于两个染色体子区域中,则所述第一计算节点将所述目标回贴结果序列同时划分至所述两个染色体子区域各自对应的回贴结果序列子集中。
5.根据权利要求1中所述的方法,其特征在于,所述方法还包括:
所述第一计算节点在并行地执行所述k个基因分析子任务完毕后,将所述k个基因分析子任务的结果进行合并,并将合并的结果作为针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务的结果。
6.一种数据处理装置,其特征在于,所述装置包括:
获取模块,用于通过将待回贴DNA读串与参考基因序列比对进行回贴操作,获取所述待回贴DNA读串匹配的染色体位置;
确定模块,用于从预先划分出的多个染色体区域中,确定所述染色体位置所在的目标染色体区域;
划分模块,用于将所述待回贴DNA读串对应的回贴结果序列划分至所述目标染色体区域对应的回贴结果序列集中;
判断模块,用于判断所述回贴结果序列集中包括的回贴结果序列数量是否大于或等于预先确定的数量阈值;
所述划分模块,还用于在所述判断模块判断出所述回贴结果序列集中包括的回贴结果序列数量大于或等于所述预先确定的数量阈值时,按照预设划分规则将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域对应地划分成k个染色体子区域,所述k个染色体子区域与所述k个回贴结果序列子集之间一一对应,所述k为大于或等于2的整数;
所述划分模块,还用于将针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务划分成k个基因分析子任务,所述k个基因分析子任务与所述k个染色体子区域之间一一对应,所述基因分析任务包括去重、局部重排、碱基质量校正和变异检测中的一种或多种;
执行模块,用于并行地执行所述k个基因分析子任务。
7.根据权利要求6所述的装置,其特征在于,
所述获取模块,还用于获取全部待回贴DNA读串的数据量大小;
所述确定模块,还用于根据所述全部待回贴DNA读串的数据量大小,确定将所述全部待回贴DNA读串回贴至参考基因序列后得到的回贴结果序列的数据量大小;
所述确定模块,还用于根据预先划分出的多个染色体区域的数量和所述回贴结果序列的数据量大小,确定每个染色体区域对应的回贴结果序列集的平均数据量大小;
所述确定模块,还用于根据所述每个染色体区域对应的回贴结果序列集的平均数据量大小和一个单位数据量的回贴结果序列的数量,确定所述预先确定的数量阈值。
8.根据权利要求6或7所述的装置,其特征在于,所述划分模块包括:
确定单元,用于根据所述回贴结果序列集包括的回贴结果序列数量和所述预先确定的数量阈值的比值,确定将所述回贴结果序列集划分得到的回贴结果序列子集的个数k;
划分单元,用于将所述回贴结果序列集划分成k个回贴结果序列子集,并将所述目标染色体区域划分成k个连续的染色体子区域;
所述划分单元,还用于根据所述回贴结果序列集包括的各个回贴结果序列对应的染色体位置所在的染色体子区域,将所述回贴结果序列集包括的各个回贴结果序列对应划分至所述k个连续的染色体子区域对应的所述k个回贴结果序列子集中。
9.根据权利要求8所述的装置,其特征在于,
所述划分单元,还用于在所述回贴结果序列集中目标回贴结果序列对应的染色体位置位于两个染色体子区域中时,将所述目标回贴结果序列同时划分至所述两个染色体子区域各自对应的回贴结果序列子集中。
10.根据权利要求6中所述的装置,其特征在于,所述装置还包括:
合并模块,用于在所述执行模块并行地执行所述k个基因分析子任务完毕后,将所述k个基因分析子任务的结果进行合并,并将合并的结果作为针对所述目标染色体区域对应的所述回贴结果序列集的基因分析任务的结果。
11.一种计算节点,其特征在于,所述计算节点包括:处理器和储存器,所述处理器和所述存储器通过总线连接,所述存储器存储有可执行程序代码,所述处理器用于调用所述可执行程序代码,执行如权利要求1~6中任一项所述的数据处理方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/099739 WO2018053761A1 (zh) | 2016-09-22 | 2016-09-22 | 一种数据处理方法、装置及计算节点 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109477140A CN109477140A (zh) | 2019-03-15 |
CN109477140B true CN109477140B (zh) | 2022-05-31 |
Family
ID=61689758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680087678.5A Active CN109477140B (zh) | 2016-09-22 | 2016-09-22 | 一种数据处理方法、装置及计算节点 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190156916A1 (zh) |
CN (1) | CN109477140B (zh) |
WO (1) | WO2018053761A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273204B (zh) * | 2016-04-08 | 2020-10-09 | 华为技术有限公司 | 用于基因分析的资源分配方法和装置 |
WO2022198132A1 (en) * | 2021-03-19 | 2022-09-22 | Regeneron Pharmaceuticals, Inc. | Data pipeline |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005113818A2 (en) * | 2004-05-14 | 2005-12-01 | Applera Corporation | Detection of gene duplications |
WO2007089583A2 (en) * | 2006-01-27 | 2007-08-09 | The Jackson Laboratory | Systems and methods for statistical genomic dna based analysis and evaluation |
CN102453751A (zh) * | 2010-10-19 | 2012-05-16 | 鼎生科技(北京)有限公司 | Dna测序仪短序列回贴基因组方法 |
WO2015043278A1 (zh) * | 2013-09-30 | 2015-04-02 | 深圳华大基因科技有限公司 | 同时进行单体型分析和染色体非整倍性检测的方法和系统 |
CN104762402A (zh) * | 2015-04-21 | 2015-07-08 | 广州定康信息科技有限公司 | 超快速检测人类基因组单碱基突变和微插入缺失的方法 |
CN105956416A (zh) * | 2016-05-10 | 2016-09-21 | 湖北普罗金科技有限公司 | 一种快速自动分析原核生物蛋白质基因组学数据的方法 |
-
2016
- 2016-09-22 CN CN201680087678.5A patent/CN109477140B/zh active Active
- 2016-09-22 WO PCT/CN2016/099739 patent/WO2018053761A1/zh active Application Filing
-
2019
- 2019-01-18 US US16/251,829 patent/US20190156916A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005113818A2 (en) * | 2004-05-14 | 2005-12-01 | Applera Corporation | Detection of gene duplications |
WO2007089583A2 (en) * | 2006-01-27 | 2007-08-09 | The Jackson Laboratory | Systems and methods for statistical genomic dna based analysis and evaluation |
CN102453751A (zh) * | 2010-10-19 | 2012-05-16 | 鼎生科技(北京)有限公司 | Dna测序仪短序列回贴基因组方法 |
WO2015043278A1 (zh) * | 2013-09-30 | 2015-04-02 | 深圳华大基因科技有限公司 | 同时进行单体型分析和染色体非整倍性检测的方法和系统 |
CN104762402A (zh) * | 2015-04-21 | 2015-07-08 | 广州定康信息科技有限公司 | 超快速检测人类基因组单碱基突变和微插入缺失的方法 |
CN105956416A (zh) * | 2016-05-10 | 2016-09-21 | 湖北普罗金科技有限公司 | 一种快速自动分析原核生物蛋白质基因组学数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018053761A1 (zh) | 2018-03-29 |
US20190156916A1 (en) | 2019-05-23 |
CN109477140A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Heo et al. | BLESS: bloom filter-based error correction solution for high-throughput sequencing reads | |
US9817944B2 (en) | Systems and methods for analyzing sequence data | |
Baichoo et al. | Computational complexity of algorithms for sequence comparison, short-read assembly and genome alignment | |
CN112735528A (zh) | 一种基因序列比对方法及系统 | |
CN107273204B (zh) | 用于基因分析的资源分配方法和装置 | |
CN114649055B (zh) | 用于检测单核苷酸变异和插入缺失的方法、设备和介质 | |
US20200118648A1 (en) | Systems and methods for using machine learning and dna sequencing to extract latent information for dna, rna and protein sequences | |
CN109477140B (zh) | 一种数据处理方法、装置及计算节点 | |
CN105426700A (zh) | 一种批量计算基因组直系同源基因进化速率的方法 | |
Guo et al. | Reliable and fast estimation of recombination rates by convergence diagnosis and parallel Markov Chain Monte Carlo | |
KR101839088B1 (ko) | 단일 시료에 기반한 절대 복제수 변이를 분석하는 방법 | |
Vasimuddin et al. | Identification of significant computational building blocks through comprehensive investigation of NGS secondary analysis methods | |
Li et al. | Hadoop applications in bioinformatics | |
US20220157414A1 (en) | Method and system for facilitating optimization of a cluster computing network for sequencing data analysis using adaptive data parallelization, and non-transitory storage medium | |
US20160026756A1 (en) | Method and apparatus for separating quality levels in sequence data and sequencing longer reads | |
WO2018019138A1 (zh) | 一种数据处理的方法和装置 | |
Li et al. | Efficient Distributed Parallel Aligning Reads and Reference Genome with Many Repetitive Subsequences Using Compact de Bruijn Graph | |
Whelan et al. | Cloudbreak: accurate and scalable genomic structural variation detection in the cloud with MapReduce | |
US20190050531A1 (en) | Dna sequence processing method and device | |
CN109767813B (zh) | 测序深度的矫正方法及装置 | |
Ahmed et al. | A comparative analysis of parallel computing approaches for genome assembly | |
US20240006026A1 (en) | Genome assembly method, apparatus, device and storage medium | |
Maarala et al. | SparkBeagle: scalable genotype imputation from distributed whole-genome reference panels in the cloud | |
Mahjani et al. | A flexible computational framework using R and Map-Reduce for permutation tests of massive genetic analysis of complex traits | |
Sharma et al. | Algorithmic and computational comparison of metagenome assemblers |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |