CN107169313A - Dna数据文件的读取方法及计算机可读存储介质 - Google Patents
Dna数据文件的读取方法及计算机可读存储介质 Download PDFInfo
- Publication number
- CN107169313A CN107169313A CN201710195158.2A CN201710195158A CN107169313A CN 107169313 A CN107169313 A CN 107169313A CN 201710195158 A CN201710195158 A CN 201710195158A CN 107169313 A CN107169313 A CN 107169313A
- Authority
- CN
- China
- Prior art keywords
- files
- blocks
- dna
- size
- starting point
- 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.)
- Pending
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
- G16B45/00—ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
Landscapes
- Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种DNA数据文件的读取方法及计算机可读存储介质,该方法包括:基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;基于各文件块的尺寸,对DNA数据文件分割,以得到各进程所对应的文件块;各进程并行读取对应的文件块。本发明可以加快DNA数据文件的读取速度,极大的缩短读取时间,特别是TB、PB级别DNA文件读取,并可以减少单机存储DNA数据文件的内存消耗。
Description
技术领域
本发明涉及生物信息技术领域,尤其涉及一种DNA数据文件的读取方法及计算机可读存储介质。
背景技术
目前,用于基因序列分析的软件主要有组装软件EULER,SSAKE,VCAKE,velvet,IDBA。其中,velvet、IDBA等算法中均是采用串行读取文件的方式来实现DNA数据文件的读取,这对单机存储的内存要求很高。鉴于DNA数据文件的数据量巨大,需要提供一种DNA数据文件的读取方法,以减少单机存储DNA数据文件的内存消耗。
发明内容
为克服现有技术中DNA数据文件读取过程中内存消耗过大的问题,本发明实施例一方面提供了一种DNA数据文件的读取方法,包括:
基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;
基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块;
各进程并行读取对应的文件块。
其中,所述基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,包括:
基于各文件块的尺寸,确定各文件块的起始位置;
基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址;
基于各文件块的起始地址和结束地址,对所述DNA数据文件进行分割,以得到各进程所对应的文件块;
所述各进程并行读取对应的文件块,包括:
基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。
其中,所述基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址,包括:
在任一文件块的起始位置,查找第一DNA序列片段的开始点;
将任一文件块的开始地址确定为所述开始点;
将任一文件块的上一文件块的结束地址确定为所述开始点。
其中,所述在任一文件块的起始位置,查找第一DNA序列片段的开始点,包括
在任一文件块的起始位置,基于文件块动态调整算法FAA,查找第一DNA序列片段的开始点。
其中,所述各进程并行读取对应的文件块,包括:
基于data block的形式,各进程并行读取对应的文件块,所述data block的尺寸为预设可调节尺寸。
另一方面,本发明实施例提供了一种计算机可读存储介质,包括:
用于存储可在处理器上运行的计算机程序;所述计算机程序用于:
基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;
基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块;
各进程并行读取对应的文件块。
其中,所述基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,包括:
基于各文件块的尺寸,确定各文件块的起始位置;
基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址;
基于各文件块的起始地址和结束地址,对所述DNA数据文件进行分割,以得到各进程所对应的文件块;
所述各进程并行读取对应的文件块,包括:
基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。
其中,所述基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址,包括:
在任一文件块的起始位置,查找第一DNA序列片段的开始点;
将任一文件块的开始地址确定为所述开始点;
将任一文件块的上一文件块的结束地址确定为所述开始点。
其中,所述在任一文件块的起始位置,查找第一DNA序列片段的开始点,包括
在任一文件块的起始位置,基于文件块动态调整算法FAA,查找第一DNA序列片段的开始点。
其中,所述各进程并行读取对应的文件块,包括:
基于data block的形式,各进程并行读取对应的文件块,所述data block的尺寸为预设可调节尺寸。
本发明实施例通过基于预设的进程数量,确定DNA数据文件的各文件块的尺寸,以及基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,从而实现各进程并行读取对应的文件块,可以加快DNA数据文件的读取速度,极大的缩短读取时间,特别是TB、PB级别DNA文件读取,并可以减少单机存储DNA数据文件的内存消耗。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的DNA数据文件的读取方法的第一实施例的流程示意图;
图2是本发明的DNA数据文件的读取方法的第二实施例的流程示意图。
具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1,是本发明的DNA数据文件的读取方法的第一实施例的流程示意图。该读取方法包括以下步骤:
101:基于预设的进程数量,确定DNA数据文件的各文件块的尺寸。优选地,为了确保各文件块的大小均匀,各文件块的尺寸均为size/p,其中,size为DNA数据文件的大小尺寸,p为预设的进程数量。
102:基于各文件块的尺寸,对DNA数据文件分割,以得到各进程所对应的文件块。由于确定了各文件块的尺寸,可以DNA数据文件按照各文件块的尺寸依次分割,从而得到各进程所对应的文件块。
103:各进程并行读取对应的文件块。
本发明实施例通过基于预设的进程数量,确定DNA数据文件的各文件块的尺寸,以及基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,从而实现各进程并行读取对应的文件块,可以减少单机存储DNA数据文件的内存消耗。
请参照图2,是本发明的DNA数据文件的读取方法的第二实施例的流程示意图。该读取方法包括以下步骤:
201:基于预设的进程数量,确定DNA数据文件的各文件块的尺寸。优选地,为了确保各文件块的大小均匀,要预先获取DNA数据文件的的尺寸,并将各文件块的尺寸设定为size/p,其中,size为DNA数据文件的大小尺寸,p为预设的进程数量。
步骤201可以基于MPI环境进行实现,首先进行MPI环境的初始化:在进行并行化输入之前,要进行一系列的初始化工作调用初始化函数,调用函数名称为MPI_Init();然后,声明参与计算的所有计算机节点信息、参与组通信的进程标识号以及参与组通信的所有的进程数目。然后输入文件各个参数进行初始化设置;根据不同的组装需求,输入相应的初始化参数,其中包括k-mer的长度、基因测序序列文件的输入,基因测序序列文件的输出位置。最后读取DNA数据文件,计算出其大小size。各个参与计算的进程都并发调用MPI_File_open()函数打开待处理的DNA数据文件进行处理。并读取该DNA数据文件的总大小。
202:基于各文件块的尺寸,确定各文件块的起始位置。由于确定了各文件块的起始位置,基于文件块的连续性,便能确定各文件块的结束位置。设定第i个进程所对应的文件块的起始位置为i*size/p,那么第i个进程所对应的文件块的结束位置则为(i+1)*size/p第i-1个进程所对应的文件块的结束位置则为i*size/p。
203:基于各文件块的起始位置,以及DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址。具体地,步骤103可以包括:在任一文件块的起始位置,查找第一DNA序列片段的开始点;将任一文件块的开始地址确定为DNA序列片段的开始点;将任一文件块的上一文件块的结束地址确定为DNA序列片段的开始点。可以基于文件块动态算法FAA查找起始位置上的第一DNA序列片段的开始点。
其中,FAA算法如下:首先是输入fasta或者fastq格式的文件块,大小为size;然后根据分配的线程数proc的大小确定每个文件块分得的大小,大小为size/p;对应的线程i对应的输入开始位置start为i*size/p和结束位置end为(i+1)*size/p;当readBuf不是“>”i递增加一直到找到第一个“>”为止;并且当前文件块的start=start+sendAdujstDelta,同时当前文件块的上一个数据块end=end+sendAdujstDelta;这样依次下去,每个线程对应的文件块的起始位置都精确的定位。
204:基于各文件块的起始地址和结束地址,对DNA数据文件进行分割,以得到各进程所对应的文件块。具体地,在MPI环境中,可以调用MPI_File_set_view()函数,并结合FAA算法对DNA数据文件进行分块。
205:基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。具体地,可以基于data block的形式,各进程并行读取对应的文件块,其中,data block的尺寸为预设可调节尺寸。由于,data block的尺寸为预设可调节尺寸,这样,通过调节datablock的尺寸,可以提高并行文件***的I/O性能。
MPI并行文件读取最重要的是要准确的知道将要处理的数据文件在文件中存储的具***置,这样才能使得所有进程同时进行文件的各个部分的同时输入,从而实现文件的并行化输入。本发明实施例采用MPI中的多视口的并行文件读写方式,并结合了基因数据文件自身的特征,调用MPI_File_set_view()函数对视图进行分块,并运用了FAA算法,确定每个进程要处理的文件块的起始和结束的位置信息。最后实现了多进程的高并发的文件块读取工作。
另外,本发明实施例通过将各文件块的起始地址和结束地址都定位于DNA序列片段的开始点,这样便不会对DNA序列进行粗暴的分割,不会导致同一DNA序列片段的断裂分割,从而保证了每一DNA序列片段都被分配且唯一分配给了某一文件块。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质用于存储在处理器上运行的计算机程序,其中该计算机程序能够被执行图1~图2任一实施方式中的读取方法。该计算机可读存储介质包括U盘、光盘以及终端、服务器中的至少一种,在此不做限定。
在具体的实施方式中,该计算机程序用于:
用于存储可在处理器上运行的计算机程序;所述计算机程序用于:
基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;
基于各文件块的尺寸,对DNA数据文件分割,以得到各进程所对应的文件块;
各进程并行读取对应的文件块。
其中,基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,包括:
基于各文件块的尺寸,确定各文件块的起始位置;
基于各文件块的起始位置,以及DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址;
基于各文件块的起始地址和结束地址,对所述DNA数据文件进行分割,以得到各进程所对应的文件块;
所述各进程并行读取对应的文件块,包括:
基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。
其中,基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址,包括:
在任一文件块的起始位置,查找第一DNA序列片段的开始点;
将任一文件块的开始地址确定为所述开始点;
将任一文件块的上一文件块的结束地址确定为所述开始点。
其中,在任一文件块的起始位置,查找第一DNA序列片段的开始点,包括
在任一文件块的起始位置,基于文件块动态调整算法FAA,查找第一DNA序列片段的开始点。
其中,各进程并行读取对应的文件块,包括:
基于data block的形式,各进程并行读取对应的文件块,data block的尺寸为预设可调节尺寸。
本发明实施例通过基于预设的进程数量,确定DNA数据文件的各文件块的尺寸,以及基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,从而实现各进程并行读取对应的文件块,可以减少单机存储DNA数据文件的内存消耗。
如上所述是结合具体内容提供的一种或多种实施方式,并不认定本发明的具体实施只局限于这些说明。凡与本发明的方法、结构等近似、雷同,或是对于本发明构思前提下做出若干技术推演或替换,都应当视为本发明的保护范围。
Claims (10)
1.一种DNA数据文件的读取方法,其特征在于,包括:
基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;
基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块;
各进程并行读取对应的文件块。
2.如权利要求1所述的读取方法,其特征在于,所述基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,包括:
基于各文件块的尺寸,确定各文件块的起始位置;
基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址;
基于各文件块的起始地址和结束地址,对所述DNA数据文件进行分割,以得到各进程所对应的文件块;
所述各进程并行读取对应的文件块,包括:
基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。
3.如权利要求2所述的读取方法,其特征在于,所述基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址,包括:
在任一文件块的起始位置,查找第一DNA序列片段的开始点;
将任一文件块的开始地址确定为所述开始点;
将任一文件块的上一文件块的结束地址确定为所述开始点。
4.如权利要求3所述的读取方法,其特征在于,所述在任一文件块的起始位置,查找第一DNA序列片段的开始点,包括
在任一文件块的起始位置,基于文件块动态调整算法FAA,查找第一DNA序列片段的开始点。
5.如权利要求1所述的读取方法,其特征在于,所述各进程并行读取对应的文件块,包括:
基于data block的形式,各进程并行读取对应的文件块,所述data block的尺寸为预设可调节尺寸。
6.一种计算机可读存储介质,其特征在于,用于存储可在处理器上运行的计算机程序;所述计算机程序用于:
基于预设的进程数量,确定DNA数据文件的各文件块的尺寸;
基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块;
各进程并行读取对应的文件块。
7.如权利要求6所述的计算机可读存储介质,其特征在于,所述基于各文件块的尺寸,对所述DNA数据文件分割,以得到各进程所对应的文件块,包括:
基于各文件块的尺寸,确定各文件块的起始位置;
基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址;
基于各文件块的起始地址和结束地址,对所述DNA数据文件进行分割,以得到各进程所对应的文件块;
所述各进程并行读取对应的文件块,包括:
基于各文件块的起始地址和结束地址,各进程并行读取对应的文件块。
8.如权利要求7所述的计算机可读存储介质,其特征在于,所述基于各文件块的起始位置,以及所述DNA数据文件中DNA序列片段的开始点,确定各文件块的起始地址和结束地址,包括:
在任一文件块的起始位置,查找第一DNA序列片段的开始点;
将任一文件块的开始地址确定为所述开始点;
将任一文件块的上一文件块的结束地址确定为所述开始点。
9.如权利要求8所述的计算机可读存储介质,其特征在于,所述在任一文件块的起始位置,查找第一DNA序列片段的开始点,包括
在任一文件块的起始位置,基于文件块动态调整算法FAA,查找第一DNA序列片段的开始点。
10.如权利要求6所述的计算机可读存储介质,其特征在于,所述各进程并行读取对应的文件块,包括:
基于data block的形式,各进程并行读取对应的文件块,所述datablock的尺寸为预设可调节尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710195158.2A CN107169313A (zh) | 2017-03-29 | 2017-03-29 | Dna数据文件的读取方法及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710195158.2A CN107169313A (zh) | 2017-03-29 | 2017-03-29 | Dna数据文件的读取方法及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107169313A true CN107169313A (zh) | 2017-09-15 |
Family
ID=59848975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710195158.2A Pending CN107169313A (zh) | 2017-03-29 | 2017-03-29 | Dna数据文件的读取方法及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107169313A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111326216A (zh) * | 2020-02-27 | 2020-06-23 | 中国科学院计算技术研究所 | 一种针对大数据基因测序文件的快速划分方法 |
CN111475304A (zh) * | 2020-04-10 | 2020-07-31 | 中国科学院计算机网络信息中心 | 一种特征提取加速方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826109A (zh) * | 2010-04-07 | 2010-09-08 | 深圳创维-Rgb电子有限公司 | 一种大容量文件分割方法、装置及*** |
CN103049680A (zh) * | 2012-12-29 | 2013-04-17 | 深圳先进技术研究院 | 基因测序数据读取方法及*** |
CN103559020A (zh) * | 2013-11-07 | 2014-02-05 | 中国科学院软件研究所 | 一种dna读序数据fastq文件并行压缩和解压缩方法 |
-
2017
- 2017-03-29 CN CN201710195158.2A patent/CN107169313A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826109A (zh) * | 2010-04-07 | 2010-09-08 | 深圳创维-Rgb电子有限公司 | 一种大容量文件分割方法、装置及*** |
CN103049680A (zh) * | 2012-12-29 | 2013-04-17 | 深圳先进技术研究院 | 基因测序数据读取方法及*** |
CN103559020A (zh) * | 2013-11-07 | 2014-02-05 | 中国科学院软件研究所 | 一种dna读序数据fastq文件并行压缩和解压缩方法 |
Non-Patent Citations (1)
Title |
---|
郭新 等: "基于大规模序列比对软件的并行优化方案", 《计算机工程》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111326216A (zh) * | 2020-02-27 | 2020-06-23 | 中国科学院计算技术研究所 | 一种针对大数据基因测序文件的快速划分方法 |
CN111475304A (zh) * | 2020-04-10 | 2020-07-31 | 中国科学院计算机网络信息中心 | 一种特征提取加速方法及*** |
CN111475304B (zh) * | 2020-04-10 | 2023-10-03 | 中国科学院计算机网络信息中心 | 一种特征提取加速方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8938603B2 (en) | Cache system optimized for cache miss detection | |
CN105095287A (zh) | Lsm数据合并排序方法和装置 | |
KR101811297B1 (ko) | 불휘발성 메모리를 제어하는 메모리 컨트롤러 | |
CN111797096A (zh) | 基于ElasticSearch的数据索引方法、装置、计算机设备及存储介质 | |
CN111913955A (zh) | 数据的排序处理装置、方法和存储介质 | |
US9747413B2 (en) | Adaptive processing for sequence alignment | |
US10915534B2 (en) | Extreme value computation | |
CN103164490A (zh) | 一种不固定长度数据的高效存储实现方法和装置 | |
CN112085644B (zh) | 多列数据排序方法、装置、可读存储介质和电子设备 | |
CN112560444A (zh) | 文本处理方法、装置、计算机设备和存储介质 | |
US9946461B2 (en) | In-flash immutable object processing | |
CN111931848B (zh) | 数据的特征提取方法、装置、计算机设备及存储介质 | |
CN106649538A (zh) | 人脸搜索的方法及装置 | |
CN109033295A (zh) | 超大数据集的合并方法及装置 | |
CN104407990B (zh) | 一种磁盘访问方法及装置 | |
US20190050298A1 (en) | Method and apparatus for improving database recovery speed using log data analysis | |
CN111813517A (zh) | 任务队列的分配方法、装置、计算机设备及介质 | |
CN107169313A (zh) | Dna数据文件的读取方法及计算机可读存储介质 | |
CN113254106B (zh) | 基于Flink的任务执行方法、装置、计算机设备及存储介质 | |
CN105830160A (zh) | 用于将经屏蔽数据写入到缓冲器的设备及方法 | |
CN108268503A (zh) | 一种数据库的存储、查询方法及装置 | |
CN109165554B (zh) | 一种基于cuda技术的人脸特征比对方法 | |
CN104750846A (zh) | 一种子串查找方法及装置 | |
CN116226681A (zh) | 一种文本相似性判定方法、装置、计算机设备和存储介质 | |
CN114816322A (zh) | Ssd的外部排序方法、装置和ssd存储器 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170915 |
|
RJ01 | Rejection of invention patent application after publication |