一种用于基因比对的加速方法、装置、存储介质与服务器制造方法及图纸

技术编号:25602579 阅读:65 留言:0更新日期:2020-09-11 23:59
本发明专利技术提出一种用于基因比对的加速方法,其特征在于,包括:步骤1,获取待比对的基因序列,并将该基因序列中的各碱基存储于一压缩式BWT数据结构,得到一BWT序列,于该BWT序列中插入一计数点,得到一压缩序列;步骤2,获取一目标碱基,将该压缩序列中的该计数点以表项的形式存储于一查找表中,通过访存该查找表中的该计数点,对该压缩序列中的每一个碱基与所述目标碱基进行比对,得到比对结果;其中,所述压缩式BWT数据结构采用二进制位存储所述基因序列中的各碱基。

【技术实现步骤摘要】
一种用于基因比对的加速方法、装置、存储介质与服务器
本专利技术涉及高性能计算领域,特别涉及一种面向基因比对领域的专用加速器及其加速方法。
技术介绍
基因测序成本的下降加速了测序数据的产出,为数据处理带来了性能上的挑战。当前基因测序成本已降至1千美元以下,并且在未来还会继续大幅下降,这使得基因测序更加平民化,也导致测序数据爆炸式增长,这为基因序列比对带来了极大压力。当下,基因序列比对的速度远远跟不上测序仪产生基因测序数据的速度,IlluminaHiSeq2500测序仪产生长度为几百碱基的基因序列的吞吐率是每天150亿碱基(1500Gbps/day),利用BWA-MEM比对工具的多线程版本,在双路24核心CPU服务器上试图将15GB大小的已测序片段比对到人类基因组参考序列之上,其测试结果最优性能为27Gbps/day,比测序仪吞吐速率慢50倍。因此,面对测序数据产出速度的不断提升,基因比对也必须不断提升其速率才能满足市场需求,采用定制结构对基因测序进行加速成为一个极受关注的方向。基因比对应用以频繁的无规则片外访存为特征,在现有通用处理器结构上效率较低。如何用结构定制的方式设计一种面向基因比对领域的专用加速器,能够兼顾计算性能和能耗效率,成为一个难点。基因比对细粒度的应用特征,以及一系列与并发结构设计还不相适应的数据结构,都给充分发掘和利用应用的内在并行性带来了不小的难题。
技术实现思路
针对现有技术的不足,本专利技术提出一种面向基因比对领域的专用加速方法和加速装置,基于细粒度应用特征,提出了一系列与并发结构设计相适应的数据结构,通过数据通路和内存系统的定制来充分发掘和利用应用的内在并行性。针对现有技术的不足,本专利技术提出一种用于基因比对的加速方法,其特征在于,包括:步骤1,获取待比对的基因序列,并将该基因序列中的各碱基存储于一压缩式BWT数据结构,得到一BWT序列,于该BWT序列中插入一计数点,得到一压缩序列;步骤2,获取一目标碱基,将该压缩序列中的该计数点以表项的形式存储于一查找表中,通过访存该查找表中的该计数点,对该压缩序列中的每一个碱基与所述目标碱基进行比对,得到比对结果;其中,所述压缩式BWT数据结构采用二进制位存储所述基因序列中的各碱基。上述加速方法,其中,所述压缩式BWT数据结构中,所述碱基的存储方式为按位存储,分别用二进制编码表示A、C、G、T四种碱基。上述加速方法,其中,其特征在于,所述A、C、G、T四种碱基分别采用二进制编码“00”、“01”、“10”、“11”表示。上述加速方法,其中,所述步骤1进一步包括:于所述BWT序列中每隔N个碱基插入一计数点,每N个该碱基与其前面邻近的该计数点组成一BWT区块,其中N=16。上述加速方法,其中,所述BWT区块中的该计数点包括4个64位整数,分别表示A、C、G和T四种碱基的频数。上述加速方法,其中,所述查找表包括一索引,该索引的大小为8比特。上述加速方法,其中,所述查找表包括256个表项,其中,每一所述表项的大小为32比特,所述表项用于记录该索引中A、C、G、T四种碱基的频数。上述加速方法,其中,所述表项的的0-7比特表示碱基“A”的频数,8-15比特表示碱基“C”的频数,16-23比特表示碱基“G”的频数,24-31比特表示碱基“T”的频数。上述加速方法,其中,所述步骤2进一步包括初始化所述查找表步骤:统计该查找表中每一所述表项的索引中包含的A、C、G和T四种碱基的数目,确定该表项的值。上述加速方法,其中,所述压缩序列中每一个碱基与所述目标碱基进行比对的步骤进一步包括:步骤21,将所述压缩序列中的每2个比特组成的比特对分别按位与所述目标碱基进行异或运算,得到第一比对结果;步骤22,对所述第一比对结果进行或非运算,得到第二比对结果,该第二比对结果包括m个比特位,该m个比特位分别标识着所述压缩序列的m个碱基是否与所述目标碱基相同,其中m为正整数;步骤23,计算所述第二比对结果中包含的“1”的数目M,M表示所述压缩序列中目标碱基的数目。为实现本专利技术的另一目的,本专利技术还提供一种用于基因比对的加速装置,其特征在于,包括:多个处理单元,用于对待比对的基因数据进行处理,且每一所述处理单元又包括一计算模块以及一片上存储模块;一高带宽存储器,用于数据处理过程中的数据存取;以及一二维网格片上网络,用于连接所述多个处理单元以及所述高带宽存储器;其中,每一所述计算模块还包括:一第一子模块,通过按位操作的LFMapBit映射算法实现,用于计算A、C、G、T四种碱基中的一种碱基的频数;以及一第二子模块,通过基于快速查表的LFMapBitVec映射算法实现,用于计算A、C、G、T四种碱基的频数。上述加速装置,其中,所述高带宽存储器为一多通道存储器(Multi-ChannelDRAM)。上述加速装置,其中,所述片上存储模块包括:一片上高速暂存存储器,用于存放所述查找表;一FIFO存储器,用于缓存为所述处理单元预取的n条read数据;以及一寄存器堆,该寄存器堆包括:一常数向量寄存器,用于存储一计数数组;一BWT区块偏移计算器,用于根据输入的BWT序列的所述索引,计算出所述索引所在的BWT区块在所述BWT序列中的偏移位置;一计数点寄存器,用于存储所述BWT区块中的计数点;以及一字向量寄存器,用于存储所述BWT序列中的字符串。上述加速装置,其中,所述FIFO存储器缓存所述read数据的数目n=2。上述加速装置,其中,所述第一子模块包括一组合映射(Mask)阵列和一计数子模块,其中,所述组合映射(Mask)阵列又包括第一子阵列和第二子阵列。上述加速装置,其中,所述第一子阵列用于获取一BWT区块和一目标碱基,并对该BWT区块中的碱基进行映射,同时并发地对该每一碱基与所述目标碱基进行异或运算,得到一比对向量;所述计数子模块用于获取所述比对向量,分别计算该比对向量中“0”和“1”的数量。上述加速装置,其中,所述计数子模块为一种群计数(Popcount)归约树,该种群计数(Popcount)归约树为归约并发模式。上述加速装置,其中,所述片上存储模块包括8个所述片上高速暂存存储器,该每一片上高速暂存存储器包括四个独立的读端口和四个存储体,所述片上高速暂存存储器将数据按顺序或交错地散列在该四个存储体上。上述加速装置,其中,所述第二子模块通过所述片上高速暂存存储器的所述四个读端口查询同一所述查找表,并通过归约树计算所述BWT序列字符串中所有四种碱基的数目。为实现本专利技术的另一目的,本专利技术还提供一种计算机存储介质,用于存储上述任一加速方法的计算机程序。为实现本专利技术的另一目的,本专利技术还提供一种服务器,包括上述任一所述的加速装置。由以上方案可知,本专利技术的优点在于:通过对基因比对核心算法进行并行化改进,使结构定制的优本文档来自技高网...

【技术保护点】
1.一种用于基因比对的加速方法,其特征在于,包括:/n步骤1,获取待比对的基因序列,并将该基因序列中的各碱基存储于一压缩式BWT数据结构,得到一BWT序列,于该BWT序列中插入一计数点,得到一压缩序列;/n步骤2,获取一目标碱基,将该压缩序列中的该计数点以表项的形式存储于一查找表中,通过访存该查找表中的该计数点,对该压缩序列中的每一个碱基与所述目标碱基进行比对,得到比对结果;/n其中,所述压缩式BWT数据结构采用二进制位存储所述基因序列中的各碱基。/n

【技术特征摘要】
20190524 CN 20191044195341.一种用于基因比对的加速方法,其特征在于,包括:
步骤1,获取待比对的基因序列,并将该基因序列中的各碱基存储于一压缩式BWT数据结构,得到一BWT序列,于该BWT序列中插入一计数点,得到一压缩序列;
步骤2,获取一目标碱基,将该压缩序列中的该计数点以表项的形式存储于一查找表中,通过访存该查找表中的该计数点,对该压缩序列中的每一个碱基与所述目标碱基进行比对,得到比对结果;
其中,所述压缩式BWT数据结构采用二进制位存储所述基因序列中的各碱基。


2.根据权利要求1所述的加速方法,其特征在于,所述压缩式BWT数据结构中,所述碱基的存储方式为按位存储,分别用二进制编码表示A、C、G、T四种碱基。


3.根据权利要求2所述的加速方法,其特征在于,所述A、C、G、T四种碱基分别采用二进制编码“00”、“01”、“10”、“11”表示。


4.根据权利要求1所述的加速方法,其特征在于,所述步骤1进一步包括:于所述BWT序列中每隔N个碱基插入一计数点,每N个该碱基与其前面邻近的该计数点组成一BWT区块,其中N=16。


5.根据权利要求4所述的加速方法,其特征在于,所述BWT区块中的该计数点包括4个64位整数,分别表示A、C、G和T四种碱基的频数。


6.根据权利要求1所述的加速方法,其特征在于,所述查找表包括一索引,该索引的大小为8比特。


7.根据权利要求6所述的加速方法,其特征在于,所述查找表包括256个表项,其中,每一所述表项的大小为32比特,所述表项用于记录该索引中A、C、G、T四种碱基的频数。


8.根据权利要求7所述的加速方法,其特征在于,所述表项的的0-7比特表示碱基“A”的频数,8-15比特表示碱基“C”的频数,16-23比特表示碱基“G”的频数,24-31比特表示碱基“T”的频数。


9.根据权利要求8所述的加速方法,其特征在于,所述步骤2进一步包括初始化所述查找表步骤:统计该查找表中每一所述表项的索引中包含的A、C、G和T四种碱基的数目,确定该表项的值。


10.根据权利要求1所述的加速方法,其特征在于,所述压缩序列中每一个碱基与所述目标碱基进行比对的步骤进一步包括:
步骤21,将所述压缩序列中的每2个比特组成的比特对分别按位与所述目标碱基进行异或运算,得到第一比对结果;
步骤22,对所述第一比对结果进行或非运算,得到第二比对结果,该第二比对结果包括m个比特位,该m个比特位分别标识着所述压缩序列的m个碱基是否与所述目标碱基相同,其中m为正整数;
步骤23,计算所述第二比对结果中包含的“1”的数目M,M表示所述压缩序列中目标碱基的数目。


11.一种用于基因比对的加速装置,其特征在于,包括:
多个处理单元,用于对待比对的基因数据进行处理,且每一...

【专利技术属性】
技术研发人员:谭光明王元戎张中海
申请(专利权)人:北京哲源科技有限责任公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1