一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于参考的基因压缩方法与流程

2022-05-21 08:12:22 来源:中国专利 TAG:


1.本发明主要涉及到基因检测技术领域,特指一种基于参考的基因压缩方法。


背景技术:

2.现有基因检测过程中,需要对基因进行压缩。传统一般的基因压缩是采用base行压缩的方式,步骤为:
3.步骤s1:读取出当前待压缩的base行序列seq;
4.步骤s2:搜索整个参考基因组,找出与当前base行最接近的基因序列,作为匹配序列标记为seq_ref;
5.步骤s3:计算seq与seq_ref的异或序列seq_nor;
6.步骤s4:对seq_nor进行编码序列enc_nor。
7.上述这类传统方案存在不足:一般情况下搜索到的参考基因序列与原序列存在差异,有时候直接压缩比基于参考序列更容易压缩。
8.例如:采用游程编码压缩,如(仅表示压缩时的效果,真实情况并非一定按照该方法压缩)
9.seq:”tttttttttttttttt”直接压缩为:16个t,压缩仅消耗2个byte
10.seq_ref:”ttttatttttttttta”11.seq_nor:“0000100000000001”压缩为:4个0,1个1,15个0,1个1,压缩消耗8个byte
12.(1)参考序列还需要另外添加匹配的位置信息,一般位置信息是一个64位的整数,也会增加编码后的bits数。
13.(2)搜索当前base行对应的参考基因组的过程非常耗时。


技术实现要素:

14.本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、整体开销小、效率高的基于参考的基因压缩方法。
15.为解决上述技术问题,本发明采用以下技术方案:
16.一种基于参考的基因压缩方法,其步骤包括:
17.步骤s1:获取当前待压缩的base行数据直接压缩的代价cost0;
18.步骤s2:将直接压缩的代价cost0与基于参考基因组的压缩代价cost2进行比较,如果cost0小于等于cost2,则用直接压缩的方法压缩当前base行;否则用基于参考基因组的压缩方法压缩当前base行。
19.作为本发明方法的进一步改进:所述步骤s1包括:
20.步骤s101:读取当前待压缩的base行数据curr_base,其长度为len;
21.步骤s102:计算当前base行直接压缩的代价cost0;
22.作为本发明方法的进一步改进:所述步骤s102中,cost0的计算方法为:
23.cost0=cost_noref(curr_base,len)
24.其中cost_noref为直接压缩的代价预估方法,用实际的压缩方法去进行压缩,得到压缩后的bits数,用压缩后的bits代表cost0。
25.作为本发明方法的进一步改进:所述步骤s102中,cost_noref的预估流程为:
26.步骤s1000:对curr_base进行游程编码,获取编码bits数,记为gis_bits(curr_base);
27.步骤s1001:cost0=gis_bits(curr_base)。
28.作为本发明方法的进一步改进:所述步骤s2中,从参考基因组中搜索与curr_base的最佳匹配序列curr_ref和匹配ref_pos;计算当前base行采用最佳匹配序列curr_ref进行压缩的代价cost2。
29.作为本发明方法的进一步改进:所述步骤s2中,cost2的计算方法如下:
30.cost2=cost_ref(curr_base,curr_ref,len,ref_pos)
31.其中cost_ref为基于参考基因序列的代价预估方法,先计算curr_base与curr_ref的异或curr_nor,计算压缩curr_nor的bits数和ref_pos的编码bits数的和来估算。
32.作为本发明方法的进一步改进:所述步骤s2中,所述cost_ref的预估流程为:
33.步骤s10000:对curr_base和curr_ref进行异或,得到curr_nor序列;
34.步骤s10001:对curr_nor进行游程编码,获取编码bits数,记为gis_bits(curr_nor);
35.步骤s10002:ref_pos为4个bits;
36.步骤s10003:估算curr_ref的bits,对curr_ref进行gz编码得到编码bits数,记为gz-bits(curr_ref),计算cost2时对该值进行加权,统计当前该基因片段被参考的次数为n_refed,加权系数w设置为如下函数:
37.w=0.2当n_refed《=5时;
38.w=1/n_refed当n_refed》5时;
39.步骤s1004:cost2=gis_bits(curr_nor) 4 gz_bits(curr_ref)*w。
40.与现有技术相比,本发明的优点就在于:
41.本发明的基于参考的基因压缩方法,原理简单、操作简便、整体开销小、效率高;本发明将直接压缩的代价cost0与基于参考基因组的压缩代价cost2进行比较,如果cost0小于等于cost2,则用直接压缩的方法压缩当前base行;否则用基于参考基因组的压缩方法压缩当前base行。这样子能够大大提高压缩率。
附图说明
42.图1是本发明方法的流程示意图。
43.图2是本发明在具体应用实例中的流程示意图。
具体实施方式
44.以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
45.如图1和图2所示,本发明的基于参考的基因压缩方法,其步骤包括:
46.步骤s1:获取当前待压缩的base行数据直接压缩的代价cost0;
47.步骤s2:将直接压缩的代价cost0与基于参考基因组的压缩代价cost2进行比较,
如果cost0小于等于cost2,则用直接压缩的方法压缩当前base行;否则用基于参考基因组的压缩方法压缩当前base行。
48.在具体应用实例中,所述步骤s1包括:
49.步骤s101:读取当前待压缩的base行数据curr_base,其长度为len;
50.步骤s102:计算当前base行直接压缩的代价cost0。
51.作为较佳的实施例,在步骤s102中,cost0的计算方法为:
52.cost0=cost_noref(curr_base,len)
53.其中cost_noref为直接压缩的代价预估方法,实际操作中可以直接用实际的压缩方法去进行压缩,得到压缩后的bits数,用压缩后的bits代表cost0。
54.可以理解,在其他实施例中,根据实际需要,也可以用简易快速的方法预估该bits。
55.在较佳的另一个实例中,为有效减少代价预估的时间,cost_noref的预估方法的一种实现方式的流程为:
56.步骤s1000:对curr_base进行游程编码,获取编码bits数,该方法记为gis_bits(curr_base);
57.步骤s1001:cost0=gis_bits(curr_base)。
58.在具体应用实例中,所述步骤s2中,本发明进一步从参考基因组中搜索与curr_base的最佳匹配序列curr_ref和匹配ref_pos。计算当前base行采用最佳匹配序列curr_ref进行压缩的代价cost2;
59.作为较佳的实施例,在步骤s5中,cost2的计算方法如下:
60.cost2=cost_ref(curr_base,curr_ref,len,ref_pos)
61.其中cost_ref为基于参考基因序列的代价预估方法,实际操作中可以先计算curr_base与curr_ref的异或curr_nor,计算压缩curr_nor的bits数和ref_pos的编码bits数的和来估算。
62.可以理解,在其他实施例中,根据实际需要,本发明也可以用一些快速的预估方法。
63.在较佳的另一个实例中,为有效减少代价预估的时间,cost_ref的预估方法的一种实现方式的流程为:
64.步骤s10000:对curr_base和curr_ref进行异或,得到curr_nor序列;
65.步骤s10001:对curr_nor进行游程编码,获取编码bits数,该方法记为gis_bits(curr_nor);
66.步骤s10002:ref_pos一般为4个bits;
67.步骤s10003:估算curr_ref的bits:对curr_ref进行gz编码得到编码bits数,该方法记为gz-bits(curr_ref),由于此处该参考基因片段也可能被其他base行参考,计算cost2时对该值进行加权,统计当前该基因片段被参考的次数为n_refed,加权系数w设置为如下函数:
68.w=0.2当n_refed《=5时
69.w=1/n_refed当n_refed》5时
70.步骤s1004:cost2=gis_bits(curr_nor) 4 gz_bits(curr_ref)*w。
71.以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献