CN111370070B - 一种针对大数据基因测序文件的压缩处理方法 - Google Patents

一种针对大数据基因测序文件的压缩处理方法 Download PDF

Info

Publication number
CN111370070B
CN111370070B CN202010122429.3A CN202010122429A CN111370070B CN 111370070 B CN111370070 B CN 111370070B CN 202010122429 A CN202010122429 A CN 202010122429A CN 111370070 B CN111370070 B CN 111370070B
Authority
CN
China
Prior art keywords
compressed
file
block
data
sequences
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
Application number
CN202010122429.3A
Other languages
English (en)
Other versions
CN111370070A (zh
Inventor
张中海
谭光明
张春明
姚二林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202010122429.3A priority Critical patent/CN111370070B/zh
Publication of CN111370070A publication Critical patent/CN111370070A/zh
Application granted granted Critical
Publication of CN111370070B publication Critical patent/CN111370070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioethics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Genetics & Genomics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • General Physics & Mathematics (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及高性能计算领域,特别涉及一种大数据基因测序文件的压缩处理方法,使得在减小测序数据占用的存储资源的同时,可以方便的进行数据划分,从而方便后续的并行分析处理,提高了分析效率。

Description

一种针对大数据基因测序文件的压缩处理方法
技术领域
本发明涉及高性能计算领域,特别涉及一种大数据基因测序文件的压缩处理方法。
背景技术
随着基因测序技术的发展,尤其是二代测序甚至三代测序的技术突破,基因数据变得越来越容易获取。基因数据测序文件通常采用fastq文件格式存储,使用bwa工具进行后续分析。每个测序文件少则几G,多则几十G到上百G。如何高效的存储和分析海量基因测序数据,成为了一项新的挑战。
减少存储空间的现有技术手段是采用传统的压缩技术,提高分析效率的技术手段是将数据划分后进行多线程或多节点并行计算。
传统的压缩技术虽然可以减少测序数据的存储空间,却不利于数据划分,需要先将测序数据完全解压之后,才能对数据进行划分,由此导致了数据分析的低效率。
发明内容
本发明提供一种对fastq文件压缩的方法,包括:
步骤1,遍历fastq文件,统计序列数量,确定每个压缩块所包含的序列数量P;
步骤2,依次读取fastq文件,每读取P个序列进行处理形成一个压缩块,以及将该压缩块包含的序列数量,压缩块大小和压缩后的内容一起写入压缩文件;
步骤3,重复步骤2,记录每个压缩块在压缩文件中的起始位置信息,直到读取完毕;
步骤4,将压缩块总数、序列总数和每个压缩块块的起始位置信息写入所述压缩文件。
优选地,上述压缩文件包括数据文件和索引文件,其中,
所述数据文件由多个压缩块构成,每个压缩块内包含当前压缩块对应的测序序列的数量,该压缩块所占用的字节数,以及采用压缩算法压缩后的测序序列数据。
所述索引文件包含两部分,一个部分是索引首行的内容,包含压缩块总数以及序列总数;另一个部分是索引内容,由一行或者多行文本数据组成,每行包含对应的一个压缩块信息。
优选地,上述压缩方法中的压缩算法采用gzip压缩算法。
优选地,上述压缩块信息包含三个数据,分别是压缩块的编号、该压缩块在压缩数据文件中的起始位置以及压缩块的大小。
一种用于上述压缩文件的解压缩方法,包括:
步骤1,顺序读取一个压缩块的信息;
步骤2,根据压缩块信息对该压缩块进行解压读取;
步骤3,如果读取完毕则结束,否则回到步骤1继续处理下一压缩块。
一种用于上述压缩文件的解压缩方法,包括:
步骤1,根据索引文件信息,确定每个压缩块在压缩文件的数据文件中的起始位置和结束位置;
步骤2,启动多个线程,每个线程一次解压处理一个压缩块数据;
步骤3,解压后的数据按照压缩块编号放入缓冲队列,各线程继续处理后续未解压的压缩块直到处理完毕所有压缩块;
步骤4,将缓冲队列中的数据写入解压文件。
一种处理上述压缩文件的方法,包括如下步骤:
步骤1,根据索引文件信息,确定每个压缩块在压缩文件的数据文件中的起始位置和结束位置;
步骤2,根据节点或进程的数量,确定每个节点或进程读取的压缩块数量和范围;
步骤3,根据每个节点读取的范围进行解压缩处理。
一种构建上述压缩文件的索引文件的方法,包括:
步骤1,通过读取压缩文件的数据文件,获取每个压缩块对应的序列数量和压缩块大小信息;
步骤2,将所述序列数量和压缩块大小信息写入到索引文件。
一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现上述的任一方法。
一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于所述处理器执行所述程序时实现上述的任一方法。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是根据本发明的一个实施例的压缩文件结构示例。
图2是根据本发明的一个实施例的压缩方法。
图3是根据本发明的一个实施例的单线程读取方法。
图4是根据本发明的一个实施例的多线程读取方法。
图5是根据本发明的一个实施例的对基因测序数据并行处理的方法。
图6是根据本发明的一个实施例的重建索引的方法。
具体实施方式
本发明提出的压缩处理方法包含对文件结构的定义、压缩处理过程、串行和并行解压处理过程、并行划分过程和重建索引过程。下面参照附图,进行具体阐述。
发明人经过研究,首先设计了一种压缩文件结构,将普通的fastq格式的基因测序文件转换为此种压缩文件结构后,可以不需要解压数据就可进行数据划分。
如图1所示的测序数据文件压缩结构,包含两个部分,分别是数据文件结构和索引文件结构。
数据文件结构是由多个压缩块构成,每个压缩块内包含当前压缩块对应的测序序列(即fastq文件中的read)的数量,该压缩块所占用的字节数,以及压缩后的数据,该压缩后的数据是采用gzip或者其他压缩算法进行压缩后的数据。
索引文件是一个文本文件,包含两个部分,一个是索引首行的内容,包含压缩块总数以及序列总数;另一个是索引内容,由一行或者多行文本数据组成,每行包含对应的一个压缩数据块信息,具体是包含三个数据,分别是压缩块的编号、该压缩块在压缩文件中的起始位置以及压缩块的大小。
根据本发明的一个实施例,基于上述测序数据文件压缩结构,提出了将普通的fastq文件压缩成所述测序数据文件压缩结构的方法。
如图2所示,压缩写入过程主要包含四个步骤:
1)遍历fastq文件,统计序列数量,根据输入参数确定压缩块的总数,并根据以下公式计算每个压缩块所包含的序列数量P;
其中P为每个压缩块包含的序列数量;
Pt为fastq文件中包含的全部序列数量;
b为每个压缩块解压后的大小,是输入参数;
L为fastq文件的大小;
2)读取fastq文件,每读取P个序列则进行处理形成一个压缩块,包括通过gzip等压缩算法将该P个序列进行压缩,以及,将该压缩块包含的序列数量,压缩块大小和压缩后的内容依次写入数据文件;
3)按照上述步骤依次对fastq文件内容进行处理,记录每个压缩块在数据文件中的起始位置信息,直到将fastq文件读取完毕;
4)将压缩块总数、序列总数和每个压缩块的起始位置等信息写入索引文件。
通过以上压缩方法将fastq文件压缩存储后,在单节点上可通过单线程或多线程读取所述压缩文件转给后续工具处理。
根据本发明的一个实施例,结合图3说明单线程串行读取过程。具体来说,串行读取过程分为以下步骤:
1)顺序读取一个压缩块的信息;
2)根据压缩块信息对该压缩块进行解压读取;
3)如果读取完毕则结束,否则回到步骤1继续处理下一压缩块。
根据本发明的一个实施例,结合图4说明多线程并行读取过程。具体来说,并行读取过程分为以下四个步骤:
1)根据索引文件信息,确定每个压缩块在数据文件中的起始位置和结束位置;
2)启动多个线程,每个线程一次解压处理一个压缩块数据;
3)解压后的数据按照压缩块编号放入缓冲队列,各线程继续处理后续未解压的压缩块直到处理完毕所有压缩块;
4)将缓冲队列中的数据写入解压文件。
为了更快的对基因数据进行分析,数据并行处理是非常重要的方法,然而传统的测序压缩文件并不支持在压缩状态下直接对数据进行划分,本发明提出的数据文件加索引文件的方式,支持在压缩状态下直接对文件数据进行划分,从而更好地支持并行分析。
根据本发明的一个实施例,以下结合图5说明多节点或多进程划分过程。具体来说,包括以下步骤:
1)根据索引文件信息,确定每个压缩块在数据文件中的起始位置和结束位置;
2)根据节点的数量,确定每个节点读取的压缩块数量和范围;其中,每个节点读取的压缩块数量根据以下公式计算得出;
其中,Bi为第i个节点读取的压缩块数量;
ci为第i个节点的核数;
Bt为总的压缩块数量;
n为总的节点数;
j为整数,范围为1到n;
cj为第j个节点的核数。
3)根据每个节点读取的范围进行解压处理,并进行后续的分析计算。
根据本发明的一个实施例,提供一种从本发明产生的压缩文件的数据文件中重建索引文件的方法,该方法可以用于当索引文件损坏或者缺失时,方便地重建索引文件。
重建索引的具体过程如图6所示,包括以下步骤:
1)读取数据文件,定位到第一个压缩块;
2)读取压缩块的序列数量和压缩块的字节数,将压缩块对应的序列数量和压缩块字节数写入到索引文件;
3)如果读取完毕则结束,否则根据上一个压缩块的字节数,跳过上一个压缩块的压缩数据段,回到步骤2)继续处理。
本发明的有益效果是,在减小测序数据占用的存储资源的同时,可以方便的进行数据划分,从而方便后续的并行分析处理,从而提高了分析效率。
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种对fastq文件压缩的方法,包括:
步骤1,遍历fastq文件,统计序列数量,确定每个压缩块所包含的序列数量P,所述序列数量P根据以下公式计算:
其中P为每个压缩块包含的序列数量;
为fastq文件中包含的全部序列数量;
b为每个压缩块解压后的大小,是输入参数;
L为fastq文件的大小,
步骤2,依次读取fastq文件,每读取P个序列进行处理形成一个压缩块,包括通过gzip压缩算法将所述P个序列进行压缩,以及将所述压缩块包含的序列数量,压缩块大小和压缩后的内容一起写入压缩文件;
步骤3,重复步骤2,记录每个压缩块在压缩文件中的起始位置信息,直到读取完毕;
步骤4,将压缩块总数、序列总数和每个压缩块块的起始位置信息写入所述压缩文件,
其中,所述压缩文件包括数据文件和索引文件,
所述数据文件由多个压缩块构成,每个压缩块内包含当前压缩块对应的测序序列的数量,该压缩块所占用的字节数,以及采用压缩算法压缩后的测序序列数据;
所述索引文件包含两部分,一个部分是索引首行的内容,包含压缩块总数以及序列总数;另一个部分是索引内容,由一行或者多行文本数据组成,每行包含对应的一个压缩块信息;其中所述压缩块信息包含三个数据,分别是压缩块的编号、所述压缩块在压缩数据文件中的起始位置以及压缩块的大小。
2.一种用于权利要求1产生的压缩文件的解压缩方法,包括:
步骤1,顺序读取一个压缩块的信息;
步骤2,根据压缩块信息对所述压缩块进行解压读取;
步骤3,如果读取完毕则结束,否则回到步骤1继续处理下一压缩块。
3.一种用于权利要求1产生的压缩文件的解压缩方法,包括:
步骤1,根据索引文件信息,确定每个压缩块在压缩文件的数据文件中的起始位置和结束位置;
步骤2,启动多个线程,每个线程一次解压处理一个压缩块数据;
步骤3,解压后的数据按照压缩块编号放入缓冲队列,各线程继续处理后续未解压的压缩块直到处理完毕所有压缩块;
步骤4,将缓冲队列中的数据写入解压文件。
4.一种处理基于权利要求1生成的压缩文件的方法,包括如下步骤:
步骤1,根据索引文件信息,确定每个压缩块在压缩文件的数据文件中的起始位置和结束位置;
步骤2,根据节点或进程的数量,确定每个节点或进程读取的压缩块数量和范围;
步骤3,根据每个节点读取的范围进行解压缩处理。
5.一种构建基于权利要求1产生的压缩文件的索引文件的方法,包括:
步骤1,通过读取压缩文件的数据文件,获取每个压缩块对应的序列数量和压缩块大小信息;
步骤2,将所述序列数量和压缩块大小信息写入到索引文件。
6.一种计算机可读存储介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现根据权利要求1-5中任意一项所述的方法。
7.一种计算机设备,包括存储器和处理器,在所述存储器上存储有能够在处理器上运行的计算机程序,其特征在于所述处理器执行所述程序时实现根据权利要求1-5任意一项所述的方法。
CN202010122429.3A 2020-02-27 2020-02-27 一种针对大数据基因测序文件的压缩处理方法 Active CN111370070B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010122429.3A CN111370070B (zh) 2020-02-27 2020-02-27 一种针对大数据基因测序文件的压缩处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010122429.3A CN111370070B (zh) 2020-02-27 2020-02-27 一种针对大数据基因测序文件的压缩处理方法

Publications (2)

Publication Number Publication Date
CN111370070A CN111370070A (zh) 2020-07-03
CN111370070B true CN111370070B (zh) 2023-10-27

Family

ID=71211516

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010122429.3A Active CN111370070B (zh) 2020-02-27 2020-02-27 一种针对大数据基因测序文件的压缩处理方法

Country Status (1)

Country Link
CN (1) CN111370070B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073798A (zh) * 2011-01-28 2011-05-25 清华大学 基于多核处理器的核糖核酸次级结构并行预测方法
CN103559020A (zh) * 2013-11-07 2014-02-05 中国科学院软件研究所 一种dna读序数据fastq文件并行压缩和解压缩方法
CN106100641A (zh) * 2016-06-12 2016-11-09 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN107565975A (zh) * 2017-08-30 2018-01-09 武汉古奥基因科技有限公司 Fastq格式文件无损压缩的方法
CN107633158A (zh) * 2016-07-18 2018-01-26 三星(中国)半导体有限公司 对基因序列进行压缩和解压缩的方法和设备
WO2018071055A1 (en) * 2016-10-11 2018-04-19 Genomsys Sa Method and apparatus for the compact representation of bioinformatics data
CN110299187A (zh) * 2019-07-04 2019-10-01 南京邮电大学 一种基于Hadoop的并行化基因数据压缩方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526743B (zh) * 2016-06-21 2020-08-07 伊姆西Ip控股有限责任公司 用于压缩文件系统元数据的方法和设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073798A (zh) * 2011-01-28 2011-05-25 清华大学 基于多核处理器的核糖核酸次级结构并行预测方法
CN103559020A (zh) * 2013-11-07 2014-02-05 中国科学院软件研究所 一种dna读序数据fastq文件并行压缩和解压缩方法
CN106100641A (zh) * 2016-06-12 2016-11-09 深圳大学 针对fastq数据的多线程快速存储无损压缩方法及其系统
CN107633158A (zh) * 2016-07-18 2018-01-26 三星(中国)半导体有限公司 对基因序列进行压缩和解压缩的方法和设备
WO2018071055A1 (en) * 2016-10-11 2018-04-19 Genomsys Sa Method and apparatus for the compact representation of bioinformatics data
CN107565975A (zh) * 2017-08-30 2018-01-09 武汉古奥基因科技有限公司 Fastq格式文件无损压缩的方法
CN110299187A (zh) * 2019-07-04 2019-10-01 南京邮电大学 一种基于Hadoop的并行化基因数据压缩方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
A fastq compress based on interger-mapped k-mer index for biologist;zhang yt等;GENE;第第579卷卷(第第1期期);全文 *
基于共享存储和Gzip的并行压缩算法研究;宋刚等;《计算机工程与设计》(第04期);全文 *
曙光4000H生物信息处理专用计算机的高性能算法研究;冯圣中, 谭光明, 徐琳, 孙凝晖, 徐志伟;计算机研究与发展(第06期);全文 *
生物二代测序数据的压缩算法研究进展;郑珂晖;温永仙;;福建电脑(第03期);全文 *
生物二代测序数据的压缩算法研究进展;郑珂晖等;《福建电脑》(第03期);全文 *

Also Published As

Publication number Publication date
CN111370070A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN107609350B (zh) 一种二代测序数据分析平台的数据处理方法
AU2015298543B2 (en) Methods and systems for data analysis and compression
CA2839802C (en) Methods and systems for data analysis
CN110299187B (zh) 一种基于Hadoop的并行化基因数据压缩方法
Wang et al. Removing sequential bottlenecks in analysis of next-generation sequencing data
US9137336B1 (en) Data compression techniques
US9886561B2 (en) Efficient encoding and storage and retrieval of genomic data
Sirén Burrows-Wheeler transform for terabases
Liu et al. GPU-accelerated BWT construction for large collection of short reads
CN111028897B (zh) 一种基于Hadoop的基因组索引构建的分布式并行计算方法
CN108287985A (zh) 一种gpu加速的dna序列压缩方法及系统
CN111370070B (zh) 一种针对大数据基因测序文件的压缩处理方法
CN115438114B (zh) 存储格式转换方法、系统、装置、电子设备及存储介质
CN111026736A (zh) 数据血缘管理方法及装置、数据血缘解析方法及装置
CN114489518B (zh) 测序数据质量控制方法及系统
US20210217492A1 (en) Merging Alignment and Sorting to Optimize Computer Operations for Gene Sequencing Pipeline
WO2020182172A1 (en) Method and system for memory allocation to optimize computer operations of seeding for burrows wheeler alignment
JP2023503034A (ja) パターンベースのキャッシュブロック圧縮
CN110797082A (zh) 基因测序数据的存储读取方法及系统
CN111326216B (zh) 一种针对大数据基因测序文件的快速划分方法
US20180232205A1 (en) Apparatus and method for recursive processing
Yao et al. Parallel compression for large collections of genomes
WO2020182173A1 (en) Method and system for merging duplicate merging marking to optimize computer operations of gene sequencing system
WO2019144312A1 (zh) 一种gpu加速的dna序列压缩方法及系统
CN116561120B (zh) 一种用于时序数据库的数据文件快速合并方法及系统

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