基于DNA的数据存储和检索制造技术

技术编号:23632501 阅读:44 留言:0更新日期:2020-04-01 00:46
本公开总体上涉及基于DNA的数据存储。一种用于在核酸上存储输入数据的示例性方法包括:将所述输入数据转换成一组核苷酸序列,并合成包含所述一组核苷酸序列的一组核酸。所述转换包括:数据处理步骤,所述数据处理步骤包括将所述输入数据转换成二进制字符串;以及核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得所述一组核苷酸序列。

Data storage and retrieval based on DNA

【技术实现步骤摘要】
【国外来华专利技术】基于DNA的数据存储和检索相关申请本申请要求2017年7月25日提交的中国专利申请号201710611123.2的权益,该中国专利申请的全部内容出于所有目的以引用方式并入本文。以ASCII文本文件提交序列表以下以ASCII文本文件提交的内容的全文以引用方式并入本文:序列表的计算机可读形式(CRF)(文件名:759892000340SEQLIST.TXT,记录日期:2018年7月3日,大小:102KB)。
本公开总体上涉及数据存储和检索,并且更具体地涉及用于实现可靠且有效的基于DNA的数据存储和检索的技术。
技术介绍
利用DNA作为用于数据存储和检索的工具的概念可以追溯到1988年,当时JoeDavis及其合作者创建了名为“Mocrovenus”的合成DNA以用于编码图标并将其整合到大肠杆菌细胞中。与传统存储介质(诸如磁带和硬盘)相比,基于DNA的存储具有的优点为更高的密度(例如,约1mm3用于存储1EB数据)、更长时期的存储(例如,在-18℃下超过1百万年),以及较低的维护成本。DNA存储是一项前沿的研究领域,其基于用于生成DNA存储介质的寡核苷酸合成(尤其是高通量合成平台,如CustomArray)和用于信息检索的进测序(尤其是下一代测序(NGS),如IlluminaHiSeq2500和MiSeq)。然而目前,基于DNA的数据存储具有许多限制。例如,DNA合成的生产成本相当高,同时由于测序,数据检索的速度可能较低。因此,基于DNA的存储已被认为更适合于大规模的档案存储,该大规模的档案存储涉及对存储介质的较少数量的读取和写入。此外,在处理的各个阶段(例如,编码、写入、存储、解码、读取、检索)中可能引入许多错误,由此损害数据流的输入和输出。示例性错误包括突变、缺失、插入、合成和测序过程中诱导的DNA片段丢失,以及长期贮存后的变性。此外,当使用DNA存储大量数据时,要在不检索所述数据整体的情况下实现对所述数据的一部分的随机访问可能是具有挑战性的。
技术实现思路
本专利技术涉及用于实现可靠且有效的基于DNA的数据存储和检索的技术。具体地,本专利技术提供了将输入数据存储在诸如脱氧核糖核酸(“DNA”)等核酸上的准确、有效且可靠的方法。具体地,本专利技术利用新颖的5位转码框架将一个或多个数据文件转换成核酸序列(例如DNA序列)。本专利技术还提供了一种集成方法,所述集成方法括压缩算法、纠错算法和转码框架,以用于进行有效和可靠的数据存储和检索。此外,本专利技术允许随机数据访问,这在将大规模数据存储在一起但在给定时间仅需要浏览部分信息时为特别有利的。可以根据本文公开的方法存储的数据包括可以以数字方式(即,以二进制数据)表示的任何类型的数据,包括例如文本文件、高清视频、图像和/或音频。在一些实施方案中,提供了一种用于在核酸上存储输入数据的方法,所述方法包括:a)将所述输入数据转换成一组核苷酸序列,其中所述转换包括i)数据处理步骤,所述步骤包括将所述输入数据转换成二进制字符串;以及ii)核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得所述一组核苷酸序列;以及b)合成包含所述一组核苷酸序列的一组核酸。在一些实施方案中,提供了一种用于将输入数据转换成一组核苷酸序列的计算机实现的方法,所述方法包括:i)数据处理步骤,所述数据处理步骤包括将所述输入数据转换成二进制字符串;以及ii)核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得一组核苷酸序列。在一些实施方案中,数据处理步骤包括将所述二进制字符串划分成一系列不重叠的5位二进制字符串。在一些实施方案中,所述核苷酸编码步骤包括将每个5位二进制字符串转换成范围为0到31的整数,以获得整数字符串。在一些实施方案中,所述核苷酸编码步骤还包括使用所述5位转码框架转换所述整数字符串以获得所述一组核苷酸序列。在一些实施方案中,所述核苷酸编码步骤还包括将所述整数字符串划分成具有预定长度的多个初始整数子序列。在一些实施方案中,所述多个初始整数子序列中的每一个初始整数子序列的长度是基于选定的合成平台的寡核苷酸长度,期望的错误容限、输入数据的大小、选定的纠错码,或它们组合而确定的。在一些实施方案中,所述核苷酸编码步骤还包括添加索引信息到所述多个初始整数子序列中的每一个中,以获得多个具有索引的整数子序列。在一些实施方案中,添加到所述多个初始整数子序列中的每一个的所述索引信息包括整数序列,其中所述整数序列的长度基于所述输入数据的大小。在一些实施方案中,所述核苷酸编码步骤包括在添加所述索引信息之后,添加冗余数据到所述多个具有索引的整数子序列中,从而获得多个具有冗余的整数子序列。在一些实施方案中,向多个具有索引的整数子序列添加冗余数据包括:创建空矩阵,其中所述空矩阵中的列数大于所述多个具有索引的整数子序列的大小;并且其中所述空矩阵的行数大于所述多个具有索引的整数子序列中的每一个的整数数目;用所述多个具有索引的整数子序列和通过应用纠错编码生成的数据来填充所述空矩阵;以及基于所述经填充的矩阵来获得多个具有冗余的子序列。在一些实施方案中,所述空矩阵的所述列数是基于选定的合成平台的寡核苷酸长度、所述纠错码的类型、预定的错误容限值、所述多个具有索引的整数子序列的大小,或它们的组合而确定的。在一些实施方案中,所述空矩阵的所述行数是基于选定的合成平台的寡核苷酸长度、所述纠错码的类型、预定的错误容限值、所述多个具有索引的整数子序列的大小,或它们的组合而确定的。在一些实施方案中,所述纠错编码是Reed-Solomon(“RS”)编码。在一些实施方案中,通过应用纠错编码生成的所述数据是通过应用所述RS编码的字符串校正和/或所述RS编码的块校正而生成的。在一些实施方案中,所述5位转码框架是根据表2的5位转码框架。在一些实施方案中,R和Y是基于以下选择的:1)与紧接在R或Y前面的核苷酸不同;和/或2)所述核苷酸序列的估计GC含量。在一些实施方案中,所述输入数据对应于压缩文件。在一些实施方案中,所述输入数据对应于两个或更多个文件。在一些实施方案中,输入数据对应于文本文件。在一些实施方案中,数据处理步骤还包括压缩输入数据以获得压缩文件,并将压缩文件转换成二进制字符串。在一些实施方案中,压缩文件是使用Lempel-Zic-Markov链算法(“LZMA”)压缩的。在一些实施方案中,数据处理步骤还包括:将两个或更多个文件分组成TAR文件。在一些实施方案中,使用Lempel-Zic-Markov链算法(“LZMA”)来进一步压缩TAR文件。在一些实施方案中,核苷酸编码步骤还包括将一对引物序列附加到所述一组核苷酸序列的每个核苷酸序列的5'末端和3'末端。在一些实施方案中,一对引物附接至所述一组合成的核酸。在一些实施方案中,提供了一种用于在核酸上存储两组或更多组输入数据的方法,所述方法包括本文档来自技高网
...

【技术保护点】
1.一种用于在核酸上存储输入数据的方法,所述方法包括:/na)将所述输入数据转换成一组核苷酸序列,其中所述转换包括/ni)数据处理步骤,所述数据处理步骤包括将所述输入数据转换为二进制字符串;/nii)核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得所述一组核苷酸序列;以及/nb)合成包含所述一组核苷酸序列的一组核酸。/n

【技术特征摘要】
【国外来华专利技术】20170725 CN 20171061112321.一种用于在核酸上存储输入数据的方法,所述方法包括:
a)将所述输入数据转换成一组核苷酸序列,其中所述转换包括
i)数据处理步骤,所述数据处理步骤包括将所述输入数据转换为二进制字符串;
ii)核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得所述一组核苷酸序列;以及
b)合成包含所述一组核苷酸序列的一组核酸。


2.一种用于将输入数据转换为一组核苷酸序列的计算机实现的方法,所述方法包括:
i)数据处理步骤,所述数据处理步骤包括将所述输入数据转换为二进制字符串;
ii)核苷酸编码步骤,所述核苷酸编码步骤包括使用5位转码框架转换所述二进制字符串以获得一组核苷酸序列。


3.如权利要求1-2中任一项所述的方法,其中所述数据处理步骤包括将所述二进制字符串划分为一系列不重叠的5位二进制字符串。


4.如权利要求3所述的方法,其中所述核苷酸编码步骤包括将每个5位二进制字符串转换成范围为0到31的整数,以获得整数字符串。


5.如权利要求4所述的方法,其中所述核苷酸编码步骤还包括使用所述5位转码框架转换所述整数字符串以获得所述一组核苷酸序列。


6.如权利要求4所述的方法,其中所述核苷酸编码步骤还包括将所述整数字符串划分成具有预定长度的多个初始整数子序列。


7.如权利要求6所述的方法,其中所述多个初始整数子序列中的每一个初始整数子序列的长度是基于选定的合成平台的寡核苷酸长度、期望的错误容限、输入数据的大小、选定的纠错码,或它们组合而确定的。


8.如权利要求6或7所述的方法,其中所述核苷酸编码步骤还包括添加索引信息到所述多个初始整数子序列中的每一个中,以获得多个具有索引的整数子序列。


9.如权利要求8所述的方法,其中添加到所述多个初始整数子序列中的每一个中的所述索引信息包括整数序列,其中所述整数序列的长度基于所述输入数据的大小。


10.如权利要求8或9所述的方法,其中所述核苷酸编码步骤包括在添加所述索引信息之后,添加冗余数据到所述多个具有索引的整数子序列中,从而获得多个具有冗余的整数子序列。


11.如权利要求10所述的方法,其中添加冗余数据到所述多个具有索引的整数子序列中包括:
创建空矩阵,其中所述空矩阵中的列数大于所述多个具有索引的整数子序列的大小,并且其中所述空矩阵的行数大于所述多个具有索引的整数子序列的每一个中的整数的数目;
用所述多个具有索引的整数子序列和通过应用纠错编码生成的数据来填充所述空矩阵;以及
基于所述经填充的矩阵,获得所述多个具有冗余的子序列。


12.如权利要求11所述的方法,其中所述空矩阵的所述列数是基于选定的合成平台的寡核苷酸长度、所述纠错码的类型、预定的错误容限值、所述多个具有索引的整数子序列的大小,或它们的组合而确定的。


13.如权利要求11或12所述的方法,其中所述空矩阵的所述行数是基于选定的合成平台的寡核苷酸长度、所述纠错码的类型、预定的错误容限值、所述多个具有索引的整数子序列的大小,或它们的组合而确定的。


14.如权利要求11-13中任一项所述的方法,其中所述纠错编码是Reed-Solomon(“RS”)编码。


15.如权利要求14所述的方法,其中所述通过应用纠错编码生成的数据是通过应用所述RS编码的字符串校正和/或所述RS编码的块校正而生成的。


16.如权利要求1-15中任一项所述的方法,其中所述5位转码框架是根据表2的5位转码框架。


17.如权利要求16所述的方法,其中R和Y是基于以下选择的:1)与紧接在R或Y前面的核苷酸不同;和/或2)所述核苷酸序列的估计GC含量。


18.如权利要求1-17中任一项所述的方法,其中所述输入数据对应于压缩文件。


19.如权利要求1-18中任一项所述的方法,其中所述输入数据对应于两个或更多个文件。


20.如权利要求1-17和19中任一项所述的方法,其中所述输入数据对应于文本文件。


21.如权利要求1-20中任一项所述的方法,其中所述数据处理步骤还包括压缩所述输入数据以获得压缩文件,并将所述压缩文件转换成二进制字符串。


22.如权利要求18或21所述的方法,其中所述压缩文件是使用Lempel-Zic-Markov链算法(“LZMA”)压缩的。


23.如权利要求19所述的方法,其中所述数据处理步骤还包括:将所述两个或更多个文件分组成TAR文件。


24.如权利要求23所述的方法,其中使用所述Lempel-Zic-Markov链算法(“LZMA”)来进一步压缩所述TAR文件。


25.如权利要求1-24中任一项所述的方法,其中所述核苷酸编码步骤还包括将一对引物序列附加到所述一组核苷酸序列的每个核苷酸序列的5'末端和3'末端。


26.如权利要求1所述的方法,所述方法还包括将一对引物附接到所述一组合成的核酸。


27.一种用于在核酸上存储两组或更多组输入数据的方法,所述方法包括:
a)根据如权利要求2-19中任一项所述的方法,将所述两组或更多组输入数据分别转换为两组或更多组对应的核苷酸序列;
b)将一对引物序列分别附加到所述两组或更多组核苷酸序列的每一组的5'末端和3'末端,其中用于所述两组或更多组对应的核苷酸序列的所述引物对彼此不同;以及
c)分别合成包含所述两组或更多组对应的核苷酸序列的两组或更多组核酸。


28.如权利要求27所述的方法,其中每一对引物的序列与所述两组或更多组对应的核苷酸序列或其互补序列中的任一者不同。


29.如权利要求1和...

【专利技术属性】
技术研发人员:樊隆
申请(专利权)人:南京金斯瑞生物科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1