1.一种sam及bam文件cigar域的压缩及解压还原方法,其特征在于,针对只有一个操作符的cigar域数据的压缩步骤包括:将cigar域数据编码为第一指定内容,然后送入压缩器进行压缩;针对只有一个操作符的cigar域数据的解压还原步骤包括:在解压还原时,如果解压出cigar域的数据为第一指定内容,则将解压出的qual域内容的长度作为指定的默认操作符或者第一指定内容携带的操作符的数字部分,并将其和指定的默认操作符或者第一指定内容携带的操作符组合还原出原始cigar域的数据。
2.根据权利要求1所述的sam及bam文件cigar域的压缩及解压还原方法,其特征在于,针对只有两个操作符的cigar域数据的压缩步骤包括:将cigar域数据编码为只包含其中一个操作符及其数字部分的第二指定内容,然后送入压缩器进行压缩;针对只有一个操作符的cigar域数据的解压还原步骤包括:在解压还原时,如果解压出cigar域的数据为包含一个操作符及其数字部分的第二指定内容,则将解压出的qual域内容的长度减去所述一个操作符的数字部分作为另一个操作符的数字部分,然后将一个操作符及其数字部分、另一个操作符及其数字部分按照指定的顺序组合还原出原始cigar域的数据。
3.根据权利要求2所述的sam及bam文件cigar域的压缩及解压还原方法,其特征在于,所述只有两个操作符的cigar域数据包括正则表达式满足“\d+m\d+s”的cigar域数据,且其压缩步骤为将“\d+m\d+s”省略“\d+m”部分编码为“\d+s”,然后送入压缩器进行压缩;且其解压还原步骤为在解压还原时,如果解压出cigar域的数据只有一个操作符s及其数字部分且满足正则表达式“\d+s”,则将解压出的qual域内容的长度减去解压出来的操作符s的数字部分作为原始cigar域中操作符m的数字部分,然后将操作符m及其数字部分、操作符s及其数字部分组合还原出正则表达式满足“\d+m\d+s”的原始cigar域的数据。
4.根据权利要求2所述的sam及bam文件cigar域的压缩及解压还原方法,其特征在于,所述只有两个操作符的cigar域数据包括正则表达式满足“\d+s\d+m”的cigar域数据,且其压缩步骤为将“\d+s\d+m”省略“\d+m”部分并编码为“s\d+”,然后送入压缩器进行压缩;且其解压还原步骤为在解压还原时,如果解压出cigar域的数据只有一个操作符s及其数字部分且满足正则表达式“s\d+”,则将解压出的qual域内容的长度减去解压出来的操作符s的数字部分作为原始cigar域中操作符m的数字部分,然后将操作符m及其数字部分、操作符s及其数字部分组合还原出正则表达式满足“\d+s\d+m”的原始cigar域的数据。
5.根据权利要求1或2所述的sam及bam文件cigar域的压缩及解压还原方法,其特征在于,针对正则表达式中第一个及最后一个操作符均为“\d+m”且包含三个及以上操作符的cigar域数据的压缩步骤包括:将cigar域数据编码省略第一个操作符m及其数字部分“\d+m”、最后一个操作符的操作符m得到第三指定内容,然后送入压缩器进行压缩;针对正则表达式中第一个及最后一个操作符均为“\d+m”且包含三个及以上操作符的cigar域数据的解压还原步骤包括:在解压还原时,如果解压出cigar域的数据匹配第三指定内容的正则表达式,则将解压出的qual域内容的长度减去解压出cigar域的数据中各个操作符的数字部分的总和得到第一个操作符m的数字部分,然后将第一个操作符m及其数字部分、解压出cigar域的数据、操作符m三者组合还原出原始cigar域的数据。
6.一种sam及bam文件cigar域的压缩方法,其特征在于,实施步骤包括:
a1)判断目标cigar域数据的类型,如果目标cigar域数据为只有一个操作符的cigar域数据,则跳转执行步骤a2);如果目标cigar域数据为只有两个操作符的cigar域数据,则跳转执行步骤a3);如果目标cigar域数据为正则表达式中第一个及最后一个操作符均为“\d+m”且包含三个及以上操作符的cigar域数据,则跳转执行步骤a4);否则跳转执行步骤a5);
a2)将cigar域数据编码为第一指定内容,跳转执行步骤a6);
a3)将cigar域数据编码为只包含其中一个操作符及其数字部分的第二指定内容,跳转执行步骤a6);
a4)将cigar域数据编码省略第一个操作符m及其数字部分“\d+m”、最后一个操作符的操作符m得到第三指定内容,跳转执行步骤a6);
a5)针对目标cigar域数据按照指定方式进行编码,跳转执行步骤a6);
a6)将编码后的内容送入压缩器进行压缩,结束并退出。
7.一种权利要求6所述sam及bam文件cigar域的压缩方法的解压还原方法,其特征在于实施步骤包括:
b1)获取解压出cigar域以及qual域的数据;
b2)判断解压出cigar域的数据类型,如果解压出cigar域的数据为第一指定内容,则跳转执行步骤b3);如果解压出cigar域的数据为第一指定内容,则跳转执行步骤b4);如果解压出cigar域的数据匹配第三指定内容的正则表达式,则跳转执行步骤b5);否则跳转执行步骤b6);
b3)将解压出的qual域内容的长度作为指定的默认操作符或者第一指定内容携带的操作符的数字部分,并将其和指定的默认操作符或者第一指定内容携带的操作符组合还原出原始cigar域的数据,结束并退出;
b4)将解压出的qual域内容的长度减去所述一个操作符的数字部分作为另一个操作符的数字部分,然后将一个操作符及其数字部分、另一个操作符及其数字部分按照指定的顺序组合还原出原始cigar域的数据,结束并退出;
b5)将解压出的qual域内容的长度减去解压出cigar域的数据中各个操作符的数字部分的总和得到第一个操作符m的数字部分,然后将第一个操作符m及其数字部分、解压出cigar域的数据、操作符m三者组合还原出原始cigar域的数据,结束并退出;
b6)针对解压出cigar域的数据按照指定方式进行解码,结束并退出。
8.一种sam及bam文件cigar域的压缩及解压还原系统,包括计算机设备,其特征在于,该计算机设备被编程或配置以执行权利要求1~5中任意一项所述sam及bam文件cigar域的压缩及解压还原方法的步骤,或者该计算机设备被编程或配置以执行权利要求6所述sam及bam文件cigar域的压缩方法的步骤,或者该计算机设备被编程或配置以执行权利要求7所述解压还原方法的步骤。
9.一种sam及bam文件cigar域的压缩及解压还原系统,包括计算机设备,其特征在于,该计算机设备的存储介质上存储有被编程或配置以执行权利要求1~5中任意一项所述sam及bam文件cigar域的压缩及解压还原方法的计算机程序,或者该计算机设备的存储介质上存储有被编程或配置以执行权利要求6所述sam及bam文件cigar域的压缩方法的计算机程序,或者该计算机设备的存储介质上存储有被编程或配置以执行权利要求7所述解压还原方法的计算机程序。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程或配置以执行权利要求1~5中任意一项所述sam及bam文件cigar域的压缩及解压还原方法的计算机程序,或者该计算机可读存储介质上存储有被编程或配置以执行权利要求6所述sam及bam文件cigar域的压缩方法的计算机程序,或者该计算机可读存储介质上存储有被编程或配置以执行权利要求7所述解压还原方法的计算机程序。