【技术实现步骤摘要】
一种基于TPBWT自索引结构滑动窗口压缩方法
[0001]本专利技术涉及三代测序DNA数据压缩领域,具体涉及一种DNA自索引滑动窗口压缩算法。
技术介绍
[0002]随着测序技术的发展,尤其是三代测序技术的出现,使得测序飞速增加并且大量积累主流的压缩技术,如CRAM、Quip压缩二代数据效果较好,压缩三代数据表现较差。基于TPBWT的LYZip压缩工具可以很好地压缩三代DNA数据,达到非常高的压缩比。但是灵活性较差,不能够按照用户需求压缩指定区间数据,压缩耗时长,无法实现多线程压缩。
[0003]针对上述问题,提取一种针对三代测序数据,并且能够按照用户需要灵活高效,并且能够保持高压缩比的压缩方法十分必要。
技术实现思路
[0004]本专利技术的目的是为了解决现有压缩工具LYZip不能够按照用户需求压缩指定区间数据,压缩耗时长,无法实现多线程压缩问题,而提出一种基于TPBWT自索引结构滑动窗口压缩方法。
[0005]一种基于TPBWT自索引结构滑动窗口压缩方法具体过程为:
[0006]步 ...
【技术保护点】
【技术特征摘要】
1.一种基于TPBWT自索引结构滑动窗口压缩方法,其特征在于:所述方法具体过程为:步骤一、数据预处理;步骤二、对步骤一预处理后数据进行分块处理;步骤三、对步骤二分块处理后的每一块进行分流处理;步骤四:将步骤三分流处理后的数据整合为一个压缩文件。2.根据权利要求1所述一种基于TPBWT自索引结构滑动窗口压缩方法,其特征在于:所述步骤一中数据预处理;具体过程为:步骤一一、将每条待压缩的三代DNA测序短读序列碱基按照起始位置比对到参考基因组参考序列上,将比对上的待压缩的三代DNA测序短读序列中碱基转换为数字
‘0’
,比对不上的待压缩的三代DNA测序短读序列中碱基变为数字
‘1’
;
‘1’
所对应的单核苷酸变异、插入删除变异或结构变异数据放入异常值表中;存储在异常值表中的单核苷酸变异、插入删除变异或结构变异数据和参考序列碱基位点存在对应关系;所述参考基因组将{A,T,C,G}转换为{0,1}序列,将信息熵从2降低到1;所述单核苷酸变异、插入删除变异或结构变异数据为比对不上的待压缩的三代DNA测序短读序列中碱基;步骤一二、压缩过程中,引入
‘2’
占据每个待压缩的三代DNA测序短读序列之间未覆盖的gap间隔区域位点;步骤一三、设置参数
‘3’
,作为每条短读序列的终止标志符;步骤一四、将每条待压缩的三代DNA测序短读序列碱基对应的质量分数进行区分:每条待压缩的三代DNA测序短读序列碱基对应一质量分数;能够比对到参考基因组参考序列的短读序列碱基对应的质量分数;不能够比对到参考基因组参考序列的短读序列碱基对应的质量分数;步骤一五、每条待压缩的三代DNA测序短读序列格式是sam格式,包含每条待压缩的三代DNA测序短读序列的起始位置信息终止位置信息,长度信息。3.根据权利要求2所述一种基于TPBWT自索引结构滑动窗口压缩方法,其特征在于:所述步骤二中对步骤一预处理后数据进行分块处理;具体过程为:设置滑动窗口参数:滑动窗口区间和滑动窗口大小;压缩分为两个分支:指定区间动态压缩和多数据块并行压缩;所述指定区间为滑动窗口区间的起始位置和终止位置;所述多数据块并行压缩为根据滑动窗口大小将全部数据划分为多个子数据;多个子数据就组成了多数据块;步骤二一、当设置滑动窗口区间的起始位置和终止位置坐标时,进行指定区间的动态压缩;具体过程为:设置滑动窗口区间初始的起始位置和终止位置坐标为[start1,end1],处在滑动窗口边缘的短读序列采取边缘取舍策略;边缘取舍策略分为以下2种情况:1)全部舍弃:舍弃处在滑动窗口边缘的短读序列;2)全部保留:不断延伸滑动窗口区间,直到全部处在滑动窗口边缘的短读序列都被滑
动窗口包含在内。步骤二二、当设置滑动窗口的大小时,进行多数据块并行压缩;具体过程为:根据设定滑动窗口的大小将短读序列划分为大小相同的数据块;通过设定线程数,确定一次并行处理多少个数据块。4.根据权利要求3所述一种基于TPBWT自索引结构滑动窗口压缩方法,其特征在于:所述步骤三中对步骤二分块处理后的每一块进行分流处理;具体过程为:步骤三一、对步骤二一或步骤二二分块处理后的每一块中碱基序列进行压缩;步骤三二、对步骤二一或步骤二二分块处理后的每一块中单核苷酸变异、插入删除变异或结构变异数据进行压缩;步骤三三、对步骤二一或步骤二二分块处理后的每一块中能够比对到参考基因组参考序列的短读序列碱基对应的质量分数进行压缩;步骤三四、对步骤二一或步骤二二分块处理后的每一块中不能够比对到参考基因组参考序列的短读序列碱基对应的质量分数进行压缩;步骤三五、对步骤二一或步骤二二分块处理后的每一块中短读序列包含的起始位置信息,终止位置信息,长度信息数据进行压缩。5.根据权利要求4所述一种基...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。