掌桥专利:专业的专利平台
掌桥专利
首页

基因测序流程管理控制方法及系统

文献发布时间:2023-06-19 11:54:11


基因测序流程管理控制方法及系统

技术领域

本发明涉及基因测序流程管理的技术领域,具体为一种基因测序流程管理控制方法及系统。

背景技术

随着生物信息学的飞速发展,基因分析已经成为了科研和产业界广泛使用的技术手段,在物种鉴别、疾病诊断等方面都有成功的应用,其中基因测序成为基因研究中越来越重要的领域,一般来说,基因测序涉及确定诸如RNA或DNA片段之类的核酸的核苷酸的顺序。通过分析较短的基因序列,在各种生物信息学方法中使用所得到的序列信息,在逻辑上将多个片段配合在一起以可靠地确定基因材料的更广泛的长度的序列。

而基因测序技术与计算机技术存在密切的关联,基因测序的整个计算机处理流程大致可以分为六个步骤:BWA-MEM、Sort、Mark Duplicate、Indel Realignment、BQSR和Variant Calling。现有基因测序流程通常由CPU进行控制,其流程在编程之初便已固定,无法对基因测序流程控制进行调节,例如基于基因测序的需求,需对基因测序各个处理步骤中各处理环节后的基因序列进行存储。同时,由于基因测序流程由CPU进行控制,相应计算机处理流程均在CPU中进行,导致CPU负载大,在不同基因测序步骤间需切换,增加基因测序中的时间开销。

因此,亟需一种能够可编程的基因测序流程控制,以及降低流程控制中时间开销的基因测序流程管理控制方法及系统。

发明内容

本发明的目的之一在于提供一种基因测序流程管理控制系统,能够提供可编程的基因测序流程控制,以及能够降低基因测序流程控制中的时间开销。

本发明提供的基础方案一:基因测序流程管理控制系统,包括多个异构单元,异构单元均包括流程控制模块,流程控制模块用于接收流程管理信息,对流程管理信息进行仲裁获得管理命令,并将管理命令分发到预设的管理消息队列;还用于接收数据信息,根据数据信息调用对应管理消息队列中的管理命令,执行管理命令。

基础方案一的有益效果:将流程控制模块设置在每个异构单元中,通过流程控制模块对每个异构单元内的基因测序流程进行管理,通过对流程管理信息进行可编程性的管理,实现对基因测序流程的集中管理。

流程管理信息中包含多条管理命令,通过流程控制模块对流程管理信息进行仲裁获得多条管理命令,将管理命令分发到管理消息队列进行存放。在接收到数据信息时,从对应的管理消息队列中调用管理命令进行执行,从而实现数据信息的处理及传输。同时将数据信息的处理和传输卸载到异构单元中进行,降低对数据信息控制的延迟,实现基因测序流程的高效控制。

采用本方案,通过流程控制模块和流程管理信息提供可编程的基因测序流程控制,同时实现基因测序流程的集中管理,有效降低系统在基因测序流程控制中的时间开销。

进一步,管理消息队列包括队列号,流程控制模块包括管理消息仲裁子模块、数据流转子模块和多队列子模块,管理消息仲裁子模块用于对流程管理信息进行解析获得消息队列号,根据消息队列号和队列号将管理命令按顺序写入对应的管理消息队列;

数据流转子模块用于对数据信息进行解析获得数据队列号,根据数据队列号和队列号筛选对应管理消息队列,调用筛选出的管理消息队列中的管理命令,多队列子模块用于当管理消息队列中的管理命令被调用时,删除管理消息队列中对应的管理命令。

有益效果:流程控制模块中的管理消息队列具有唯一队列号,管理消息仲裁子模块的设置,从流程管理信息中获得消息队列号,从而获悉管理命令所需放入的管理消息队列。基因测序流程中所执行的操作顺序固定,因此按顺序将管理命令写入管理消息队列,便于后续管理命令的快速调用。

数据信息中包含基因数据以及该基因数据所执行的基因测序流程所在的管理消息队列的队列号,即数据队列号。数据流转子模块的设置,基于数据队列号和队列号筛选对应管理消息队列,调用管理命令进行执行,从而完成基因测序流程。多队列子模块的设置,在管理命令被调用后,删除对应的管理命令,使得下一步基因测序流程所执行的命令位于管理消息队列的首位,在下一次数据信息来临时,实现管理命令的快速调用。

进一步,管理命令包括执行基因测序算子、读取数据和写入数据,流程控制模块还用于执行管理命令后,判断管理命令是否为写入数据,当管理命令为写入数据时,等待下一数据信息,反之根据执行管理命令后的数据信息调用管理消息队列中的管理命令,执行管理命令。

有益效果:对管理命令进行识别,通过管理命令的识别判定基因测序流程或基因测序流程中的某一步骤是否完成。当基因测序流程完成或其中某一步骤完成时,最终会向本地写入数据或向远端写入数据,基于最终为写入数据的特性,判断后续执行步骤,实现基因测序流程的控制。

进一步,还包括中央处理单元,异构单元包括存内计算单元和存储计算单元,中央处理单元用于获取基因数据读请求发送给存储计算单元,存储计算单元用于接收基因数据读请求时,将基因数据读请求作为数据信息,调用对应的流程控制模块获得预存的基因数据;

存内计算单元、中央处理单元和存储计算单元依次对基因数据进行处理;

存储计算单元还用于接收处理后的基因数据时,发送基因数据给存内计算单元,当存内计算单元接收完基因数据时,中央处理单元还用于从存内计算单元提取基因数据,对基因数据进行处理获得处理后的基因数据,发送基因数据给存储计算模块;存储计算模块还用于压缩并存储基因数据。

有益效果:基因数据存储在存储计算单元内,当需要对基因数据进行基因测序时,通过基因数据读请求调用对应基因数据。将基因数据作为数据信息,通过存内计算单元、中央处理单元和存储计算单元对基因数据执行相应的操作。在基因测序流程完成或其中某一步骤完成后,当存内计算单元接收完基因数据时告知中央处理单元,供中央处理单元提取基因数据进行相应处理。

进一步,存内计算单元、中央处理单元和存储计算单元依次对基因数据进行处理时,

存内计算单元用于接收存储计算单元发送的基因数据时,将基因数据作为数据信息,调用对应的流程控制模块获得处理后的基因数据;

中央处理单元还用于接收存内计算单元发送的基因数据时,对基因数据进行处理获得处理后的基因数据;

存储计算单元还用于接收中央处理单元发送的基因数据时,将基因数据作为数据信息,调用对应的流程控制模块压缩并存储基因数据。

有益效果:基因测序流程包含多个步骤,每个步骤下存在多个处理步骤,基于存内计算单元、中央处理单元和存储计算单元执行多个处理步骤,从而完成基因数据的基因测序。

本发明的目的之二在于提供一种基因测序流程管理控制方法。

本发明提供基础方案二:基因测序流程管理控制方法,包括以下内容:

命令管理步骤:接收流程管理信息,对流程管理信息进行仲裁获得管理命令,并将管理命令分发到预设的管理消息队列;

命令执行步骤:接收数据信息,根据数据信息调用管理消息队列中的管理命令,执行管理命令。

基础方案二的有益效果:流程管理信息中包含多条管理命令,通过对流程管理信息进行仲裁获得多条管理命令,将管理命令分发到管理消息队列进行存放。在接收到数据信息时,从对应的管理消息队列中调用管理命令进行执行,从而实现数据信息的处理及传输。

采用本方案,通过流程管理信息提供可编程的基因测序流程控制,同时实现基因测序流程的集中管理,有效降低系统在基因测序流程控制中的时间开销。

进一步,管理消息队列包括队列号,将管理命令分发到预设的管理消息队列,包括以下内容:

对流程管理信息进行解析获得消息队列号,根据消息队列号和队列号将管理命令按顺序写入对应的管理消息队列;

根据数据信息调用管理消息队列中的管理命令,包括以下内容:

对数据信息进行解析获得数据队列号,根据数据队列号和队列号筛选对应管理消息队列,调用筛选出的管理消息队列中的管理命令,并删除管理消息队列中对应的管理命令。

有益效果:管理消息队列具有唯一队列号,对流程管理信息解析获得消息队列号,从而获悉管理命令所需放入的管理消息队列。基因测序流程中所执行的操作顺序固定,因此按顺序将管理命令写入管理消息队列,便于后续管理命令的快速调用,实现基因测序流程的高效控制。

数据信息中包含基因数据以及该基因数据所执行的基因测序流程所在的管理消息队列的队列号,即数据队列号。基于数据队列号和队列号筛选对应管理消息队列,调用管理命令进行执行,从而完成基因测序流程。在管理命令被调用后,删除对应的管理命令,使得下一步基因测序流程所执行的命令位于管理消息队列的首位,在下一次数据信息来临时,实现管理命令的快速调用,降低系统在基因测序流程控制中的时间开销。

进一步,管理命令包括执行基因测序算子、读取数据和写入数据,还包括以下内容:

执行判定步骤:执行管理命令后,判断管理命令是否为写入数据,当管理命令为写入数据时,等待下一数据信息,反之根据执行管理命令后的数据信息调用命令执行步骤。

有益效果:通过执行判定步骤对管理命令进行识别,从而判定基因测序流程或基因测序流程中的某一步骤是否完成。当基因测序流程完成或其中某一步骤完成时,最终会向本地写入数据或向远端写入数据,基于最终为写入数据的特性,判断后续执行步骤,实现基因测序流程的控制。

进一步,包括存内计算单元、中央处理单元和存储计算单元,还包括以下内容:

数据处理步骤:存内计算单元调用命令执行步骤获得处理后的数据信息;中央处理单元对存内计算单元处理后的数据信息进行处理;存储计算单元调用命令执行步骤对中央处理单元处理后的数据信息进行压缩并存储。

有益效果:基因测序流程包含多个步骤,每个步骤下存在多个处理步骤,通过数据处理步骤控制存内计算单元、中央处理单元和存储计算单元,调用命令执行步骤获取管理命令进行执行,从而完成基因测序,并对处理的数据信息进行存储,便于后续步骤对数据信息进行调用或进一步处理。同时,将数据信息的处理和传输卸载到存内计算单元、中央处理单元和存储计算单元中进行,降低对数据信息控制的延迟,实现基因测序流程的高效控制。

进一步,还包括基因测序步骤,基因测序步骤包括以下内容:

S1:获取流程管理信息,调用命令管理步骤获得管理消息队列;

S2:获取基因数据读请求,将基因数据读请求作为数据信息,调用命令执行步骤获得预存的基因数据;

S3:将基因数据作为数据信息,调用数据处理步骤对基因数据进行处理;

S4:存内计算单元接收处理后的基因数据,当存内计算单元接收完基因数据时,中央处理单元从存内计算单元提取基因数据,将基因数据作为数据信息,对数据信息进行处理获得处理后的基因数据,发送基因数据给存储计算模块;存储计算模块对接收的基因数据进行压缩并存储。

有益效果:流程管理信息中包含基因测序流程所需的全部步骤,将基因测序流程中的不同步骤分布在不同的管理消息队列进行控制,实现基因数据的并行处理,有效提升基因测序不同处理步骤间的并行效率。

基因数据预先存储或存储在指定位置,当需要对基因数据进行基因测序时,通过基因数据读请求调用对应基因数据。将基因数据作为数据信息,通过数据处理步骤对基因数据执行相应的操作。在基因测序流程完成或其中某一步骤完成后,当存内计算单元接收完基因数据时告知中央处理单元,供中央处理单元提取基因数据进行相应处理,对处理后的基因数据进行压缩和存储,降低存储基因数据所需的空间性能。

附图说明

图1为本发明基因测序流程管理控制系统实施例一流程控制模块结构示意图;

图2为本发明基因测序流程管理控制系统实施例二模块框图;

图3为本发明基因测序流程管理控制系统处理模块的结构示意图;

图4为本发明基因测序流程管理控制系统基因数据字段分割示意图;

图5为本发明基因测序流程管理控制方法压缩步骤的流程图。

具体实施方式

下面通过具体实施方式进一步详细说明:

实施例一

基因测序流程管理控制系统,包括多个异构单元,异构单元均包括流程控制模块。流程控制模块用于接收流程管理信息,对流程管理信息进行仲裁获得管理命令,并将管理命令分发到预设的管理消息队列;还用于接收数据信息,根据数据信息调用对应管理消息队列中的管理命令,执行管理命令,具体的:

如附图1所示,流程控制模块包括多队列子模块、管理消息仲裁子模块和流转子模块,多队列子模块用于保存多个管理消息队列,以及各个管理消息队列的上下文信息,上下文信息指管理消息队列的信息,包括队列号和数据深度,即管理消息队列包括队列号。多个管理消息队列的设置,支持多队列的消息接口,实现多个基因测序流程的并发处理,从而降低基因测序流程中的时间开销。

管理消息仲裁子模块用于接收流程管理信息,流程管理信息由外部传入,例如流程管理软件。管理消息仲裁子模块还用于对流程管理信息进行仲裁获得管理命令,并对流程管理信息进行解析获得消息队列号,根据消息队列号和队列号将管理命令按顺序写入对应的管理消息队列。管理消息队列中包含多条管理命令,每条管理命令包括消息操作码和操作码参数,消息操作码标志该数据所要执行的操作,包括执行基因测序算子、从本地读取或向本地写入数据、从远端读取或向远端写入数据,即管理命令包括执行基因测序算子、读取数据和写入数据,读取数据包括从本地读取数据和从远端读取数据,写入数据包括向本地写入数据和向远端写入数据。操作码参数是指提供操作所需的边带信息,例如执行从本地读取数据的管理命令,需要知道本地数据的地址及大小,本地数据的地址及大小即为边带信息。

数据流转子模块用于接收数据信息,数据信息由外部传入,也可由系统预存,采用调用的方式获得。数据流转子模块还用于对数据信息进行解析获得数据队列号,根据数据队列号和队列号筛选对应管理消息队列,调用筛选出的管理消息队列中的管理命令。多队列子模块还用于当管理消息队列中的管理命令被调用时,删除管理消息队列中对应的管理命令。在管理命令被调用后,删除对应的管理命令,使得下一步基因测序流程所执行的管理命令位于管理消息队列的首位,在下一次数据信息来临时,实现管理命令的快速调用。

流程控制模块还用于执行管理命令后,判断管理命令是否为写入数据,当管理命令为写入数据时,等待下一数据信息,反之根据执行管理命令后的数据信息调用管理消息队列中的管理命令,执行管理命令。

采用本方案,将流程控制模块设置在每个异构单元中,通过流程控制模块对每个异构单元内的基因测序流程进行管理,通过对流程管理信息进行可编程性的管理,实现对基因测序流程的集中管理。将数据信息的处理和传输卸载到异构单元中进行,降低对数据信息控制的延迟,有效降低系统在基因测序流程控制中的时间开销,实现基因测序流程的高效控制。

此外,本实施例还提供一种基因测序流程管理控制方法,使用上述基因测序流程管理系统,其包括以下内容:

命令管理步骤:接收流程管理信息,对流程管理信息进行仲裁获得管理命令,并将管理命令分发到预设的管理消息队列。命令管理步骤,具体包括以下内容:

接收流程管理信息,流程管理信息由外部传入,例如流程管理软件。

对流程管理信息进行仲裁获得管理命令,并对流程管理信息进行解析获得消息队列号,根据消息队列号和队列号将管理命令按顺序写入对应的管理消息队列。

预设的管理消息队列为多个,写入管理命令后的管理消息队列中包含多条管理命令,每条管理命令包括消息操作码和操作码参数,消息操作码标志该数据所要执行的操作,包括执行基因测序算子、从本地读取或向本地写入数据、从远端读取或向远端写入数据,即管理命令包括执行基因测序算子、读取数据和写入数据,读取数据包括从本地读取数据和从远端读取数据,写入数据包括向本地写入数据和向远端写入数据。操作码参数是指提供操作所需的边带信息,例如执行从本地读取数据的管理命令,需要知道本地数据的地址及大小,本地数据的地址及大小即为边带信息。

命令执行步骤:接收数据信息,根据数据信息调用管理消息队列中的管理命令,执行管理命令。还预设有各管理消息队列的上下文信息,上下文信息指管理消息队列的信息,包括队列号和数据深度,即管理消息队列包括队列号。命令执行步骤,具体包括以下内容:

接收数据信息,数据信息由外部传入,也可由系统预存,采用调用的方式获得。

对数据信息进行解析获得数据队列号,根据数据队列号和队列号筛选对应管理消息队列,调用筛选出的管理消息队列中的管理命令,并删除管理消息队列中对应的管理命令。

执行管理命令,每条管理命令包括消息操作码和操作码参数,消息操作码标志该数据所要执行的操作,包括执行基因测序算子、从本地读取或向本地写入数据、从远端读取或向远端写入数据,即管理命令包括执行基因测序算子、读取数据和写入数据,读取数据包括从本地读取数据和从远端读取数据,写入数据包括向本地写入数据和向远端写入数据。操作码参数是指提供操作所需的边带信息,例如执行从本地读取数据的管理命令,需要知道本地数据的地址及大小,本地数据的地址及大小即为边带信息。

执行判定步骤:执行管理命令后,判断管理命令是否为写入数据,当管理命令为写入数据时,等待下一数据信息,反之根据执行管理命令后的数据信息调用命令执行步骤。

采用本方案,通过流程管理信息提供可编程的基因测序流程控制,同时实现基因测序流程的集中管理,有效降低系统在基因测序流程控制中的时间开销。

实施例二

本实施例与实施例一的不同之处在于:

基因测序流程管理系统,如附图2所示,还包括中央处理单元,异构单元包括存内计算单元和存储计算单元,中央处理单元、存内计算单元、存储计算单元之间通过根复合体进行通信,此时的通信包括基因数据的数据传输和管理消息的交互。具体的,根复合体通过FSB与中央处理单元连接,根复合体通过DIMM与存内计算单元连接,根复合体通过PCIe与存储计算单元连接。

存内计算单元和存储计算单元均包括流程控制模块,为便于区分,分别定义为存内流程控制模块和存储流程控制模块。

中央处理单元用于获取流程管理信息发送给异构单元,异构单元用于接收流程管理信息时,调用对应的流程控制模块获得管理消息队列,具体的,调用存内计算单元中的流程控制模块获得存内计算单元内的管理消息队列,调用存储计算单元中的流程控制模块获得存储计算单元内的管理消息队列。

中央处理单元还用于获取基因数据读请求发送给存储计算单元,存储计算单元用于接收基因数据读请求时,将基因数据读请求作为数据信息,调用对应的流程控制模块获得预存的基因数据。具体的,存储计算单元还包括SSD模块和处理模块,SSD模块中预存有用于基因测序的基因数据。存储流程控制模块用于根据基因数据读请求解析获得的数据队列号,调用对应队列号的管理消息队列中的首位管理命令,此时,该管理命令为从本地读取数据,处理模块用于根据管理命令从SSD模块中读取基因数据。同时,存储流程控制模块还用于在管理命令被调用后,删除该管理命令。

存内计算单元、中央处理单元和存储计算单元依次对基因数据进行处理。存内计算单元用于接收存储计算单元发送的基因数据时,将基因数据作为数据信息,调用对应的流程控制模块获得处理后的基因数据;中央处理单元还用于接收存内计算单元发送的基因数据时,对基因数据进行处理获得处理后的基因数据;存储计算单元还用于接收中央处理单元发送的基因数据时,将基因数据作为数据信息,调用对应的流程控制模块压缩并存储基因数据。具体的,存内计算单元还包括DDR模块和逻辑计算模块,中央处理单元包括定制运算功能模块,存内流程控制模块用于根据数据信息调用对应队列号的管理消息队列中的首位管理命令,此时管理命令为执行seed操作,逻辑计算模块用于根据管理命令对基因数据执行seed操作,获得处理后的基因数据。存内流程控制模块用于执行管理命令后,调用对应队列号的管理消息队列中的首位管理命令,此时管理命令为执行filter操作,逻辑计算模块用于根据管理命令对基因数据执行filter操作,获得处理后的基因数据。定制运算功能模块用于接收存内计算单元发送的基因数据时,对基因数据执行extend操作获得处理后的基因数据。存储流程控制模块用于根据接收的基因数据调用对应队列号的管理消息队列中的首位管理命令,此时,该管理命令为执行压缩操作,处理模块用于根据管理命令对基因数据执行压缩操作,获得处理后的基因数据,压缩后的基因数据为bam格式。存储流程控制模块用于执行管理命令后,调用对应队列号的管理消息队列中的首位管理命令,此时,该管理命令为执行存储操作,处理模块用于根据管理命令对基因数据执行存储操作,将基因数据存储在SSD模块中。seed操作、filter操作、extend操作为基因测序过程中的操作环节,其余操作的执行与其相同,因此不再赘述。

在其他实施例中,处理模块用于根据管理命令对基因数据执行压缩操作,具体的,如附图3所示,处理模块包括字段分离器、算子池、算子选择器、算子组合器和字段合并器。

算子池预先存储多种类型的压缩算子,在该实施例中,包括数据转换类算子、熵编码算子和一般性编码算子,其中数据转换类算子包括游程编码、MTF编码、LZ77、BWT等,熵编码算子包括Huffman编码、算术编码等,一般性编码算子包括Unary编码,Rice编码等。算子池中的压缩算子均为可配置的硬件库的形式。

字段分离器,用于根据数据类型对基因数据进行分割为若干数据字段,具体的,将N个数据字段中的每个数据字段分割为M个数据块;其中N为字段层次上的一级并行设计,M为字段算法层次上的二级并行设计。N的大小由基因数据的复杂和丰富程度决定,M的大小由硬件资源和压缩效果所限制。

数据类型包括名字信息、基因的序列信息和基因序列信息中碱基对应的质量分数,基因的序列信息保存着GATC碱基的相对位置信息,相应的分割后生成的数据字段包括名字字段、序列字段和质量分数字段。如附图4所示,图4中第一行与第三行为名字字段,统称为字段1;第二行为序列字段,称为字段2;第四行为质量分数字段,称为字段3。

算子选择器,用于接收各数据字段和对应各个数据字段的压缩需求,压缩需求包括压缩率和压缩性能,压缩性能为硬件实现压缩时的性能和资源量占用情况。还用于根据各数据字段的压缩需求从算子池中选择压缩算子。

算子组合器,用于将根据各数据字段选择的压缩算子组合为该数据字段的压缩算法,每一压缩算法至少包括一个压缩算子。

同一数据字段可以选择不同的压缩算子,基于压缩算子的压缩率和压缩性能之间的差异,选择压缩算子组合成最优的压缩算法。在该实施例中,以图4中的基因数据为例,字段1为名字字段,采用一般编码方式进行编码,字段2为序列字段,采用BWT算子加MTF算子组合的方式;字段3为质量分数字段,采用差分编码算子加游程编码算子组合的方式。

字段合并器,用于将各数据字段根据对应组合好的压缩算法进行压缩处理,并将各数据字段的压缩结果进行合并。各数据字段压缩结果的合并方式为:将各数据字段的压缩结果以特定的格式存储在同一文件中。

在合并压缩结果时,在文件头中标明各个数据字段所选择的压缩算法所包含的压缩算子组合,便于解压缩时调用对应算子进行解压缩。

存储计算单元还用于接收处理后的基因数据时,发送基因数据给存内计算单元,当存内计算单元接收完基因数据时,中央处理单元还用于从存内计算单元提取基因数据,对基因数据进行处理获得处理后的基因数据,发送基因数据给存储计算模块;存储计算模块还用于压缩并存储基因数据。

采用本方案,通过异构单元将基因测序流程中的不同步骤分布在不同的流程控制模块进行控制,实现基因数据的并行处理,有效提升基因测序不同处理步骤间的并行效率,从而提升基因测序处理流程的性能。

此外,本实施例还提供一种基因测序流程管理控制方法,使用上述基因测序流程管理控制系统,其包括存内计算单元、中央处理单元和存储计算单元,还包括以下内容:

数据处理步骤:存内计算单元调用命令执行步骤获得处理后的数据信息;中央处理单元对存内计算单元处理后的数据信息进行处理;存储计算单元调用命令执行步骤对中央处理单元处理后的数据信息进行压缩并存储。

在其他实施例中,具体的,压缩步骤,如附图5所示包括以下内容:

获取步骤:获取基因数据和对应基因数据的压缩需求;压缩需求为用户权衡后的压缩率和压缩性能,压缩性能为硬件实现压缩时的性能和资源量占用情况。

字段分离步骤:将基因数据根据数据类型分割为若干数据字段,具体的,将N个数据字段中的每个数据字段分割为M个数据块;其中N为字段层次上的一级并行设计,M为字段算法层次上的二级并行设计。N的大小由基因数据的复杂和丰富程度决定,M的大小由硬件资源和压缩效果所限制。

数据类型包括名字信息、基因的序列信息和基因序列信息中碱基对应的质量分数信息,其中基因的序列信息保存着GATC碱基的相对位置信息。基因的序列信息保存着GATC碱基的相对位置信息,相应的分割后生成的数据字段包括名字字段、序列字段和质量分数字段。如附图4所示,图4中为基因数据FASTQ文件中局部的一段数据,第一行与第三行为名字字段,统称为字段1;第二行为序列字段,称为字段2;第四行为质量分数字段,称为字段3。

算子选择及组合步骤:根据各数据字段的压缩需求从预设的压缩算子中选择对应的压缩算子,并组合为对应数据字段的压缩算法,每一压缩算法至少包括一个压缩算子。

预设的压缩算子包括数据转换类算子、熵编码算子和一般性编码算子,其中数据转换类算子包括游程编码、MTF编码、LZ77、BWT等,熵编码算子包括Huffman编码、算术编码等,一般性编码算子包括Unary编码,Rice编码等。预设的压缩算子分类存储在算子池中,根据各数据字段的压缩需求从算子池中选择压缩算子。算子池还列表记录有各压缩算子的压缩率和压缩性能。

同一数据字段可以选择不同的压缩算子,基于压缩算子的压缩率和压缩性能之间的差异,选择压缩算子组合成最优的压缩算法。在该实施例中,以图4中的基因数据为例,字段1为名字字段,采用一般编码方式进行编码,字段2为序列字段,采用BWT算子加MTF算子组合的方式;字段3为质量分数字段,采用差分编码算子加游程编码算子组合的方式。

算子选择及组合步骤,还包括以下内容:

S101、将压缩算法中的压缩算子并行设置,并设置为M条相同的压缩流水线;每个数据字段分别分配M条相同的压缩流水线;压缩流水线包括若干压缩算法,所述压缩算法由若干压缩算子组合而成。

S102、获取压缩流水线中压缩算子的第一并行度K

S103、根据每个数据字段的第二并行度M*K

S104、判断同步率是否符合设定值,若不符合,则调整压缩流水线中的压缩算子或压缩算法的组合,获取压缩流水线的第一并行度K

S105、重复执行步骤S103和步骤S104,直至同步率符合设定值。

分字段压缩步骤:将各数据字段根据对应组合好的压缩算法进行压缩处理,获得各数据字段的压缩结果。

字段合并步骤:将各数据字段的压缩结果进行合并。具体的,将各数据字段压缩结果以特定的格式存储在同一文件中。在合并压缩结果时,在文件头中标明各个数据字段所选择的压缩算法所包含的压缩算子组合,便于解压缩时调用对应算子进行解压缩。

压缩性能分析步骤:根据第一并行度K

根据第一并行度K

根据每个数据字段的第二并行度M*K

根据第三并行度M*N*Min(K

基因测序步骤,括以下内容:

S1:获取流程管理信息,调用命令管理步骤获得管理消息队列;

S2:获取基因数据读请求,将基因数据读请求作为数据信息,调用命令执行步骤获得预存的基因数据;

S3:将基因数据作为数据信息,调用数据处理步骤对基因数据进行处理;

S4:存内计算单元接收处理后的基因数据,当存内计算单元接收完基因数据时,中央处理单元从存内计算单元提取基因数据,将基因数据作为数据信息,对数据信息进行处理获得处理后的基因数据,发送基因数据给存储计算模块;存储计算模块对接收的基因数据进行压缩并存储。

采用本方案,将数据信息的处理和传输卸载到存内计算单元、中央处理单元和存储计算单元中进行,降低对数据信息控制的延迟,实现基因测序流程的高效控制。同时将基因测序流程中的不同步骤分布在不同的管理消息队列进行控制,实现基因数据的并行处理,有效提升基因测序不同处理步骤间的并行效率。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

相关技术
  • 基因测序流程管理控制方法及系统
  • 一种高速公路流程管理控制方法及系统
技术分类

06120113097902