可包含人造碱基的DNA存储分层表示与交织编码方法与流程

文档序号:19420658发布日期:2019-12-14 01:24阅读:227来源:国知局
可包含人造碱基的DNA存储分层表示与交织编码方法与流程

本发明涉及利用寡核苷酸分子实现数据可靠存储的领域,尤其涉及一种可包含人造碱基的dna存储分层表示与交织编码方法。



背景技术:

随着各种信息获取手段的发展,现有的信息存储方法已经不能满足人类产生的海量数字信息的发展速度。目前,主要信息存储介质包括:磁盘、光盘、非易失性半导体存储等。存储方式主要有基于计算机的独立存储、网络存储、分布式存储、以及云存储等。但是,基于这些传统存储媒介的存储方法与技术,均存在诸多挑战。第一,据预测,目前主要存储方式都难以满足快速增长的数据存储需求。第二,目前主流大数据存储方式,例如:云存储与数据中心,也面临巨大的电力、设备、场地以及人力等成本。第三,这些传统存储媒介能够使用的寿命一般少于几十年,都不能满足重要数据的长期存储与资料备份需求,例如:重要的历史档案、文献资料等。此外,传统的基于磁、光、电等的存储方式,存储设备的物理安全性与灾备也存在很大风险,例如:在普通硬盘或者硬盘阵列存储的数据,如果发生进水事故,会造成数据的丢失。另一方面,数据的重要性也不断提升,尤其是目前基于数据的应用不断发展,数据成为重要的资产。根据相关报道,911事件造成的数据丢失陆续使得很多公司因数据资产丢失而倒闭。

脱氧核糖核酸(dna)存储是将数字信息存储在dna的碱基序列,将人工合成的dna分子作为存储媒介的新型存储方式,具有密度高、体积小,存储时间长的优点,成为未来很有潜力的一种海量数据存储方法。dna存储可以分为活体内存储和体外存储,利用寡核苷酸的四个不同碱基也即:腺嘌呤、胸腺嘧啶、胞嘧啶和鸟嘌呤,分别简称为a、t、c和g,表示数据,通过包含不同碱基的dna或寡核苷酸分子实现大量数据存储,是一种新兴的数据存储方式。随着人类活动产生的信息数据不断增长、数据重要性也不断凸显,dna存储成为未来很有潜力的海量数据长期存储方法。

dna存储采用大量寡核苷酸分子的不同碱基{a,t,g,c}来存储数据,而目前的主流的dna合成方法与测序方法都是基于大量寡核苷酸分子的同时处理,具有通量很大的特点。但是,在dna存储中,寡核苷酸序列合成、聚合酶链式反应(pcr)以及序列碱基测定等过程会造成各种类型的错误。因此,如何设计合适的纠错编码技术保证数据在寡核苷酸分子中存储的可靠性成为一个重要问题。

纠错编码技术在dna存储中的应用有望解决存储成本与可靠性的问题,是一种非常有潜力的技术。一方面,目前的寡核苷酸分子合成的错误率较高,一般为几百个碱基会发生一个合成错误;若采用生化方法进一步提高合成碱基的可靠性,则会造成合成产率的下降,从而使得成本大大增加。因此,采用高效的纠错编码技术降低dna存储系统的合成成本也是一个重要方法。

但是,保证dna存储可靠性的纠错编码的设计也有其特殊之处。首先,dna存储中寡核苷酸合成的另一个特点是目前成熟技术便于合成几百长度以下的寡核苷酸分子,尤其是采用高通量的芯片合成技术。目前的组装技术,组装成长序列的成本较高,dna存储多采用短的寡核苷酸分子。寡核苷酸分子长度受限,采用单独的信道编码为保证可靠性会造成较大冗余。其次,在dna合成、扩增以及测序的过程中,会存在不同分子的偏好性,从而造成某些分子的丢失,影响了存储可靠性。目前,dna合成与测序技术都可能造成较多的碱基错误,要实现数据存储的可靠性,必须采用纠错编码技术。目前学者提出了多种基于纠错编码的dna存储与编码方法。提出的存储编码方案包括采用重复码、里德-所罗门(rs)码和喷泉编码等。例如2017年哥伦比亚大学的研究者提出了采用了喷泉编码方法纠正寡核苷酸分子丢失的方案;微软与华盛顿大学提出的方案采用了非常长的rs码来纠正各类错误以及寡核苷酸分子完全缺失造成的删除等;欧洲生物信息学研究所的goldman等研究者提出采用重复码保证dna存储可靠性的编码方法。还有一些研究者提出了其它采用rs码的纠错方法。但是,这些纠错编码方法,均未利用每个碱基符号对应的多个比特的出错特性存在相关性这一特点,未能充分实现纠错编码方法与dna存储中错误特点的匹配。

进一步,保证dna存储的高效率也是dna存储需要考虑的重要方面。传统的dna存储技术利用a、t、c和g四个碱基,每个碱基能够表示的二进制比特的数量为2比特;为提高dna存储密度,可增加额外的人造碱基,利用{a,t,g,c}加上人工碱基进行数据存储,能提高每个碱基的数据存储密度,还可以解决dna存储的生物安全性问题。2017年加州scripps研究所的fromesberg等研究者,打破了{a,t,g,c}四碱基的束缚,首次用在实验室合成的自然界中不存在的x-y碱基对和相应的氨基酸,在实验室创造了包含{a,t,g,c,x,y}的6种碱基的全新生命体,该结果发表于《nature》。也有一些研究者提出了另外的人造碱基对,例如p-z碱基对、v-j碱基对、x-k碱基对、isog-isoc碱基对等。因此,随着人造碱基理论与技术的不断发展,利用更多的碱基对进行dna的数据存储,具有存储密度更高、且能区别于现有生命体dna的优点,有广阔应用前景。

发明人在针对上述问题研究中,针对同一分子的碱基表示的多个比特在发生错误时会存在相关性的问题,提出了基于寡核苷酸分层表示与交织编码的dna存储编码方法。dna存储方案中,合成、扩增与测序,每个碱基符号是一个整体;若发生错误,将发生整个碱基的替代、插入或删节(缺失)。由于合成、测序以及扩增中的偏好性,会造成dna池中的各类寡核苷酸分子不均衡,甚至会造成某些寡核苷酸分子的完全缺失。



技术实现要素:

本发明提出了一种dna存储中多个寡核苷酸分子对应的数据联合进行纠错编码,并将编码片段映射到寡核苷酸分子的不同分层的方法,克服了寡核苷酸分子丢失、某些碱基发生点错误时,同一碱基或同一寡核苷酸错误存在强相关性的问题,能充分发挥纠错码的潜力,改善dna存储可靠性,详见下文描述:

可包含人造碱基的dna存储分层表示与交织编码方法,所述编码方法包含下述步骤:

(1)将用户二进制比特数据先进行扰码,然后进行纠错编码,得到一系列固定长度的分组纠错码;

(2)将每一分组纠错码包含的n比特平均分成n个子分组,每个子分组包含的比特数目为n/n,其中n为正整数,是n的因子,n/n也为整数;

(3)根据采用的管核苷酸合成、测序与扩增所用的生化技术方法,确定可用的寡核苷酸的碱基集合,集合大小用正整数b表示;

(4)选择n/n个碱基组成一个分组,将每个碱基映射为k个比特{b1,b2,…,bk},依次取n/n个碱基的第i个比特组成序列得到第i个长度为n/n的比特序列,i在[1,k]之间取值;

(5)将b个长度为n的分组码作为一个整体,共包括bn个子分组,b为正整数;分组码的编码码字对应m个寡核苷酸的分子;分组码与寡核苷酸分子之间的连接关系采用一个规则二部图g(v1,v2,e)表示,根据该二部图的连接关系e,将来自k个长度为n/n的比特序列组成一组寡核苷酸分子序列片段,分子序列片段的长度为n/n;

(6)将组合后的每个分子序列片段增加表示不同分子标号的序列,用于识别不同的序列,序列长度为l个碱基,并增加两端的引物,引物长度分别为p个碱基,构成完整的寡核苷酸分子,长度为n/n+l+2p;

(7)采用生物化学方法合成寡核苷酸分子,采用单链或双链,将寡核苷酸分子的单链或双链作为数据存储介质;

(8)数据读取时,取一定数量的寡核苷酸分子进行扩增,然后对测序数据进行预处理;

(9)根据预处理后的测序数据,将寡核苷酸分子对应数据部分重新映射为k个比特序列。

进一步地,所述二部图的一类节点集合v1表示b个分组码,每个节点的度为n;二部图的另一类节点集合v2表示m个寡核苷酸分子,根据采用碱基的集合的不同,其节点的度为k;使用符合上述节点度的任何二部图,有bn=mk。

进一步地,所述分子标号采用二进制表示,采用单独的分组纠错码,分组码的长度为lk比特,然后将其映射为l个碱基;l和p均为正整数,根据同一dna池的分子数量以及采用的纠错码确定l;p根据分子扩增的需求确定。

其中,所述根据预处理后的测序数据,将寡核苷酸分子对应数据部分重新映射为k个比特序列具体为;

若某个寡核苷酸分子由于数量较少或标号片段错误而丢失,则根据二部图连接关系将该分组对应的k个分组码的子块标记为删除,分组码纠错时采用删除纠错方法,提高纠错性能;

若某片段未丢失,直接根据二部图连接关系映射到确定位置,以此对分组码进行纠正删除与错误的译码,得到译码结果,并进行去扰码操作,得到原始的二进制数据。

本发明提供的技术方案的有益效果是:

1、本发明主要针对dna体外存储,也即利用一组合成的寡核苷酸分子,借助生物技术领域中的高通量合成技术、扩增技术与测序技术,实现数据在寡核苷酸碱基上的高通量写入与读取,具有密度高、体积小、存储持续时间长的优点;

2、本发明采用了寡核苷酸分子的分层表示与交织编码方法,将多个分子一起进行编码,可大大提高编码效率与可靠性;同时,分层表示方法,也将消除碱基错误造成的多个比特错误之间的相关性,进一步保证dna存储的可靠性。

3、本发明将每个碱基符号转化为若干比特,例如使用的碱基系统中碱基数量为4时,可分解两个比特;如果碱基的数量为8时,可以分解为3个比特;然后将一个分子内的每个碱基都分解为多个比特,整个分子序列就可以分解为多条比特序列。进一步,将多条比特序列分别与一个长信道编码的某个子分组对应。通过这种方法,很多寡核苷酸分子作为一个整体进行纠错处理,能充分发挥分组纠错编码的能力,提高dna数据存储的可靠性。

综合以上,本发明的特色在于:

(1)本发明可以包含人工碱基对,从而提高寡核苷酸分子的存储密度,例如采用八碱基系统与四碱基系统相比较,可将存储密度提高为原来的1.5倍,也即每个碱基存储2比特提升为3比特;

(2)采用长的纠错码来实现多个分子的联合编码,能有效对抗某单个分子出现严重错误或者某个分子完全没有测序数据的情况;

(3)采用分子分层表示与参与多个分组码的交织编码方法,有效解决了每个碱基符号出错的相关性,从而使得纠错码能充分发挥其纠错能力;

(4)采用包含人造碱基的dna存储的方式,具有更好的生物安全性。

附图说明

图1为可包含人造碱基的dna存储分层表示与交织编码框图;

图2为比特序列分组与寡核苷酸分子的映射方法;

图3为b个分组码与m个分子的连接关系二部图;

图4为支持分组码纠删译码的读取端删除标记方法。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面对本发明实施方式作进一步地详细描述。

实施例1

本发明实施例设计的可包含人造碱基的dna存储分层表示与交织编码方法的基本思想是:为保证每个存储数据的寡核苷酸分子存储的数据的可靠性,将分子的数据分为若干层,每一层参与不同的分组码编码,从而将dna存储中存在各类错误分散到不同的分组码中进行纠正,从而消除了错误的相关性,也充分发挥了分组码的纠错能力;进一步通过这种方法将多个分子关联在一起,形成一个处理的整体,可以提高dna存储的可靠性。

下面结合附图详细说明本发明的实施方式:

如图1所示,运用可包含人造碱基的dna存储分层表示与交织编码方法,具体步骤如下:

(1)将用户二进制比特数据先进行扰码,然后进行纠错编码,得到一系列固定长度的分组纠错码;

其中,分组码选择代数分组码、低密度奇偶校验(ldpc)码、turbo码、级联码、乘积码、非线性分组码的一种;作为一个整体的分组码的码长为n比特。

(2)将每一分组纠错码包含的n比特平均分成n个子分组,每个子分组包含的比特数目为n/n,其中n为正整数,是n的因子,n/n也为整数;

(3)根据采用的寡核苷酸合成、测序与扩增所用的生化技术方法,确定可用的寡核苷酸的碱基集合,集合大小用正整数b表示;

其中,可采用4碱基{a,t,g,c}组成的寡核苷酸,则b=4,这里,a表示腺嘌呤,t表示胸腺嘧啶,g表示鸟嘌呤,c表示胞嘧啶。

也可以采用包含目前已有的或未来新开发的人造碱基,或者完全采用一组人造碱基,从而使得可用碱基的数量为4个、8个或者16个,甚至更多;b为2的k次幂,k为大于等于2的正整数。

(4)选择n/n个碱基组成一个分组,将每个碱基映射为k个比特{b1,b2,…,bk},依次取n/n个碱基的第i个比特组成序列得到第i个长度为n/n的比特序列,i在[1,k]之间取值;

(5)将b个长度为n的分组码作为一个整体,共包括bn个子分组,b为正整数;分组码的编码码字对应m个寡核苷酸的分子,m也为正整数;

分组码与寡核苷酸分子之间的连接关系采用一个规则二部图g(v1,v2,e)表示,二部图的一类节点集合v1表示b个分组码,每个节点的度为n;二部图的另一类节点集合v2表示m个寡核苷酸分子,根据采用碱基的集合的不同,其节点的度为k;使用符合上述节点度的任何二部图,有bn=mk;根据该二部图的连接关系e,将来自k个分组码长度为n/n的比特序列组成一组寡核苷酸分子序列片段,分子序列片段的长度为n/n。

(6)将组合后的每个分子序列片段增加表示不同分子标号的序列,用于识别不同的序列,序列长度为l个碱基,并增加两端的引物,引物长度分别为p个碱基,从而构成完整的寡核苷酸分子,长度为n/n+l+2p;

其中,分子标号采用二进制表示,可以采用单独的分组纠错码,分组码的长度为lk比特,然后将其映射为l个碱基;l和p均为正整数,根据同一dna池的分子数量以及采用纠错码确定l;p根据分子扩增的需求确定;

(7)采用生物化学方法合成寡核苷酸分子,可采用单链或双链,将寡核苷酸分子的单链或双链作为数据存储介质;

(8)数据读取时,取一定数量的寡核苷酸分子进行扩增,扩增可以采用寡核苷酸的聚合酶链反应pcr,也可以采用其他扩增方法,然后进行测序;对测序数据进行预处理;

(9)根据预处理后的测序数据,将寡核苷酸分子对应数据部分重新映射为k个比特序列;若某个寡核苷酸分子由于数量较少或标号片段错误而丢失,则根据上述定义的二部图连接关系将该分组对应的k个分组码的子块标记为删除,分组码纠错时采用删除纠错方法,提高纠错性能;若某片段未丢失,不管是否存在错误,则直接根据二部图连接关系映射到确定位置;进一步以此对分组码进行纠删除与错误的译码,得到译码结果;进一步,对译码结果进行去扰码操作,得到原始的二进制数据。

其中,上述步骤(1)中所述,将用户二进制比特数据先进行扰码,然后进行纠错编码,得到一系列固定长度的分组纠错码;分组码选择代数分组码、低密度奇偶校验码、turbo码、级联码、乘积码、非线性分组码的一种;作为一个整体的分组码的码长为n比特,具体方法是:

(1.1)用户的二进制数据先进行扰码,若用户的数据长度为k比特,可以采用与相同长度的伪随机序列进行逐比特异或;

(1.2)采用分组码进行编码,得到编码后的n比特;

在本发明中,分组码可以是任意分组码,包括线性码或者非线性码;也可以多级分组码编码,例如turbo码、串行级联码、乘积码等;也包括先采用较大长度的编码然后采用短长度分组码的级联编码方法,例如turbo-hadamard码、ldpc-hadamard码类型的编码方法;尤其也包括其它纠错编码,例如davey-mackay构造的编码,这些码整体上是非线性分组码,能够纠正多种类型的错误;上述编码方法都可以应用于本发明。

如图2所示,本发明步骤(2)到(5)所述将每一分组纠错码包含的n比特平均分成n个子分组,进一步组装成寡核苷酸分子,具体方法是:

(1)将每个分组码均分为3个分组,这里,n=3;来自两个分组码的长度为n/3的比特序列,组织在一个分子中;

(2)图2中,来自分组码1与分组码2的比特序列a和比特序列b进性组合,选择碱基为{a,t,g,c}组成的4碱基系统,根据图2给出的碱基与比特对的映射关系,两个比特分组a和b组成一个寡核苷酸分子片段;

如图3所示,本发明描述的步骤5,将b个长度为n的分组码作为一个整体,共包括bn个子分组,b为正整数;分组码的编码码字对应m个寡核苷酸分子,m也为正整数;分组码与寡核苷酸分子之间的连接关系采用一个规则二部图g(v1,v2,e)表示,二部图的一类节点集合v1表示b个分组码,每个节点的度为n;二部图的另一类节点集合v2表示m个寡核苷酸分子,根据采用碱基的集合的不同,其节点的度为k;使用符合上述节点度的任何二部图,有bn=mk;根据该二部图的连接关系e,将来自k个分组码长度为n/n组比特序列组成一组寡核苷酸分子序列片段,分子序列片段的长度为n/n,具体方法是:

(5.1)根据参与的分组码的数量b以及分组码分解为子块的数量n,确定二部图的第一类节点v1,称为校验节点,对应校验节点的数量为b,每个节点的度为n;

(5.2)根据采用碱基系统可分层的数量k,本发明采用碱基数量为2的k次幂的碱基系统,因此k为正整数;

(5.3)为保证能构造合适的二部图g(v1,v2,e),要求k为bn的因子;

(5.4)利用数学方法构造二部图g(v1,v2,e),该二部图的一类节点v1,称为校验节点,其数量是b,节点的度为n;另一组节点,称为变量节点,用v2表示,数量是m,其节点度为k;为保证具有优越性能,一般可以采用数学中各类构造二部图的方法构造本发明中的二部图,构造的二部图要求具有较大围长或较好扩展性;

(5.5)二部图的每一条边,一端关联分组码的一个子块,另一端关联一个分子的一层比特序列,完成了分组码数据到寡核苷酸分子片段的映射;连接到同一个校验节点的边关联到同一个分组码的不同子块,连接到同一个变量节点的边关联到同一个分子的不同层;

(5.6)根据上面步骤得到组装成分子的多层比特数据,进一步组成寡核苷酸分子片段。

步骤(6)所描述的,组合后的每个分子序列片段增加表示不同分子标号的序列,用于识别不同序列,序列长度为l个碱基,并增加两端的引物,引物的长度分别为p个碱基,从而构成完整的寡核苷酸分子,长度为n/n+l+2p;分子标号采用二进制表示,可以采用单独的分组纠错码,分组码的长度为lk比特,然后将其映射为l个碱基;l和p均为正整数,根据分子数量以及采用纠错码确定l;p根据分子扩增的需求确定;具体方法是:

(6.1)根据dna合成池中的不同寡核苷酸分子种类的多少,确定标号的范围,并用合适长度的二进制比特分组表示;例如分子的数量是q,则可以采用q比特表示,这里表示向上取整;然后对二进制标号采用短码长的纠错编码进行编码,也可不采用纠错编码,得到比特序列的长度为kl;

(6.2)采用与数据部分相同的方法映射得到碱基序列,碱基序列的长度为l;

(6.3)将表示分子标号的碱基序列嵌入表示数据的分子序列片段,可以连接在表示分子序列片段的头部、尾部或者中间,或者分散嵌入,可以根据合成、扩增以及测序的错误特性优化放置位置;

(6.4)增加用于扩增所用的引物,构成完整的长度为n/n+l+2p寡核苷酸分子。

实施例2

本发明实施例设计了可包含人造碱基的dna存储分层表示与交织编码方法,结合本实

施例,可以进一步说明本发明方法可以获得优越性能的原因。

本实施例,假设每个长度为n的分子码分成4个分组,每个分组对应四个不同分子的两层中的某一层;本实施例采用传统的{a,t,g,c}构成的四碱基系统,每个分子分为两层。构造一个二部图,其中一类节点的度为4,另一类节点的度为2,可以利用高维长的4-规则图得到。

如图4所示,本实施例重点说明合成、扩增、测序造成的错误在不同分组码内部的分布。在dna存储中,由于各处理步骤的分子偏好性,会造成某些分子丢失。而某分子丢失,会造成较多突发错误,往往会超过纠错码的纠错能力,造成对应的某个纠错编码失效,本发明提出的方法,可将分子丢失造成的影响分散到k个纠错码进行纠错,在本例子中,k=2,从而有更大可能性使得纠错码不超过其纠错能力,完成纠错功能。

若某分子丢失,根据二部图g(v1,v2,e)的连接关系,可容易地将其标注为删除,从而可采用纠删译码方法,保证纠错码的整体纠错能力。同时,分子内部的少量碱基错误,也会分散到各个不同分组码进行纠错,从概率上提高分组码纠错能力,其原理如图4所示。

综上所述,本发明实施例通过上述设计,具有如下的特点:

(1)本发明可包含人工碱基对,从而打破了四碱基系统的局限性,随着合成生物学技术的发展,该方法能提高寡核苷酸分子存储的密度;例如采用八碱基系统与四碱基系统相比较,可将存储密度提高为原来的1.5倍,也即每个碱基存储2比特转化为3比特;

(2)本发明可以采用相对较长的纠错码来实现多个分子的联合编码,能有效对抗单个分子出现严重错误或完全没有测序数据而丢失的情况;随着分块数量的增加,单个分子错误对整体性能的影响进一步下降;

(3)采用每个分子分层传输的方法,有效解决了每个碱基符号出错的相关性,从而可以使得纠错码的纠错能力充分发挥;

(4)采用包含人造碱基的dna存储的方式,区别现有的生命系统的dna,会具有更好的生物安全性。

因此,本发明能应用于包含多组人造碱基对的dna存储系统。为设计方便,本发明针对采用2的幂次的碱基数量的情况,例如4个碱基、8个碱基或更多。

本发明实施例对各器件的型号除做特殊说明的以外,其他器件的型号不做限制,只要能完成上述功能的器件均可。

本领域技术人员可以理解附图只是一个优选实施例的示意图,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1