[发明专利]一种对多序列BWT索引构建进行并行加速的方法在审
申请号: | 201510328718.8 | 申请日: | 2015-06-15 |
公开(公告)号: | CN104899476A | 公开(公告)日: | 2015-09-09 |
发明(设计)人: | 彭绍亮;朱小谦;王恒;卢宇彤;杨灿群;吴诚堃;崔英博;刘欣;王海强;程乾;夏徐伟 | 申请(专利权)人: | 中国人民解放军国防科学技术大学 |
主分类号: | G06F19/22 | 分类号: | G06F19/22 |
代理公司: | 国防科技大学专利服务中心 43202 | 代理人: | 郭敏 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种多序列BWT索引构建的并行加速方法,目的是解决现有大规模序列集合BWT索引构建中对序列集合进行分块排序,然后通过两两合并再排序的方式不断递归合并排序的过程,造成BWT索引构建速度较慢,效率低下的问题。采用的技术方案是首先遍历序列集合R中各序列的所有后缀,检查各后缀的前l个字符,把具有相同前l个字符的后缀划分到同一个内存分块;之后并行地在各个分块内部独立地对该分块所包含的后缀进行排序;然后将各排好序的分块拼接起来,得到序列集合R中所有后缀的次序;最后按字典序从小到大的顺序依次取各后缀的BWT字符连接起来得到序列集合R的BWT索引。有益效果是有效提高多序列BWT索引的构建过程,减少全基因组组装所需时间约90%。 | ||
搜索关键词: | 一种 序列 bwt 索引 构建 进行 并行 加速 方法 | ||
【主权项】:
一种对多序列BWT索引构建进行并行加速方法,其特征在于包括以下步骤:步骤1:根据序列规模和处理器内存大小确定对后缀分块时所用分隔字符串的长度l;令Σ={c1,c2,...,cσ}为一个有限的字母表,满足c1<c2<…<cσ,其中‘<’表示字典序,σ表示字母表Σ中的字符个数;令S=s1s2…si…sk‑1sk为一个有限的字符串,其中sk='$','$'为字符串结束标志,si∈Σ,1≤i<k;S[i,j]=sisi+1...sj表示S的从第i个字符到第j个字符构成的子串,其中1≤i≤j≤k;形如S[j,k]的子串称作S的后缀,其中1≤j≤k;称s[j‑1]为后缀S[j,k]的BWT字符,其中1<j≤k;令后缀S[1,k]的BWT字符为'$';令R={S1,S2,...,Sm}表示字母表Σ上的m条字符串,Si的长度为k且Si[k]='$';对于处理器内存大小为M字节的情形,l=[(logσ(mk2/(2M)))];步骤2:构建含有σl个处理器的机群系统,依次编号为
步骤3:在机群系统主存中开辟σl个动态桶,初始大小为mk2/(4σl)字节,标号依次为1到σl,桶为内存分块;步骤4:对序列集合R中包含的m*k条后缀进行分区,步骤4.1:置i=1;步骤4.2:对第i条序列的后缀进行分区,步骤4.2.1:置j=1;步骤4.2.2:检查第i条序列的后缀Si[j,k]的前l个字符Si[j,j+l‑1],对于长度不足l的后缀,在其末尾添加字符c1直至达到l长度,c1∈Σ;若Si[j,j+l‑1]=ci1ci2…cil,则将后缀Si[j,k]放入编号为h的桶中,其中h=(i1‑1)*σl‑1+(i2‑1)*σl‑2+···+(il‑1)*σl‑l+1,i1,i2,…,il分别是Si[j,j+l‑1]中包含的l个字符在字母表Σ={c1,c2,...,cσ}中的顺序号,若桶中内存空间不足以存放新的后缀,则将其内存空间扩展mk2/(16σl)字节;步骤4.2.3:置j=j+1;步骤4.2.4:若j≤k,则转步骤4.2.2,否则转步骤4.3;步骤4.3:置i=i+1;步骤4.4:若i≤m,则转步骤4.2,否则转步骤5;步骤5:在σl个处理器上并行地对σl个桶内的后缀分别进行字典序排序,处理器pt对编号为t的桶内的后缀进行排序,1≤t≤σl;步骤6:按照编号从1到σl的顺序将各个桶内已排好序的后缀拼接起来,得到R中所有后缀的次序(字典序),序列集合R中包含m条序列,每条序列有k个后缀,序列集合R中一共包含m*k条后缀,设这些后缀的字典序为Suffix1<Suffix2<…<Suffixm*k;步骤7:依次取Suffix1,Suffix2,…,Suffixm*k的BWT字符,连接起来得到R的BWT索引;步骤8:将BWT索引输出。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科学技术大学,未经中国人民解放军国防科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510328718.8/,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06 计算;推算;计数
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用
G06F 电数字数据处理
G06F19-00 专门适用于特定应用的数字计算或数据处理的设备或方法
G06F19-10 .生物信息学,即计算分子生物学中的遗传或蛋白质相关的数据处理方法或系统
G06F19-12 ..用于系统生物学的建模或仿真,例如:概率模型或动态模型,遗传基因管理网络,蛋白质交互作用网络或新陈代谢作用网络
G06F19-14 ..用于发展或进化的,例如:进化的保存区域决定或进化树结构
G06F19-16 ..用于分子结构的,例如:结构排序,结构或功能关系,蛋白质折叠,结构域拓扑,用结构数据的药靶,涉及二维或三维结构的
G06F19-18 ..用于功能性基因组学或蛋白质组学的,例如:基因型–表型关联,不均衡连接,种群遗传学,结合位置鉴定,变异发生,基因型或染色体组的注释,蛋白质相互作用或蛋白质核酸的相互作用