CN110060734B - 一种高鲁棒性dna测序用条形码生成和读取方法 - Google Patents

一种高鲁棒性dna测序用条形码生成和读取方法 Download PDF

Info

Publication number
CN110060734B
CN110060734B CN201910252268.7A CN201910252268A CN110060734B CN 110060734 B CN110060734 B CN 110060734B CN 201910252268 A CN201910252268 A CN 201910252268A CN 110060734 B CN110060734 B CN 110060734B
Authority
CN
China
Prior art keywords
sequencing
sequence
barcode
deletion
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910252268.7A
Other languages
English (en)
Other versions
CN110060734A (zh
Inventor
陈为刚
王丽霞
韩明哲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN201910252268.7A priority Critical patent/CN110060734B/zh
Publication of CN110060734A publication Critical patent/CN110060734A/zh
Application granted granted Critical
Publication of CN110060734B publication Critical patent/CN110060734B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B25/00ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
    • G16B25/10Gene or protein expression profiling; Expression-ratio estimation or normalisation

Landscapes

  • Health & Medical Sciences (AREA)
  • Genetics & Genomics (AREA)
  • Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biotechnology (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本发明公开了一种高鲁棒性DNA测序用条形码生成和读取方法,属于基因组学的高通量测序领域,将已知伪随机序列与相同长度的短码长循环码逐比特组合成比特对,比特对映射为一个碱基,不同的碱基序列经过筛选后就构成了测序用条形码;进一步,提出用循环移位和动态规划判断接收测序用条形码发生***、删节错误的位置,修正接收的纠错码字并进行译码的处理方法。混样测序中,该发明对测序条形码的各类错误均具有良好纠错能力,能够对抗合成、建库以及测序中的***(insertion)、删节(deletion)与替代错误,具有很高的鲁棒性。

Description

一种高鲁棒性DNA测序用条形码生成和读取方法
技术领域
本发明涉及基因组学的高通量测序领域,尤其涉及一种高鲁棒性DNA测序用条形码生成和读取方法。
背景技术
下一代高通量测序(HTS)在单次上机测序中产生大量读段,并且测序速度不断提高,促进了生物医学领域的新发现。为充分利用测序设备的高通量测序能力,可以将多个包含数百万个不同DNA分子的DNA样品混合在一起,进行大规模并行测序,然后基于DNA分子上一段用于区分不同样品来源的独特的碱基序列—DNA测序用条形码(或者称为“索引”),将测序后的所有读段重新分配到其各自的样品。这种多样本复用的测序方式实现了测序成本的进一步降低,但是也存在不同样本之间相互干扰的问题。因此,保证DNA测序条形码的鲁棒性,对保证高通量多样本并行测序的准确性具有重要意义。
研究发现,一些测序平台,例如Illumina公司的测序平台HiSeq 3000/4000、HiSeqX Ten以及NovaSeq,混样上机测序会出现测序条形码(或者称为索引)的“错误分配”问题,也称为“索引跳变”(index hopping),样本错误分配率达到0.2%~6%;且对于PCR-free文库,即使采用双索引策略,平均污染率也只能降到0.08%。索引污染可能由于实验操作、PCR错误、测序错误、寡核苷酸合成错误引入,这些错误通过混淆样品来源来降低测序准确性。最常见的DNA合成错误是单碱基的删节(Deletion),删节错误对译码尤其具有挑战性,因为它会在下游测序中引起移码;在大规模寡核苷酸合成期间,替代和***错误也是存在的。而且,高通量测序本身也会存在10-3~10-4的错误率。三代测序的错误更是接近10%。因此,设计能对抗***、删节与替代错误的高鲁棒性DNA测序用条形码对降低“索引跳变”率有重要意义。提高条形码的鲁棒性可通过纠错码来实现。通过纠正测序用条形码上的***、删节和替代错误,降低索引污染率,增加正确识别的样本总数,从而提高整体测序效率。
目前,已经提出了不同结构的具有纠错功能的DNA测序用条形码。2008年,Hamady等人在Nature Method发表论文首次提出了基于二进制汉明码的测序用条形码;Krishnan等人对Hamady提出的条形码进行了改进,进一步提出了基于BCH码的条形码,具有更大的码字间最小距离和更高的纠错能力。但是,上述两种方法仅仅能纠正传统替代错误。Adey与Morrison首次提出了基于Levenshtein距离的测序用条形码,能够纠正***、删节和替代错误,但是没有已知的***的码构造方法可在编辑距离下给出最佳码字。Ashlock和Houghten在论文中提出利用贪心算法来找到具有高的编辑距离的适当大小的条形码集,可以满足生物约束,然而没有给出实际译码步骤。Buschmann和Bystrykh将传统的Levenshtein距离度量进行改进,称为“Sequence-Levenshtein”码,将其作为测序用条形码,该方法能够检测并恢复损坏的条形码的边界,并且平均校正比传统的Levenshtein或汉明码更多的随机突变。David和Steffenr利用Davey和Mackay提出的水印码作为测序用条形码,具有良好的同步能力,不需要任何标记就能够恢复测序读段中条形码的位置,而且具有良好的***删节纠错能力,但是这种方法的译码复杂度较高,短码的性能并不具有优势,而测序条码一般只能使用非常短的序列。
进一步,实际测序中条形码紧邻DNA文本,此时条形码上单独的***或删节错误会引起序列长度的变化,由于无“停止词”将条形码与DNA文本分开,表现为条形码末端发生等数目的删节或***错误。
发明内容
本发明提供了一种高鲁棒性DNA测序用条形码生成和读取方法,本发明以较低的复杂度,获得了良好的纠正***、删节错误的性能,详见下文描述:
一种高鲁棒性DNA测序用条形码生成和读取方法,所述方法包括以下步骤:
(1)用长度为k的信息序列mi表示不同的DNA测序样本,信息序列mi采用短码长分组循环码生成长度为n的编码码字c;然后产生长度为n的伪随机序列p;将伪随机序列p与编码码字c进行逐比特组合,按照预设规则将比特对映射为碱基得到长度为n的碱基序列b,即得到最多支持2k的不同样本混合测序的DNA测序条形码;
(2)不同样本的信息序列生成不同的测序条形码,对各个样本分别进行样本建库;利用引物合成技术合成测序条形码正链和反链,合成时在正链3’端添加一个T碱基;通过退火正链和反链,合成具有3’端T尾粘性末端的双链条形码DNA;利用DNA末端修复酶对已打断的待测样本进行尾端修复同时在3’端添加A尾粘性末端;在DNA连接酶的作用下将条形码添加至待测样本;混合样本上机进行高通量测序,得到包含不同错误的混合样品接收序列;
(3)根据解映射后得到的对应已知伪随机序列的部分,通过相关检测或动态规划法获取伪随机序列窗口,进而得到测序用条形码的窗口,接收窗口的测序用条形码解映射后,得到接收随机序列s和接收码字d;
(4)将s和d依次左循环移位i次得s(i)和d(i),将p依次左循环移位k次,得到p(k),比较p(k)和s(i),利用动态规划标记***/删节位置,对d(i)进行修正并纠错纠删译码,产生候选码字集
Figure BDA0002012694120000031
选择译码成功的码字作为最终译码结果
Figure BDA0002012694120000032
据此将测序读段分配至不同样本。
其中,所述预设规则为:00→A,01→T,10→G,11→C。
进一步,所述解映射规则为:A→00,T→01,G→10,C→11。
其中,所述利用动态规划标记***/删节位置,对d(i)进行修正的操作具体为:
1)利用动态规划比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置;
2)若某位置标记为***,则删掉d(i)对应位置的比特;若标记为删节,则在d(i)对应位置补入比特0或比特1;得到修正后的码字dc (i)
进一步地,所述纠错纠删译码具体为:
(1)对dc (i)右循环移位i次,输入译码器进行纠错纠删译码,产生译码码字
Figure BDA0002012694120000033
(2)计算译码码字
Figure BDA0002012694120000034
的伴随式S(x),若S(x)=0,译码成功,执行步骤(5);否则执行步骤(3);
(3)判断k=i+c是否成立,若成立,结束伪随机序列p的循环移位,执行步骤(4);否则k增加1,执行伪随机序列左循环移位k次;
(4)判断i=n-1是否成立,若成立,结束接收序列s和接收码字d循环移位,并执行步骤(5);否则令i增加1,执行接收序列左循环移位i次;
(5)输出译码码字
Figure BDA0002012694120000035
至此译码结束。
进一步地,所述利用动态规划比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置具体为:
计算递归计算网格图中到达每一节点(i,j)的三种路径的最小距离值d(xi,yj)时,同步记录得到最小距离值所对应的路径,即上个节点的坐标值;
当i=n,j=n,终止递归,此时d(x,y)=d(xn,yn)即为发送序列与接收序列的Levenshtein距离;
从节点(n,n)出发,利用pointer(i,j)中的信息,寻找一条到达节点(0,0)的最大似然路径并同步记录此路径上的***、删节和替代错误;
若pointer(i,j)=(i-1,j)表示发生删节;若pointer(i,j)=(i-1,j-1)表示正确传输或替代,此时再判断xi和yj的值,若xi=yj,则表示正确传输,若xi≠yj,则表示替代;若pointer(i,j)=(i,j-1),则表示发生***。
其中,所述最小距离值d(xi,yj)具体为:
Figure BDA0002012694120000041
其中,
Figure BDA0002012694120000042
表示删节的权重;若xi=yj,w(xi,yj)=0,若xi≠yj,w(xi,yj)表示替代错误的权重;
Figure BDA0002012694120000043
表示***的权重。
进一步地,
Figure BDA0002012694120000044
则pointer(i,j)=(i-1,j);
若d(xi,yj)=d(xi-1,yj-1)+w(xi,yj),则pointer(i,j)=(i-1,j-1);
Figure BDA0002012694120000045
则pointer(i,j)=(i,j-1)。
本发明提供的技术方案的有益效果是:
1、本发明通过循环移位和动态规划相结合的方法,提高了判断***、删节位置的准确性;
2、本发明提高了测序用条形码对混样测序中***、删节错误的纠错能力,具有非常高的鲁棒性。
附图说明
图1为高鲁棒性DNA测序用条形码生成和读取方法的流程图;
图2为DNA测序用条形码处理方法的流程图;
图3为动态规划法标记***、删节位置的流程图;
图4为本方法用于测序用条形码(BCH(31,11,5))时,在加入1个***、1个删节和若干替代错误以及2个***、2个删节和若干替代错误时,误帧率与错误数目关系曲线图;
图5为本方法用于测序用条形码(BCH(31,11,5))时,在两种错误模型下,误帧率与错误数目关系曲线图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。
针对上述问题,本发明实施例提出了一种低复杂度、能够对抗***、删节和替代错误的高鲁棒性DNA测序用条形码的生成和读取处理方法,其对测序用条形码上随机发生的***、删节错误具有良好的纠错能力。同时,本发明实施例中的测序条形码,对上述DNA文本中测序用条形码末端发生***/删节错误的情形,也具有更加优越的性能,具有更好的实用性。
实施例1
参见图1,高鲁棒性DNA测序用条形码生成和读取方法的具体步骤为:
(1)用长度为k(k为正整数)的信息序列mi(i=1,2,...,2k)表示不同的DNA测序样本,信息序列mi采用短码长分组纠错码生成长度为n的编码码字c;然后产生长度为n的伪随机序列p;将伪随机序列p与编码码字c进行逐比特组合成比特对,按照{00→A,01→T,10→G,11→C}规则将比特对映射为一个碱基,得到长度为n的碱基序列b,即得到最多可支持2k的不同样本混合测序的DNA测序条形码;
(2)不同样本的信息序列生成不同的测序条形码,对各个样本分别进行样本建库;利用引物合成技术合成测序条形码正链和反链,合成时在正链3’端添加一个T碱基;通过退火正链和反链,合成具有3’端T尾粘性末端的双链条形码DNA;利用DNA末端修复酶对待测样本进行尾端修复同时在3’端添加A尾粘性末端;在DNA连接酶的作用下,借助A/T末端粘性,将条形码添加至待测样本;在此之后完成添加测序接头等步骤完成样本建库;然后混合样本上机进行高通量测序,得到包含不同错误的混合样品接收序列;
(3)对接收序列进行解映射,解映射规则为A→00,T→01,G→10,C→11,然后根据解映射后得到的对应已知伪随机序列的部分,通过相关检测或动态规划法,得到伪随机序列窗口,从而得到测序用条形码的窗口,区分出样本以及样本的序列区域;接收窗口的测序用条形码解映射后,得到接收随机序列s和接收码字d;
(4)为识别***/删节错误位置,将s和d依次左循环移位i次(i=0,1,...,n-1)得s(i)和d(i),将p依次左循环移位k次(k∈[i-c,i+c],c为正常数),得到p(k)
然后比较p(k)和s(i),利用动态规划标记可能的***/删节位置,据此对d(i)进行修正,并进行纠错纠删译码,产生候选码字集
Figure BDA0002012694120000051
最后选择译码成功的码字作为最终译码结果
Figure BDA0002012694120000052
参见图2,为识别***/删节错误位置,将s和d依次左循环移位i次(i=0,1,...,n-1)得s(i)和d(i),将p依次左循环移位k次(k∈[i-c,i+c],c为正常数),得到p(k)
然后比较p(k)和s(i),利用动态规划标记可能的***/删节位置,据此对d(i)进行修正,并进行纠错纠删译码,产生候选码字集
Figure BDA0002012694120000061
最后选择译码成功的码字作为最终译码结果
Figure BDA0002012694120000062
的具体步骤为:
(4.1)初始化接收序列和接收码字循环移位的次数i=0;
(4.2)将接收序列s=(s0,s1,...,sn-1)依次左循环移位i次,
得到s(i)=(si,...,sn-1,s0,...,si-1),相应地,将接收码字d=(d0,d2,...,dn-1)依次左循环移位i次,得到与s(i)对应的d(i)=(di,...,dn-1,d0,...,di-1),其中n表示序列长度;
(4.3)初始化已知伪随机序列循环移位的次数k=0;
(4.4)将伪随机序列p=(p0,p1,...,pn-1)依次左循环移位k次(k∈[i-c,i+c],c为常数),得到p(k)=(pk,...,pn-1,p0,...,pk-1);
(4.5)利用动态规划法比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置;
(4.6)根据标记的***删节位置,对接收码字d(i)进行修正,即若某位置标记为***,则删掉d(i)对应位置的比特;若标记为删节,则在d(i)对应位置补入比特0或比特1;最后得到修正后的码字dc (i)
(4.7)对dc (i)右循环移位i次,然后输入译码器进行纠错纠删译码,产生译码码字
Figure BDA0002012694120000063
其中,二进制纠错码的纠错纠删译码方法是在纠错译码方法的基础上,加入判断语句,即先将d(i)在标记的删节位置全填上0后得dc (i),将dc (i)右循环移位i次后进行纠错译码,若译码器译码成功,则输出译码码字;若译码器译码错误,这时把dc (i)在标记的对应删节位置全填上1后得dc (i),将dc (i)右循环移位i次再送入译码器,译得的码字即为所求。
(4.8)计算译码码字
Figure BDA0002012694120000064
的伴随式S(x),若S(x)=0,则说明译码成功,执行步骤(4.11);若S(x)≠0,则译码失败,执行步骤(4.9);
(4.9)判断k=i+c是否成立,如果k=i+c成立,结束伪随机序列p的循环移位,并执行步骤(4.10);否则令k增加1,并返回步骤(4.4),其中n为序列长度;
(4.10)判断i=n-1是否成立,如果i=n-1成立,则结束接收序列s和接收码字d循环移位,并执行步骤(4.11);否则令i增加1,并返回步骤(4.2),其中n为序列长度;
(4.11)输出译码码字
Figure BDA0002012694120000071
至此译码结束。
参见图3,利用动态规划法比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置的具体步骤为:
令x=p(k),y=s(i),则x=(x1,x2,...,xl)和y=(y1,y2,...,yl)分别表示长度为n的发送序列和接收序列;令xi和yj分别表示序列x与y的前i个和前j个元素,即xi=(x1,x2,...,xi),yj=(y1,y2,...,yj),0≤i,j≤n。
(4.5.1)初始化原序列序号i=0和接收序列序号j=0;
(4.5.2)初始化Levenshtein距离,令d(x0,y0)=0;
(4.5.3)计算网格图中到达每一节点(i,j)的三种路径的最小距离值:
Figure BDA0002012694120000072
其中,
Figure BDA0002012694120000073
表示删节的权重;若xi=yj,则w(xi,yj)=0,若xi≠yj,则w(xi,yj)表示替代错误的权重;
Figure BDA0002012694120000074
表示***的权重。这里取
Figure BDA0002012694120000075
(其中xi≠yj);
(4.5.4)在计算d(xi,yj)时,同步记录得到最小距离值所对应的路径,即上个节点的坐标值;
Figure BDA0002012694120000076
则pointer(i,j)=(i-1,j);
若d(xi,yj)=d(xi-1,yj-1)+w(xi,yj),则pointer(i,j)=(i-1,j-1);
Figure BDA0002012694120000077
则pointer(i,j)=(i,j-1);
(4.5.5)判断j=n是否成立,如果j=n,结束j的循环;否则,令接收序列序号j增加1,并返回步骤(3);
(4.5.6)判断i=n是否成立,如果i=n,结束计算距离值,此时d(x,y)=d(xn,yn)即为发送序列与接收序列的Levenshtein距离,并执行步骤(7);否则,令原序列序号i增加1,并返回步骤(3);
(4.5.7)回溯,从节点(n,n)出发,通过利用pointer(i,j)中的信息,寻找一条到达节点(0,0)的最大似然路径并同步记录此路径上的***、删节和替代错误,即若pointer(i,j)=(i-1,j)表示发生删节;若pointer(i,j)=(i-1,j-1)表示正确传输或替代,此时再判断xi和yj的值,若xi=yj,则表示正确传输,若xi≠yj,则表示替代;若pointer(i,j)=(i,j-1),则表示发生***。
实施例2
在本发明的实施例中,通过对BCH(31,11,5)构造的DNA测序用条形码进行纠错性能仿真,验证了上述DNA测序条形码生成和处理方法在各类错误情况下均具有良好的纠错性能。
在步骤(1)中,用特定样本对应的长度为11的信息序列mi(i=1,2,...,211)进行BCH(31,11,5)编码,生成长度为31的编码码字c;然后产生长度为31的伪随机序列p;将伪随机序列p与编码码字c进行逐比特组合成比特对,按照{00→A,01→T,10→G,11→C}规则将一组比特对映射为一个碱基,得到长度为31的碱基序列b,即得到最多可支持211的不同样本混合测序的DNA测序条形码;
在步骤(2)中,不同样本的信息序列生成不同的测序条形码,对各个样本分别进行样本建库;利用引物合成技术合成测序条形码正链和反链,合成时在正链3’端添加一个T碱基;通过退火正链和反链合成具有3’端T尾粘性末端的双链条形码DNA;利用DNA末端修复酶对待测样本进行尾端修复同时在3’端添加A尾粘性末端;在DNA连接酶的作用下,借助A/T末端粘性,将条形码添加至待测样本;在此之后完成添加测序接头等步骤完成样本建库;然后混合样本上机进行高通量测序,得到包含不同错误的混合样品接收序列;
在步骤(3)中,对接收序列进行解映射,解映射规则为A→00,T→01,G→10,C→11,然后根据解映射后得到的对应已知伪随机序列的部分,通过相关检测或动态规划法,得到伪随机序列窗口,从而得到测序用条形码的窗口,区分出样本以及样本的序列区域;接收窗口的测序用条形码解映射后,得到接收随机序列s和接收码字d;
在步骤(4)中,为识别***/删节错误位置,将s和d依次左循环移位i次(i=0,1,...,30),得s(i)和d(i)
将p依次左循环移位k次(k∈[i-2,i+2]),得到p(k),然后比较p(k)和s(i),利用动态规划标记可能的***/删节位置,据此对d(i)进行修正,并进行纠错纠删译码,产生候选码字集
Figure BDA0002012694120000081
最后选择译码成功的码字作为最终译码结果
Figure BDA0002012694120000082
图4中给出了两种错误情形下(i)随机加入1个***,1个删节和若干替代错误(ii)随机加入2个***,2个删节和若干替代错误,利用条形码处理方案得到的误帧率与错误数目关系图。图5给出了在两种错误模型下(i)测序用条形码上随机发生相同数目的***和删节错误(ii)将条形码嵌入到DNA文本中时,条形码上仅发生***或删节错误,末端补入等数目的删节或者***错误,误帧率与错误数目关系图。
仿真结果表明,BCH(31,11,5)构造的测序用条形码在随机发生1个***、1个删节和若干替代错误以及随机发生2个***,2个删节和若干替代错误的情形下均具有良好的纠正***、删节和替代错误的能力。而且在错误模型(ii)下,误码率均明显低于(i),说明设计的测序用条形码在实际的场景中性能更为优越。
综上所述,本发明实施例提出了一种利用循环移位和动态规划判断接收测序用条形码上发生***、删节位置,修正接收纠错码字并进行译码的处理方法。仿真结果表明,该发明对混样测序中测序条形码的各类错误均具有良好纠错能力。
本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述方法包括以下步骤:
(1)用长度为k的信息序列mi表示不同的DNA测序样本,信息序列mi采用短码长分组循环码生成长度为n的编码码字c;然后产生长度为n的伪随机序列p;将伪随机序列p与编码码字c进行逐比特组合,按照预设规则将比特对映射为碱基得到长度为n的碱基序列b,即得到最多支持2k的不同样本混合测序的DNA测序条形码;
(2)不同样本的信息序列生成不同的测序条形码,对各个样本分别进行样本建库;利用引物合成技术合成测序条形码正链和反链,合成时在正链3’端添加一个T碱基;通过退火正链和反链,合成具有3’端T尾粘性末端的双链条形码DNA;利用DNA末端修复酶对已打断的待测样本进行尾端修复同时在3’端添加A尾粘性末端;在DNA连接酶的作用下将条形码添加至待测样本;混合样本上机进行高通量测序,得到包含不同错误的混合样品接收序列;
(3)根据解映射规则对接收序列进行解映射得到对应已知伪随机序列的部分,通过相关检测或动态规划法获取伪随机序列窗口,进而得到测序用条形码的窗口,接收窗口的测序用条形码解映射后,得到接收随机序列s和接收码字d;
(4)将s和d依次左循环移位i次得s(i)和d(i),将p依次左循环移位k次,得到p(k),比较p(k)和s(i),利用动态规划标记***/删节位置,对d(i)进行修正并纠错纠删译码,产生候选码字集
Figure FDA0003099681410000011
选择译码成功的码字作为最终译码结果
Figure FDA0003099681410000012
据此将测序读段分配至不同样本。
2.根据权利要求1所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述预设规则为:00→A,01→T,10→G,11→C。
3.根据权利要求1所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述解映射规则为:A→00,T→01,G→10,C→11。
4.根据权利要求1所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述利用动态规划标记***/删节位置,对d(i)进行修正的操作具体为:
1)利用动态规划比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置;
2)若某位置标记为***,则删掉d(i)对应位置的比特;若标记为删节,则在d(i)对应位置补入比特0或比特1;得到修正后的码字dc (i)
5.根据权利要求1所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述纠错纠删译码具体为:
(i)对修正后的码字
Figure FDA0003099681410000021
右循环移位i次,输入译码器进行纠错纠删译码,产生译码码字
Figure FDA0003099681410000022
(ii)计算译码码字
Figure FDA0003099681410000023
的伴随式S(x),若S(x)=0,译码成功,执行步骤(v);否则执行步骤(iii);
(iii)判断k=i+c是否成立,若成立,结束伪随机序列p的循环移位,执行步骤(iv);否则k增加1,执行伪随机序列左循环移位k次;
(iv)判断i=n-1是否成立,若成立,结束接收序列s和接收码字d循环移位,并执行步骤(v);否则令i增加1,执行接收序列左循环移位i次;
(v)输出译码码字
Figure FDA0003099681410000024
至此译码结束。
6.根据权利要求4所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述利用动态规划比较p(k)和s(i),计算序列之间的Levenstein距离并同步记录其对应的***删节错误的位置具体为:
计算递归计算网格图中到达每一节点(i,j)的三种路径的最小距离值d(xi,yj)时,同步记录得到最小距离值所对应的路径,即上个节点的坐标值;
当i=n,j=n,终止递归,此时d(x,y)=d(xn,yn)即为发送序列与接收序列的Levenshtein距离;
从节点(n,n)出发,利用pointer(i,j)中的信息,寻找一条到达节点(0,0)的最大似然路径并同步记录此路径上的***、删节和替代错误;
若pointer(i,j)=(i-1,j)表示发生删节;若pointer(i,j)=(i-1,j-1)表示正确传输或替代,此时再判断xi和yj的值,若xi=yj,则表示正确传输,若xi≠yj,则表示替代;若pointer(i,j)=(i,j-1),则表示发生***。
7.根据权利要求6所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,所述最小距离值d(xi,yj)具体为:
Figure FDA0003099681410000031
其中,
Figure FDA0003099681410000032
表示删节的权重;若xi=yj,w(xi,yj)=0,若xi≠yj,w(xi,yj)表示替代错误的权重;
Figure FDA0003099681410000033
表示***的权重。
8.根据权利要求7所述的一种高鲁棒性DNA测序用条形码生成和读取方法,其特征在于,
Figure FDA0003099681410000034
则pointer(i,j)=(i-1,j);
若d(xi,yj)=d(xi-1,yj-1)+w(xi,yj),则pointer(i,j)=(i-1,j-1);
Figure FDA0003099681410000035
则pointer(i,j)=(i,j-1)。
CN201910252268.7A 2019-03-29 2019-03-29 一种高鲁棒性dna测序用条形码生成和读取方法 Active CN110060734B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910252268.7A CN110060734B (zh) 2019-03-29 2019-03-29 一种高鲁棒性dna测序用条形码生成和读取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910252268.7A CN110060734B (zh) 2019-03-29 2019-03-29 一种高鲁棒性dna测序用条形码生成和读取方法

Publications (2)

Publication Number Publication Date
CN110060734A CN110060734A (zh) 2019-07-26
CN110060734B true CN110060734B (zh) 2021-08-13

Family

ID=67318026

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910252268.7A Active CN110060734B (zh) 2019-03-29 2019-03-29 一种高鲁棒性dna测序用条形码生成和读取方法

Country Status (1)

Country Link
CN (1) CN110060734B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929542B (zh) * 2019-11-19 2021-12-07 天津大学 基于分组纠错码的测序条形码构造与软判决识别方法
CN113345521A (zh) * 2021-05-31 2021-09-03 天津大学 一种采用大片段dna存储的编码与恢复方法
CN113343736B (zh) * 2021-06-21 2023-07-25 天津大学合肥创新发展研究院 一种dna测序用条形码识别算法的硬件加速装置
CN113380322B (zh) * 2021-06-25 2023-10-24 倍生生物科技(深圳)有限公司 人工核酸序列水印编码***、水印字符串及编码和解码方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002014553A2 (en) * 2000-08-11 2002-02-21 Favrille, Inc. A molecular vector identification system
CN106504180A (zh) * 2016-11-03 2017-03-15 大连大学 基于dna编码的图像加密纠错方法
CN106788458A (zh) * 2016-12-02 2017-05-31 天津大学 面向***删节与替代错误的硬判决导向前后向估计方法
CN106795568A (zh) * 2014-10-10 2017-05-31 因维蒂公司 测序读段的de novo组装的方法、***和过程
WO2018114980A1 (en) * 2016-12-19 2018-06-28 Universiteit Gent Polynucleotide shuffling method
CN108893464A (zh) * 2018-07-13 2018-11-27 广州华银医学检验中心有限公司 一种免疫组库高通量测序文库的构建方法
CN109416928A (zh) * 2016-06-07 2019-03-01 伊路米纳有限公司 用于进行二级和/或三级处理的生物信息学***、设备和方法
CN109460822A (zh) * 2018-11-19 2019-03-12 天津大学 基于dna的信息存储方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2900102T3 (es) * 2013-02-20 2022-03-15 Univ Emory Composiciones para la secuenciación de ácidos nucleicos en mezclas

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002014553A2 (en) * 2000-08-11 2002-02-21 Favrille, Inc. A molecular vector identification system
CN106795568A (zh) * 2014-10-10 2017-05-31 因维蒂公司 测序读段的de novo组装的方法、***和过程
CN109416928A (zh) * 2016-06-07 2019-03-01 伊路米纳有限公司 用于进行二级和/或三级处理的生物信息学***、设备和方法
CN106504180A (zh) * 2016-11-03 2017-03-15 大连大学 基于dna编码的图像加密纠错方法
CN106788458A (zh) * 2016-12-02 2017-05-31 天津大学 面向***删节与替代错误的硬判决导向前后向估计方法
WO2018114980A1 (en) * 2016-12-19 2018-06-28 Universiteit Gent Polynucleotide shuffling method
CN108893464A (zh) * 2018-07-13 2018-11-27 广州华银医学检验中心有限公司 一种免疫组库高通量测序文库的构建方法
CN109460822A (zh) * 2018-11-19 2019-03-12 天津大学 基于dna的信息存储方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
Designing robust watermark barcodes for multiplex long-read sequencing;Joaquín Ezpeleta等;《Bioinformatics》;20170315;第33卷(第6期);807-813 *
Indel-correcting DNA barcodes for highthroughput sequencing;John A. Hawkins等;《PNAS》;20180525;第115卷(第27期);6217-6226 *
Levenshtein error-correcting barcodes for multiplexed DNA sequencing;Tilo Buschmann等;《Buschmann and Bystrykh BMC Bioinformatics》;20131231;1-10 *
基于DTMB中LDPC码与BCH码的乘积码构造;陈为刚等;《电视技术》;20140402;第38卷(第07期);第127-129、163页 *
用于高通量DNA测序的编码方法研究;谢旻晟;《10.7666/d.Y2706686》;20150520;第1-57页 *
蜘蛛牵引丝蛋白MaSp1表达载体构建及其在大肠杆菌中的表达;乔鑫;《中国优秀硕士学位论文全文数据库_医药卫生科技辑》;20150215(第02期);E080-36 *

Also Published As

Publication number Publication date
CN110060734A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN110060734B (zh) 一种高鲁棒性dna测序用条形码生成和读取方法
Kiah et al. Codes for DNA sequence profiles
Chandak et al. Overcoming high nanopore basecaller error rates for DNA storage via basecaller-decoder integration and convolutional codes
WO2005122022A2 (en) Method for identifying sub-sequences of interest in a sequence
CN101288232B (zh) 对数据进行编码和解码的方法以及设备
CN111858507A (zh) 基于dna的数据存储方法、解码方法、***和装置
CN112100982A (zh) Dna存储方法、***和存储介质
Krishnan et al. Barcodes for DNA sequencing with guaranteed error correction capability
Shomorony et al. Torn-paper coding
Chen et al. Sequencing barcode construction and identification methods based on block error-correction codes
Hamoum et al. Channel model with memory for DNA data storage with nanopore sequencing
Goyal et al. Sequence reconstruction problem for deletion channels: A complete asymptotic solution
WO2019204702A1 (en) Error-correcting dna barcodes
JP2008118327A (ja) ビタビ復号方法
Erlich et al. Capacity-approaching DNA storage
Holmes Modular non-repeating codes for DNA storage
RU2327297C2 (ru) Способ декодирования блоковых кодов со стираниями элементов
CN116187435B (zh) 基于大小喷泉码及mrc算法利用dna进行信息存储方法及***
CN110929542B (zh) 基于分组纠错码的测序条形码构造与软判决识别方法
Pham et al. Sequence reconstruction problem for deletion channels: A complete asymptotic solution
CN113687976B (zh) 面向dna信息存储的编码和解码方法与装置
Shafir et al. Sequence reconstruction under stutter noise in enzymatic DNA synthesis
CN113343736B (zh) 一种dna测序用条形码识别算法的硬件加速装置
Kracht et al. Using the Davey-MacKay code construction for barcodes in DNA sequencing
CN114023374A (zh) Dna信道仿真与编码优化方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant