[发明专利]一种快速将fastq文件均匀分片的方法有效
申请号: | 202010443814.8 | 申请日: | 2020-05-22 |
公开(公告)号: | CN111782609B | 公开(公告)日: | 2023-10-13 |
发明(设计)人: | 黄俊松;文晋;邵艳军 | 申请(专利权)人: | 北京和瑞精湛医学检验实验室有限公司 |
主分类号: | G06F16/17 | 分类号: | G06F16/17;G06F3/06;G06F9/50 |
代理公司: | 北京华专卓海知识产权代理事务所(普通合伙) 11664 | 代理人: | 李巨智 |
地址: | 102206 北京市昌平区生命科*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 fastq 文件 均匀 分片 方法 | ||
本发明提供了一种快速将fastq文件均匀分片的方法,包括通过两个线程并发加载fastq文件,构造read数据并输出;设置若干个分片,根据均匀分片算法将所述read数据分配到对应分片的分片缓存;通过异步分片线程池中的异步分片线程,将所述分片缓存中的read数据写入对应分片的输出fastq文件中。本发明利用并行的工作方式,多个线程同时协同作用,提升了作业效率;设计均匀分片算法,在分片过程中实时高效地计算read数据属于哪个分片,避免传统方法中需要完整遍历fastq文件来统计read总个数的过程,节省程序的耗时;应用分片缓存技术,极大减少了系统锁的调用次数以及对线程安全队列和文件系统写数据接口的操作次数,降低操作系统负载,实现快速将fastq文件均匀分片的目的。
技术领域
本发明的实施例一般涉及基因测序领域,并且更具体地,涉及一种快速将fastq文件均匀分片的方法。
背景技术
在基因测序领域,样本经过测序仪测序后输出BCL等文件。再经过进一步数据转换和数据拆分之后,会得到fastq文件。fast文件是一种基于文本格式的文件,用于存储生物基因碱基序列、对应质量分数以及相关信息,它是基因测序领域最常用的文件格式。每个fastq文件是由一条一条的read数据组成的,而每个read数据又是由4行数据组成。对基因进行生物信息学分析实际上就是对这种fastq文件进行分析,再详细点就是对fastq文件中包含的大量read数据进行分析。
然而由于基因数据量庞大,导致一个fastq文件的大小可能会比较大,从几个GB到几十上百GB不等。为了后续能快速对fastq文件进行分析,例如能够采用并发的模式进行分析,会将fastq文件拆分为大小均匀的更小的fastq文件分片。传统的分片程序(例如fastp工具)为了实现这样的功能,首先会完整遍历一次fastq文件,统计出read数据的总个数,再除以分片个数得到每个分片的read个数。然后再次遍历fastq文件,逐行进行解析处理。根据分片的read个数来控制分片大小,最终输出大小均匀的分片fastq文件。这样的处理方式效率是不高的,例如由于fastq文件很大,包含的read数据可能达到数亿条之多,单单是统计read数据的总个数这个步骤就会消耗大量时间。
从测序仪下机之后的所有过程中,基因数据分析才是最重要的点,为了缩短为基因数据分析准备数据的过程,亟需一种快速高效地将fastq文件均匀分片的方法,以达到把更多时间留给后续的基因分析过程的目的。
发明内容
根据本发明的实施例,提供了一种快速将fastq文件均匀分片的方法,包括:
通过两个线程并发加载fastq文件,构造read数据并输出;
设置若干个分片,根据均匀分片算法将所述read数据分配到对应分片的分片缓存;
通过异步分片线程池中的异步分片线程,将所述分片缓存中的read数据写入对应分片的输出fastq文件中。
进一步地,所述通过两个线程并发加载fastq文件,构造read数据并输出,包括:
分配第一线程、第二线程和一个数据块队列,设置该数据块队列的最大数据项个数限制以及数据块的大小;
在所述第一线程中,向对象内存复用池发出分配内存请求,等待分配一个所述数据块大小的数据块;
在所述第一线程中,按照所述数据块的大小读取所述fastq文件,将读取到的数据放到所述分配的数据块中,判断所述数据块队列是否达到所述最大数据项个数限制,如果是,则进入等待状态,直至所述数据块队列的数据项个数小于所述最大数据项个数限制,将所述数据块插入所述数据块队列的队尾;否则,将所述数据块插入所述数据块队列的队尾;
继续判断所述fastq文件是否读取完毕,如果已读取完毕,则设置数据块队列结束标记,并结束第一线程;如果未读取完毕,则返回等待分配数据块,继续加载fastq文件;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京和瑞精湛医学检验实验室有限公司,未经北京和瑞精湛医学检验实验室有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010443814.8/2.html,转载请声明来源钻瓜专利网。