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

基因深度信息数据压缩方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 18:34:06


基因深度信息数据压缩方法、装置、电子设备及存储介质

技术领域

本发明实施例涉及生物信息技术领域,具体涉及一种基因深度信息数据压缩方法、装置、电子设备及存储介质。

背景技术

目前深度信息压缩文件格式用到最多的是bw(bigwig)格式,bw格式有以下几个缺点:

1、bw格式中不含有基因的信息,想获取某个基因的全部深度信息,需要额外的软件进行处理;且也不便与表达量表格等其他数据进行关联分析。

2、不同样本的bw格式无法进行合并。

发明内容

为了克服现有技术的不足,本发明实施例的目的在于提供一种基因深度信息数据压缩方法、装置、电子设备及存储介质,其在保证基因基本信息以及深度信息完整的情况下,大幅度降低了存储消耗。

为解决上述问题,本发明实施例第一方面公开一种基因深度信息数据压缩方法,其包括以下步骤:

接收各个样本的测序文件并将所述测序文件转换成bam文件;

使用SAMtools将各个样本的bam文件转换成深度信息文件;

对所述深度信息文件进行压缩,得到压缩文件;

所述对所述深度信息文件进行压缩,得到压缩文件,包括:

通过基因的位置信息对深度信息进行过滤,得到第一深度信息处理文件;

将第一深度信息处理文件中深度信息相同的连续位点进行合并;

将每个基因的各区间深度信息进行整合成一行,得到每个样本的第二深度信息处理文件;

将所有样本的第二深度信息处理文件合并成一个文件,得到压缩文件。

作为可选的方案,在本发明实施例的第一方面中,通过基因的位置信息对深度信息进行过滤,得到第一深度信息处理文件,包括:

确定基因区的目标深度信息;

根据所述目标深度信息对各个样本对应的深度信息文件的位置进行筛选,获取目标深度信息的位点,记为第一深度信息处理文件。

作为可选的方案,在本发明实施例的第一方面中,将第一深度信息处理文件中深度信息相同的连续位点进行合并,包括:

确定每个基因区对应的第一深度信息处理文件中的深度信息以及其连续的位点数。

作为可选的方案,在本发明实施例的第一方面中,将每个基因的各区间深度信息进行整合成一行,得到每个样本的第二深度信息处理文件,包括:

记录目标基因的每个目标区间深度信息,所述目标区间深度信息包括目标区间的深度信息以及其连续的位点数,所述目标区间深度信息使用a×b的方式表达,其中,a代表目标区间的深度信息,b代表目标区间的深度信息连续的位点数,×为连接符,也可以使用其他符号来保证连接符,例如&、#、@等;

在同一行显示目标基因的所有的目标区间深度信息,所述目标基因不同的目标区间深度信息之间通过分隔标识进行分隔,得到目标基因对应的目标基因深度信息;

获取每个样本所有基因的目标基因深度信息,生成每个样本的第二深度信息处理文件。

作为可选的方案,在本发明实施例的第一方面中,将所有样本的第二深度信息处理文件合并成一个文件,得到压缩文件,包括:

合并所有样本的第二深度信息处理文件,合并的原则是将同一基因的目标基因深度信息在同一行显示,且不同样本的同一基因的目标基因深度信息在不同列中显示,得到所述压缩文件。

作为可选的方案,在本发明实施例的第一方面中,所述压缩文件包括基本列和附加列,压缩文件的第一行为表信息;

其中,所述基本列包括染色体列、基因起始位置列、基因终止位置列、基因名称列以及正负链标记列;

所述附加列的表头信息为样本名称,每个附加列的显示内容为对应样本和对应基因名称的目标基因深度信息。

作为可选的方案,在本发明实施例的第一方面中,在接收各个样本的测序文件并将所述测序文件转换成bam文件,之后,还包括:

根据染色体对所述bam文件的内容进行第一排序;

根据基因的起始位置对所述第一排序后的bam文件的内容进行第二排序;

或/和,

在所述得到压缩文件,之后,还包括:

对所述压缩文件通过bgzip进行再压缩,或/和,使用通过tabix索引技术对所述压缩文件进行快速读取。

本发明实施例第二方面公开了一种基因深度信息数据压缩装置,其包括:

第一转换单元,用于接收各个样本的测序文件并将所述测序文件转换成bam文件;

第二转换单元,用于使用SAMtools将各个样本的bam文件转换成深度信息文件;

压缩单元,用于对所述深度信息文件进行压缩,得到压缩文件;

所述压缩单元,包括:

过滤子单元,用于通过基因的位置信息对深度信息进行过滤,得到第一深度信息处理文件;

深度合并子单元,用于将第一深度信息处理文件中深度信息相同的连续位点进行合并;

区间合并子单元,用于将每个基因的各区间深度信息进行整合成一行,得到每个样本的第二深度信息处理文件;

样本合并子单元,用于将所有样本的第二深度信息处理文件合并成一个文件,得到压缩文件。

本发明实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的一种基因深度信息数据压缩方法。

本发明实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的一种基因深度信息数据压缩方法。

本发明实施例第五方面公开一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种基因深度信息数据压缩方法。

本发明实施例第六方面公开一种应用发布平台,所述应用发布平台用于发布计算机程序产品,其中,当所述计算机程序产品在计算机上运行时,使得所述计算机执行本发明实施例第一方面公开的一种基因深度信息数据压缩方法。

与现有技术相比,本发明实施例的有益效果在于:

本发明实施例结合转录组等表达相关的组学技术特性将bam文件的样本深度信息数据转化为压缩文件,本案的具体操作过程为:先将bam文件通过SAMtools转换成各位点的深度信息文件,再通过基因的位置信息对深度信息进行过滤,接着将连续深度相同的位点信息将进行合并,最后将每个基因的各区间深度信息进行整合成一行,每个样本为一列的关于深度信息的压缩文件,在保证基因基本信息以及深度信息完整的情况下,使得存储消耗大幅度降低。

附图说明

图1是本发明实施例提供的一种基因深度信息数据压缩方法的流程示意图;

图2是本发明实施例提供的一种深度信息文件合并的流程示意图;

图3是本发明实施例公开的一种基因深度信息数据压缩装置的结构示意图;

图4是本发明实施例公开的一种电子设备的结构示意图。

具体实施方式

本具体实施方式仅仅是对本发明实施例的解释,其并不是对本发明实施例的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明实施例的权利要求范围内都受到专利法的保护。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。

本申请的说明书和权利要求书中的术语“包括”以及它的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

本发明实施例结合转录组等表达相关的组学技术特性将bam文件的样本深度信息数据转化为压缩文件,在保证基因基本信息以及深度信息完整的情况下,使得存储消耗大幅度降低,以下结合附图进行详细描述。

实施例一

请参阅图1,图1是本发明实施例公开的一种基因深度信息数据压缩方法的流程示意图。如图1所示,该基因深度信息数据压缩方法包括以下步骤:

S110,接收各个样本的测序文件并将所述测序文件转换成bam文件。

本发明的测序文件优选采样GTF(Gene transfer format主要是用来注释基因组)或GFF(General feature format主要是用来对基因进行注释)格式的文件,在其他的一些实施例中,还可以是其他类型的文件,例如fastq、fasta文件以及经过一定转换后得到sam(The Sequencing Alignment/Map Format)文件。

以GTF格式的测序文件为例,先将GTF文件转换成bam(sam文件的二进制格式)文件。bam文件包含有基因组的染色体编号、起始位置、终止位置、正负链标记以及深度信息等信息。

然后对bam文件中的内容进行排序,首先通过染色体进行排序,再按照起始位置进行排序。排序的目的在于方便后期的压缩。当然,在其他的实施例中,也可以不进行排序操作。

S120,使用SAMtools将各个样本的bam文件转换成深度信息文件。

使用SAMtools depth程序将各个样本排序好之后的全基因组比对结果文件(bam格式)转换成深度信息。samtools默认输出的深度信息文件共3列,第一列是染色体ID,第二列是位置信息,第三列是深度信息。输出的深度信息文件每一行代表一个基因区(染色体中某起始位置和终止位置之间的区域记为一个基因区,将一个基因区记为同一基因,即每个基因包括一个基因区,可以理解的是,除去表信息行,每个样本得到的深度信息文件的行数与其起始位置的数量相同),该深度信息文件存在大量的冗余信息,导致最终占用的存储很大。

因此,通过步骤S130的压缩,在保证基因基本信息以及深度信息完整的情况下,使得存储消耗大幅度降低。

S130,对所述深度信息文件进行压缩,得到压缩文件。

在本发明较佳的实施例中,通过位置过滤、深度信息合并、深度信息区间合并以及样本的合并实现去冗余,得到压缩文件,该压缩文件类似于bed格式文件,记为genedepth文件

请参照图2所示,其具体包括以下步骤:

S131,通过基因的位置信息对深度信息进行过滤,得到第一深度信息处理文件。

samtools输出的深度信息文件是整个基因组的深度信息,基因组越大,结果文件就越大。对转录组等表达相关的组学技术,只需要记录基因区相关的深度信息即可。大部分基因组基因区仅占整个基因组的一小部分,所以通过对深度信息的位置进行筛选,就可以过滤掉大量的位点。

具体地,可以根据每个基因区的目标深度信息(通过统计或经验确定每个基因区的目标深度信息)对深度信息的位点进行过滤,仅保留目标深度信息对应的位置信息,将过滤后的深度信息文件记为第一深度信息处理文件。

S132,将第一深度信息处理文件中深度信息相同的连续位点进行合并。

由于转录组等表达相关的组学技术,Reads(读长)主要集中在外显子区域,内含子区域含有的Reads很少,即使有Reads覆盖也比较少,且呈现明显的规律性。即大量连续的位置具有相同的深度,在表达量较低基因的外显子区域也呈现出同样的规律。通过这一规律,我们将连续深度相同的位点进行去冗余,只保留一个深度信息和连续的位点数。

即确定各个深度信息以及其连续的位点个数,用于将每个深度信息和其连续的位点个数作为一个区间进行统计。

示例性地,当某个基因区(记为基因A)的深度信息为0000011000551110111333……时,假设该基因区的目标深度信息为0和1,则通过步骤S131进行位置过滤后,得到的深度信息为00000110001110111……,然后经过步骤S132后,则确定的深度信息包括六部分,其中,第一部分的深度信息为0,个数为5;第二部分的深度信息为1,个数为2;第三部分的深度信息为0,个数为3;第四部分的深度信息为1,个数为3;第五部分的深度信息为0,个数为1;第六部分的深度信息为1,个数为3。

其中,步骤S131和步骤S132的顺序可以互换。

S133,将每个基因的各区间深度信息进行整合成一行,得到每个样本的第二深度信息处理文件。

由于传统的bed文件每行只能记录一个区间,一个基因需要很多行才能记录完,存在大量的冗余。为了进一步去掉这个冗余,我们设计的格式是每个基因通过一行进行显示,对应于深度信息文件的行数,保证记录区间信息的冗余度降到最低。然后将所有区间的深度信息合并成一列,各个区间的深度信息通过分割标识,例如逗号进行分隔。每个区间深度信息记录的格式是a×b的方式表达,其中,a代表目标区间的深度信息,b代表目标区间的深度信息连续的位点数,×为连接符。对于连续位点数为1的区间,仅保留深度信息即可。

这里通过目标区间深度信息进行不同基因的区分,每个基因均包括一个或多个区间深度信息,定义目标基因的区间深度信息为目标区间深度信息,例如上述基因A的目标区间深度信息分别为0×5、1×2、0×3、1×3、0×1和1×3,采用分隔标识(逗号)分隔后,可以记录为0×5,1×2,0×3,1×3,0×1,1×3,这些目标区间深度信息分隔后形成的目标区间深度信息集合记为基因A的目标基因深度信息,从而可以得到一个样本的所有基因的目标基因深度信息,记为第二深度信息处理文件,如表1所示。

表1样本A的区间深度信息表

表1中,第一行为表信息,第一列为染色体编号,表信息为#CHROM;第二列为起始位置,表信息为Start;第三列为终止位置,表信息为End;第四列为基因名称,表信息为ID;第五列为正负链标记,表信息为Str;第六列是每个基因对应的区间深度信息,表信息为样本名称。

上述第一列至第五列称为第二深度信息处理文件的基本信息列,可以直接从测序程序例如GTF文件或GFF文件中提取。

通过上述相同的方法将所有的样本均经过上述步骤S131-S133的处理,得到每个样本的第二深度信息处理文件。

S134,将所有样本的第二深度信息处理文件合并成一个文件,即压缩文件。

大多数转录组等表达相关的组学技术,都会同时做很多样本。这样每个样本都会有一个第二深度信息处理文件,每个第二深度信息处理文件中都有基因的位置信息。这些信息也都是冗余的。对于多个样本,由于不同样本的基因区是完全一致的,所以可以很方便的进行表格合并,即将每个样本的深度信息作为一列。

而传统的samtools深度格式以及bed格式,由于不同样本的区间信息不完全一致,无法直接进行合并,导致不同样本的深度信息只能单独进行保存,这样不仅信息存在冗余,同时导致数据的读取、查看和分析也比较麻烦。

在本发明的较佳的实施例中,合并所有样本的第二深度信息处理文件,得到压缩文件。合并的原则是将同一基因的目标区间深度信息在同一行显示,且不同样本的同一基因的目标区间深度信息显示在不同列中。

例如,表2示出了样本B的第二深度信息处理文件,将样本A的第二深度信息处理文件和样本B的第二深度信息处理文件进行合并,得到压缩文件,如表3所示。

表2样本B的区间深度信息表

从表1-3可以看出,当某个样本的某个或某些基因的区间深度信息不存在时,例如样本B的基因ID为BraA01g000060.3C的区间深度信息不存在,则在合并时,在合并文件即压缩文件中,则此部分显示为空白。

表3合并文件的区间深度信息表

在得到压缩文件之后,还可以对压缩文件通过bgzip进行再压缩,并可以通过tabix的索引技术,实现更快速的读取压缩文件。还可以通过tabix的-h/-H参数便捷的查看压缩文件的信息。

表4示出了以6例人(基因组大小:3.09G,总基因数:20289)的RNAseq测序样本的单样本格式转换(只考虑对表达基因进行转换)测试结果。

表4:单样本格式转换结果统计表

在表4中,sample为样本名称;bam为bam文件的大小(通过本发明实施例的步骤S110得到的文件);Depth1为SAMtools depth统计深度文件(经过bgzip压缩)大小,即本发明实施例的步骤S120得到的文件通过bgzip压缩后的文件大小;Depth2为第二深度信息处理文件(经过bgzip压缩)的大小,即本发明实施例的步骤S133的得到的文件大小;同时,将所有样本的第二深度信息处理文件合并为压缩文件(经过bgzip压缩)的大小记为Depth;mem(Gb)为消耗内存大小;runtime为运行时间;expressed_genes为表达基因数目。

所有的Depth2文件合并成压缩文件的大小为176M,时间消耗在2min以内,内存消耗小于1G。

通过表4可以看出:

1、与传统samtools统计深度的结果相比,depth1与depth2所占存储大于约为60:1;由此可见,本发明实施例相对于传统samtools统计深度的方式可以大幅度的降低存储消耗。

2、单样本bam文件与depth1文件大小约为1:0.85;而单样本bam文件与depth2文件大小为100:1;样本信息合并之后,与所有样本depth2所占存储大小(174M)约为1:1,从而在保证基因基本信息以及深度信息完整的情况下,存储降低了99%。

而且,由于genedepth格式文件是每个基因一行,所以不同样本的合并和拆分非常的方便。其与表达量表格,功能注释表格等合并也很方便,可以为下游的联合分析大大减少了工作量。

实施例二

请参阅图3,图3是本发明实施例公开的一种基因深度信息数据压缩装置的结构示意图。如图3所示,该基因深度信息数据压缩装置可以包括:

第一转换单元210,用于接收各个样本的测序文件并将所述测序文件转换成bam文件;

第二转换单元220,用于使用SAMtools将各个样本的bam文件转换成深度信息文件;

压缩单元230,用于对所述深度信息文件进行压缩,得到压缩文件;

所述压缩单元,包括:

过滤子单元,用于通过基因的位置信息对深度信息进行过滤,得到第一深度信息处理文件;

深度合并子单元,用于将第一深度信息处理文件中深度信息相同的连续位点进行合并;

区间合并子单元,用于将每个基因的各区间深度信息进行整合成一行,得到每个样本的第二深度信息处理文件;

样本合并子单元,用于将所有样本的第二深度信息处理文件合并成一个文件,得到压缩文件。

实施例三

请参阅图4,图4是本发明实施例公开的一种电子设备的结构示意图。如图4所示,该电子设备可以包括:

存储有可执行程序代码的存储器310;

与存储器310耦合的处理器320;

其中,处理器320调用存储器310中存储的可执行程序代码,执行实施例一中的一种基因深度信息数据压缩方法中的部分或全部步骤。

本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的一种基因深度信息数据压缩方法中的部分或全部步骤。

本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种基因深度信息数据压缩方法中的部分或全部步骤。

本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的一种基因深度信息数据压缩方法中的部分或全部步骤。

在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。

在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。

本领域普通技术人员可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器或者能够用于携带或存储数据的计算机可读的任何其他介质。

以上对本发明实施例公开的一种基因深度信息数据压缩方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120115616946