CN109830263B - 一种基于寡核苷酸序列编码存储的dna存储方法 - Google Patents
一种基于寡核苷酸序列编码存储的dna存储方法 Download PDFInfo
- Publication number
- CN109830263B CN109830263B CN201910090892.1A CN201910090892A CN109830263B CN 109830263 B CN109830263 B CN 109830263B CN 201910090892 A CN201910090892 A CN 201910090892A CN 109830263 B CN109830263 B CN 109830263B
- Authority
- CN
- China
- Prior art keywords
- binary
- coding
- processed
- oligonucleotide
- oligonucleotide sequence
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于寡核苷酸序列编码存储的DNA存储方法,以多种不同的碱基编码形式对不同的二进制字符串片段,实施寡核苷酸序列编码,每组二进制编码文件片段总可以找到一种满足合成、以及测序要求的寡核苷酸序列编码,大大简化了寡核苷酸编码二进制字符串片段、以及编码寡核苷酸转化成二进制字符串片段运算,实现高效编码与解码操作,可以最大限度的利用DNA分子的数据存储能力,同时简化二进制字符串片段的编码、以及编码寡核苷酸序列恢复到二进制字符串片段的运算;此外,在编码二进制字符片段中,每个碱基编码二进制的最大理论值2字节,可以减少寡核苷酸序列的数目或者长度,降低寡核苷酸合成与测序费用,拥有最大的信息存储量。
Description
技术领域
本发明涉及一种基于寡核苷酸序列编码存储的DNA存储方法,属于信息存储技术领域。
背景技术
现有的文字、图片等文件在数字化储存过程中是采用二进制编码文件后在硬盘、磁带等存储介质上储存的。人类每天要产生2.5quintillion(百万的三次方)字节的数据,而且这个速度还在加快,IBM估计现在世界上90%的数据是在过去两年中产生的,随着人类生活越来越多的用数字化存储,这个趋势只会继续扩大。现在的存储设备已经无法满足巨大量数据的需求,所以人们开始新的存储介质。
DNA常被称作“生命蓝图”,原因显而易见,人体中的每个细胞都被碱基序列(A,G,C和T,核苷酸碱基)编码。从上世纪50年代James Watson发现DNA起,科学家们很快就意识到它可以以很高的密度存储数据。理论上,DNA分子是一种令人难以置信的密集存储介质,1克DNA理论上携带有455艾字节(Exabyte,EB)的数据,相当于大约300万张CD。云计算公司EMC估计2011年全球数据总额也只有1.8ZB(1EB等于10亿GB,而1000EB等于1ZB),这意味着只需要4克DNA就能记录从柏拉图的名作到最新出版的所有作品。DNA分子作为存储介质的第二个特征,使得DNA可以长期稳定地保存,最近的研究从430000年前的人类祖先身上恢复出了DNA。一般认为,用DNA存储数据保存时间可能长达数千年,并且与硬盘、磁带等存储介质不同的是,DNA不需要经常维护。因此,DNA存储技术是一项着眼于未来的具有划时代意义存储技术,它利用人工合成的寡核苷酸作为存储介质,具有高效、存储量大、存储时间长、易获取且免维护的优点。用DNA存储数据保存时间可能长达数千年,与硬盘、磁带等存储介质不同的是,DNA不需要经常维护,而且就读取方式而言,DNA存储不涉及兼容问题。
DNA存储就是将现有按照二进制编码储存在硬盘信息中的文字、图片等文件翻译成由A、C、G、T四个碱基“字母”构成的DNA序列,再合成这个DNA序列、并保存,就完成了文字、图片等信息的储存。而在读取DNA存储信息时,则先需要将DNA序列测序,并将测序信息转换为二进制编码文件,最后用现有的显示设备来读取二进制编码文件的文字、图片等信息。然而,这一DNA序列并非一个完整的一个长分子,因为现有的DNA合成机器制造不出这样的长分子,同时,现有的DNA测序机器也测定不出这样的长分子序列。所以,现行的做法是将DNA序列片段化成多个片段(亦称为寡核苷酸);同时,每一个片段携带一些索引信息,明确各自在整体序列中所处位置。这样就可以用DNA合成机器制造出相应的寡核苷酸序列,同时也可以用测序仪器将这些寡核苷酸序列的碱基信息进行测序;然后将这些寡核苷酸的信息按照索引恢复到二进制文件;最后用现有的显示设备来读取二进制编码文件的文字、图片等信息。
然而,将二进制数(亦称二进制编码文件)片段翻译成4个“字母”构成的寡核苷酸序列时,经常会碰到不利于DNA合成、或者DNA测序的特殊序列,如同聚物区域(AAAAAAAAAAAAA、GGGGGGGGGGGGGGG),高GC含量区域(GCCGCGGGGCCCGCG)等。因此,必须将这些区域转化为非同聚物区域、非高GC含量区域才能用于DNA合成、以及DNA读取。但是现有算法(如Nature Biotechnology,2018,36(3),242-248;Science,2017,355,950–954等)在对寡核苷酸序列进行编码,以满足合成、测序要求寡核苷酸序列,实现DNA分子存储时,现有的编码方法要么降低了DNA分子的数据存储能力(DNA分子的最大理论信息存储量为一个碱基存储二进制文件的2字节:若四进制的DNA存储4m信息与传统二进制储存2k信息相同,则m=k/2);要么在序列编码、以及编码序列恢复到原序列时计算复杂、耗时长。
发明内容
本发明所要解决的技术问题是提供一种基于寡核苷酸序列编码存储的DNA存储方法,以多种编码方式彼此组合的方式,针对二进制字符串片段进行寡核苷酸序列的编码,能够实现高效编码与解码操作,保证了DNA存储方式的效率。
本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于寡核苷酸序列编码存储的DNA存储方法,用于针对待处理二进制编码文件进行编码存储,包括如下步骤:
步骤A.针对待处理二进制编码文件、按顺序进行划分,获得各个待处理二进制字符串片段,其中至少第一个待处理二进制字符串片段至倒数第一个待处理二进制字符串片段中,各待处理二进制字符串片段中字符的数目彼此相同,且该各待处理二进制字符串片段中字符的数目均为偶数,并进入步骤B;
步骤B.基于DNA寡核苷酸序列存储,获得四个碱基A、G、C、T与四个二进制字符串00、01、10、11彼此之间一一对应的各种不同组合,并将各种不同组合作为各种不同编码方式,然后进入步骤C;
步骤C.分别针对各个待处理二进制字符串片段,应用各种不同编码方式组合,以一个碱基替代两个二进制字符的方式,针对待处理二进制字符串片段进行编码,将该待处理二进制字符串片段中的字符转换为对应的碱基,更新为寡核苷酸序列,且该寡核苷酸序列中同聚物区域的数目、高GC的含量分别满足预设指标要求,进而获得各待处理二进制字符串片段分别所对应的寡核苷酸序列,然后进入步骤D;
步骤D.分别获得各待处理二进制字符串片段在待处理二进制编码文件中的顺序位置,并将顺序位置转换为A、G、C、T所构成、具有唯一信息的序列位置编码,并按照一一对应关系、并入对应寡核苷酸序列中,更新各个寡核苷酸序列,然后进入步骤E;
步骤E.分别获得各个寡核苷酸序列中二进制字符串片段的编码方式,并将编码方式转换为A、G、C、T所构成的编码信息,按照一一对应关系、并入对应寡核苷酸序列,更新各个寡核苷酸序列,所获各个寡核苷酸序列即实现对待处理二进制编码文件的编码存储。
作为本发明的一种优选技术方案:所述步骤C中,分别针对各个待处理二进制字符串片段,按如下步骤C01至步骤C06,应用各种不同编码方式组合,针对待处理二进制字符串片段进行编码;
步骤C01.初始化参数n=1、x=1、y=1,并进入步骤C02;
步骤C02.在各种不同编码方式中,任选n种编码方式,作为n种编码应用方式,并进入步骤C03;
步骤C03.以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对待处理二进制字符串片段中第x位两个二进制字符,以第y种编码应用方式进行编码,将该位两个二进制字符转换为对应的碱基,并进入步骤C04;
步骤C04.判断x是否等于n的整数倍,是则针对x的值进行加1更新,同时重置y=1,并进入步骤C05;否则针对x的值、y的值,分别进行加1更新,并进入步骤C05;
步骤C05.判断x是否大于该待处理二进制字符串片段中字符长度/2的值,是则完成该待处理二进制字符串片段中字符到对应碱基的编码,即获得该待处理二进制字符串片段所对应的寡核苷酸序列,并进入步骤C06;否则返回步骤C03;
步骤C06.判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则删除该待处理二进制字符串片段所对应的寡核苷酸序列,并针对n的值进行加1更新,以及重置x=1、y=1,然后返回步骤C02。
作为本发明的一种优选技术方案:所述步骤C中,寡核苷酸序列中同聚物区域的数目不超过3-7个,以及高GC的含量不超过45%-50%。
本发明所述一种基于寡核苷酸序列编码存储的DNA存储方法采用以上技术方案与现有技术相比,具有以下技术效果:
本发明所设计基于寡核苷酸序列编码存储的DNA存储方法,以多种不同的碱基编码形式对不同的二进制字符串片段,实施寡核苷酸序列编码,由于可以采用不同的碱基编码形式,每组二进制编码文件片段总可以找到一种满足合成、以及测序要求的寡核苷酸序列编码,这种用于DNA存储的寡核苷酸可变编码方法,大大简化了寡核苷酸编码二进制字符串片段、以及编码寡核苷酸转化成二进制字符串片段运算,实现高效编码与解码操作,可以最大限度的利用DNA分子的数据存储能力,同时简化二进制字符串片段的编码、以及编码寡核苷酸序列恢复到二进制字符串片段的运算;此外,在编码二进制字符片段中,每个碱基编码二进制的最大理论值2字节,可以减少寡核苷酸序列的数目或者长度,降低寡核苷酸合成与测序费用,拥有最大的信息存储量。
附图说明
图1是本发明所设计一种基于寡核苷酸序列编码存储的DNA存储方法的流程图。
具体实施方式
下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。
本发明设计了一种基于寡核苷酸序列编码存储的DNA存储方法,用于针对待处理二进制编码文件进行编码存储,实际应用当中,如图1所示,具体包括如下步骤。
步骤A.针对待处理二进制编码文件、按顺序进行划分,获得各个待处理二进制字符串片段,其中至少第一个待处理二进制字符串片段至倒数第一个待处理二进制字符串片段中,各待处理二进制字符串片段中字符的数目彼此相同,且该各待处理二进制字符串片段中字符的数目均为偶数,并进入步骤B。
步骤B.基于DNA寡核苷酸序列存储,获得四个碱基A、G、C、T与四个二进制字符串00、01、10、11彼此之间一一对应的各种不同组合,并将各种不同组合作为各种不同编码方式,然后进入步骤C。
步骤C.分别针对各个待处理二进制字符串片段,应用各种不同编码方式组合,以一个碱基替代两个二进制字符的方式,针对待处理二进制字符串片段进行编码,将该待处理二进制字符串片段中的字符转换为对应的碱基,更新为寡核苷酸序列,且该寡核苷酸序列中同聚物区域的数目、高GC的含量分别满足预设指标要求,进而获得各待处理二进制字符串片段分别所对应的寡核苷酸序列,然后进入步骤D。
上述步骤C在实际应用中,分别针对各个待处理二进制字符串片段,按如下步骤C01至步骤C06,应用各种不同编码方式组合,针对待处理二进制字符串片段进行编码;
步骤C01.初始化参数n=1、x=1、y=1,并进入步骤C02。
步骤C02.在各种不同编码方式中,任选n种编码方式,作为n种编码应用方式,并进入步骤C03。
步骤C03.以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对待处理二进制字符串片段中第x位两个二进制字符,以第y种编码应用方式进行编码,将该位两个二进制字符转换为对应的碱基,并进入步骤C04。
步骤C04.判断x是否等于n的整数倍,是则针对x的值进行加1更新,同时重置y=1,并进入步骤C05;否则针对x的值、y的值,分别进行加1更新,并进入步骤C05。
步骤C05.判断x是否大于该待处理二进制字符串片段中字符长度/2的值,是则完成该待处理二进制字符串片段中字符到对应碱基的编码,即获得该待处理二进制字符串片段所对应的寡核苷酸序列,并进入步骤C06;否则返回步骤C03。
步骤C06.判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则删除该待处理二进制字符串片段所对应的寡核苷酸序列,并针对n的值进行加1更新,以及重置x=1、y=1,然后返回步骤C02。
步骤D.分别获得各待处理二进制字符串片段在待处理二进制编码文件中的顺序位置,并将顺序位置转换为A、G、C、T所构成、具有唯一信息的序列位置编码,并按照一一对应关系、并入对应寡核苷酸序列中,更新各个寡核苷酸序列,然后进入步骤E。
步骤E.分别获得各个寡核苷酸序列中二进制字符串片段的编码方式,并将编码方式转换为A、G、C、T所构成的编码信息,按照一一对应关系、并入对应寡核苷酸序列,更新各个寡核苷酸序列,所获各个寡核苷酸序列即实现对待处理二进制编码文件的编码存储。
即各二进制字符串片段所对应的寡核苷酸序列包括“位置编码+编码方法信息+二进制字符串编码信息”三部分。
上述步骤C01至步骤C06的应用中,分别针对各个待处理二进制字符串片段,具体实施执行如下操作
(1)选择{A=00、G=01、C=10、T=11}、{A=01、G=00、C=11、T=01}或者{A=01、G=10、C=00、T=11}、…等十二种编码方式中的其中一种编码方式,作为编码应用方式,以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,将该待处理二进制字符串片段转化为寡核苷酸序列。
并判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则进入(2)。
(2)选择十二种编码方式中的两种编码方式,作为两种编码应用方式,以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对该待处理二进制字符串片段中奇数位的两二进制字符,按照第一种编码应用方式(如{A=00、G=01、C=10、T=11})进行编码,针对该待处理二进制字符串片段中偶数位的两二进制字符,按照第二种编码应用方式(如{A=00、G=01、C=10、T=11})进行编码,即用一个碱基替代两个二进制字符,进而将该待处理二进制字符串片段转化为寡核苷酸序列。
并判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则进入(3)。
(3)选择十二种编码方式中的三种编码方式,作为三种编码应用方式,以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对该待处理二进制字符串片段中,对第1、4、7、…、位的两二进制字符,按照第一种编码应用方式(如{A=00、G=01、C=10、T=11})进行编码,对第2、5、8、…、位的两二进制字符,按照第二种编码应用方式(如{A=01、G=00、C=11、T=01})进行编码,对第3、6、9、…、位的两二进制字符,按照第三种编码应用方式(如{A=01、G=10、C=00、T=11})进行编码,如此用一个碱基替代两个二进制字符、将该待处理二进制字符串片段转化为寡核苷酸序列;
并判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则进入(4)。
(4)依次类推,对于上述(1)、(2)、…、(N-1)所获寡核苷酸序列中同聚物区域的数目、高GC的含量均不满足预设指标要求时,则选择十二种编码方式中的N种编码方式,作为N种编码应用方式,以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对该待处理二进制字符串片段中,
对第1、(N+1)、(2N+1)、…、位的两二进制字符按照第一种编码应用方式进行编码,对第2、2(N+1)、2(2N+1)、…、位的两二进制字符按照第二种编码应用方式进行编码,对第3、3(N+1)、3(2N+1)、…、位的两二进制字符按照第三种编码应用方式进行编码,…,对第N、N(N+1)、N(2N+1)、…、位的两二进制字符按照第N种编码应用方式进行编码,如此用一个碱基替代两个二进制字符、将该待处理二进制字符串片段转化为寡核苷酸序列。
实际应用中,对于上述判断寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求中,具体要使得寡核苷酸序列中同聚物区域的数目不超过3-7个,以及高GC的含量不超过45%-50%,方可适用于DNA存储方式的合成、以及DNA存储方式的读取。
将上述所设计基于寡核苷酸序列编码存储的DNA存储方法,应用到如下实施例当中,由于真正的文字、图片等二进制编码文件数据量巨大。限于篇幅,本实施例拟定一个二进制文件来说明本发明,因此在二进制字符片段长度、寡核苷酸数目、寡核苷酸中同聚物片段碱基数目与GC含量等要求只作为演示,具体如下。
将下列二进制文件编码为寡核苷酸序列,要求按照32个字节片段化,获得各个待处理二进制字符串片段,且编码片段化的寡核苷酸序列种同聚物片段碱基数目不超过3个,GC含量不超过65%。
“00000101011010111010101110000110101110000001111010101111010100000001101011100000011110101010000000000101001010110101111110000101001101011100001010011010101001101010100000101111010100000100010111101010010111101010101111010101011110101010000101111010101010101111010100010111101010101111010100101111010100101111010110100001010000000000101001010110101111110000101001101011100001010011010101001101010100000101111010100001”
步骤A.针对上述待处理二进制编码文件、按顺序以32个字节片段化进行划分,获得13个待处理二进制字符串片段,每个待处理二进制字符串片段的二进制字符串信息、以及在二进制文件中的位置信息如下表1所示,并进入步骤B。
表1
步骤B.基于DNA寡核苷酸序列存储,获得四个碱基A、G、C、T与四个二进制字符串00、01、10、11彼此之间一一对应的各种不同组合,并将各种不同组合作为各种不同编码方式,然后进入步骤C。
步骤C.分别针对各个待处理二进制字符串片段,执行步骤C01至步骤C06的操作,应用各种不同编码方式组合,针对待处理二进制字符串片段进行编码,即获得如下过程,然后进入步骤D。
首先选择{A=00、G=01、C=10、T=11},作为编码应用方式,对13个待处理二进制字符串片段进行编码,得到编码后的寡核苷酸编码序列如下表2所示,编码应用方式记为1。
位置 | 二进制字符串片段 | 编码寡核苷酸序列 |
1 | 00000101011010111010101110000110 | <![CDATA[<u>AAGGGCCTCCCTCAGC</u>]]> |
2 | 10111000000111101010111101010000 | CTCAAGTCCCTTGGAA |
3 | 00011010111000000111101010100000 | <![CDATA[<u>AGCCTCAAGTCCCCAA</u>]]> |
4 | 00000101001010110101111110000101 | AAGGACCTGGTTCAGG |
5 | 00110101110000101001101010100110 | <![CDATA[<u>ATGGTAACCGCCCCGC</u>]]> |
6 | 10101000001011110101000001000101 | CCCAACTTGGAAGAGG |
7 | 11101010010111101010101111010101 | <![CDATA[<u>TCCCGGTCCCCTTGGG</u>]]> |
8 | 01111010101000010111101010101010 | <![CDATA[<u>GTCCCCAGGTCCCCCC</u>]]> |
9 | 11110101000101111010101011110101 | <![CDATA[<u>TTGGAGGTCCCCTTGG</u><!-- 6 -->]]> |
10 | 00101111010100101111010110100001 | <![CDATA[<u>ACTTGGACTTGGCCAG</u>]]> |
11 | 01000000000010100101011010111111 | <![CDATA[<u>GAAAAACCGGGCCTTT</u>]]> |
12 | 00001010011010111000010100110101 | <![CDATA[<u>AACCGCCTCAGGATGG</u>]]> |
13 | 01001101010100000101111010100001 | GATGGGAAGGTCCCAG |
表2
表2中,斜体下划线序列为连续相同碱基超过3个、或者GC含量大于65%的不满足要求的。
接着,针对采用编码应用方式1所得不符合要求的寡核苷酸编码的二进制字符串片段,采用{A=00、G=01、C=10、T=11}/{A=01、G=00、C=11、T=10}作为两个编码应用方式,进行编码,得到编码后的编码寡核苷酸序列如下表3所示,该编码应用方式记为2。
位置 | 二进制字符串片段 | 编码寡核苷酸序列 |
1 | 00000101011010111010101110000110 | <![CDATA[<u>AGGAGTCCCTCCCGGT</u>]]> |
3 | 00011010111000000111101010100000 | <![CDATA[<u>AACTTTAGGCCTCTAG</u>]]> |
5 | 00110101110000101001101010100110 | ACGATGATCACTCTGT |
7 | 11101010010111101010101111010101 | TTCTGATTCTCCTAGA |
8 | 01111010101000010111101010101010 | GCCTCTAAGCCTCTCT |
9 | 11110101000101111010101011110101 | TCTGGTGCACTATCTG |
10 | 00101111010100101111010110100001 | TCGAAAGCCTCTTCGA |
11 | 01000000000010100101011010111111 | GGAGAGCTGAGTCCTC |
12 | 00001010011010111000010100110101 | <![CDATA[<u>AGCTGTCCCGGAACGA</u>]]> |
表3
表3中,斜体下划线序列为连续相同碱基超过3个、或者GC含量大于65%的不满足要求的。
紧接着,针对采用编码应用方式1、2所得不符合要求的寡核苷酸编码的二进制字符串片段,采用{A=00、G=01、C=10、T=11}/{A=01、G=00、C=11、T=10}/{A=10、G=11、C=00、T=01}作为三个编码应用方式,进行编码,得到编码后的编码寡核苷酸序列如下表4所示,该编码应用方式记为3。
位置 | 二进制字符串片段 | 编码寡核苷酸序列 |
1 | 00000101011010111010101110000110 | AGTGAACCACTGCGTC |
3 | 00011010111000000111101010100000 | AAACCAAGTTTACTCA |
12 | 00001010011010111000010100110101 | AGACAACCAAATACTG |
表4
最后,基于上述三种编码应用方式方式得到的结果列表,得到如下表5所示,待处理二进制编码文件所对应13个待处理二进制字符串片段的顺序位置、编码方式以及编码的寡核苷酸序列。
位置 | 二进制字符串片段 | 编码方式 | 编码寡核苷酸序列 |
1 | 00000101011010111010101110000110 | 3 | AGTGAACCACTGCGTC |
2 | 10111000000111101010111101010000 | 1 | CTCAAGTCCCTTGGAA |
3 | 00011010111000000111101010100000 | 3 | AAACCAAGTTTACTCA |
4 | 00000101001010110101111110000101 | 1 | AAGGACCTGGTTCAGG |
5 | 00110101110000101001101010100110 | 2 | ACGATGATCACTCTGT |
6 | 10101000001011110101000001000101 | 1 | CCCAACTTGGAAGAGG |
7 | 11101010010111101010101111010101 | 2 | TTCTGATTCTCCTAGA |
8 | 01111010101000010111101010101010 | 2 | GCCTCTAAGCCTCTCT |
9 | 11110101000101111010101011110101 | 2 | TCTGGTGCACTATCTG |
10 | 00101111010100101111010110100001 | 2 | TCGAAAGCCTCTTCGA |
11 | 01000000000010100101011010111111 | 2 | GGAGAGCTGAGTCCTC |
12 | 00001010011010111000010100110101 | 3 | AGACAACCAAATACTG |
13 | 01001101010100000101111010100001 | 1 | GATGGGAAGGTCCCAG |
表5
基于表5所示,各待处理二进制字符串片段的最后寡核苷酸序列。由于位置只有13,因此,采用两个碱基总有的16种方式足以满足位置编码,具体编码为AA=1、AG=2、AC=3、AT=4、GA=5、GC=6、GT=7、CA=8、CT=9、GA=10、GT=11、GC=12、CT=13;由于编码方式只有三种,因此采用一个碱基的4种编码方式足够满足编码需求,具体编码为A=1、G=2、T=3。自此,待处理二进制编码文件就编码成了满足合成、测序要求的寡核苷酸序列,如下表6所示。
表6
步骤D.分别获得各待处理二进制字符串片段在待处理二进制编码文件中的顺序位置,并将顺序位置转换为A、G、C、T所构成、具有唯一信息的序列位置编码,并按照一一对应关系、并入对应寡核苷酸序列中,更新各个寡核苷酸序列,然后进入步骤E。
步骤E.分别获得各个寡核苷酸序列中二进制字符串片段的编码方式,并将编码方式转换为A、G、C、T所构成的编码信息,按照一一对应关系、并入对应寡核苷酸序列,更新各个寡核苷酸序列,所获各个寡核苷酸序列即实现对待处理二进制编码文件的编码存储。
如下表7所示,在获得待处理二进制编码文件所对应各个寡核苷酸序列后,将需要合成的各个寡核苷酸序列送核酸合成公司合成,从而实现待处理二进制编码文件的DNA储存,合成的寡核苷酸序列包含位置、编码方式以及编码二进制字符串的寡核苷酸片段三部分。
序列号 | DNA序列(5’-3’) |
1 | AATAGTGAACCACTGCGTC |
2 | AGACTCAAGTCCCTTGGAA |
3 | ACTAAACCAAGTTTACTCA |
4 | ATAAAGGACCTGGTTCAGG |
5 | GAGACGATGATCACTCTGT |
6 | GCACCCAACTTGGAAGAGG |
7 | GTGTTCTGATTCTCCTAGA |
8 | CAGGCCTCTAAGCCTCTCT |
9 | CTGTTGGAGGTCCCCTTGG |
10 | GAGATTCGAATTCGACTAA |
11 | GTGGGAGAGCTGAGTCCTC |
12 | GCTAGACAACCAAATACTG |
13 | CTAGATGGGAAGGTCCCAA |
表7
与上述过程相对应,即DNA存储文件的读取操作如下。
首先,寡核苷酸序列连接子的连接、PCR:将寡核苷酸序列两端连接通用连接子1、2(连接子为人工设计,连接子与合成寡核苷酸序列或者互补序列在PCR及测序条件下不能实现有效杂交),具体连接、PCR操作步骤参见文献(Science,2005,309,17281732;Nature,2005,437,376–380;Science,2009,327,78-81),制备测序芯片。在本实施例中,连接寡核苷酸序列的连接子13条序列如下表8所示。
表8
接着,寡核苷酸序列的测序:将测序芯片用Illumina、Ion Torrent等高通量DNA测序平台完成测序,在本实施例中,由于只涉及13条序列,则可以用第一代的Sanger测序方法完成。
然后,测序数据的处理:将测每条DNA序列的测序数据按照位置、编码方式以及编码寡核苷酸,在本实施例中如下表9所示。
表9
紧接着,确定位置、编码方式:将位置及编码方式按照“寡核苷酸序列编码”确定每条测序序列在二进制文件中的位置、及其编码方式。在本实施例中,位置编码为AA=1、AG=2、AC=3、AT=4、GA=5、GC=6、GT=7、CA=8、CT=9、GA=10、GT=11、GC=12、CT=13;编码方式为A=1、G=2、T=3;如下表10所示。
表10
最后,将寡核苷酸序列转换为二进制字符串,按照编码寡核苷酸方式将寡核苷酸序列转换为二进制字符串。在本实施例1中,编码方式1按照{A=00、G=01、C=10、T=11}、将寡核苷酸序列中所有碱基替换为二进制字符串;编码方式2按照{A=00、G=01、C=10、T=11}/{A=01、G=00、C=11、T=10},即从寡核苷酸序列第一碱基开始,单数位碱基按{A=00、G=01、C=10、T=11}替代,而偶数碱基按{A=01、G=00、C=11、T=10},将寡核苷酸序列中所有碱基替换为二进制字符串;编码方式3按照{A=00、G=01、C=10、T=11}/{A=01、G=00、C=11、T=10}/{A=10、G=11、C=00、T=01},即从寡核苷酸序列第一碱基开始,1、4、7、…、位碱基按{A=00、G=01、C=10、T=11}替代,2、5、8…、位碱基按{A=01、G=00、C=11、T=10}替代,3、6、9、…、位碱基按{A=10、G=11、C=00、T=01},将寡核苷酸序列中所有碱基替换为二进制字符串;如下表11所示。
位置 | 二进制字符串片段 |
1 | 00000101011010111010101110000110 |
2 | 10111000000111101010111101010000 |
3 | 00011010111000000111101010100000 |
4 | 00000101001010110101111110000101 |
5 | 00110101110000101001101010100110 |
6 | 10101000001011110101000001000101 |
7 | 11101010010111101010101111010101 |
8 | 01111010101000010111101010101010 |
9 | 11110101000101111010101011110101 |
10 | 00101111010100101111010110100001 |
11 | 01000000000010100101011010111111 |
12 | 00001010011010111000010100110101 |
13 | 01001101010100000101111010100001 |
表11
采用进行编码,二进制文件构建:将转换为二进制字符串,按照位置排列,得到二进制文件,从而在现有显示器中完成读取。在本实施例中,即为:“00000101011010111010101110000110101110000001111010101111010100000001101011100000011110101010000000000101001010110101111110000101001101011100001010011010101001101010100000101111010100000100010111101010010111101010101111010101011110101010000101111010101010101111010100010111101010101111010100101111010100101111010110100001010000000000101001010110101111110000101001101011100001010011010101001101010100000101111010100001”。
上述技术方案所设计基于寡核苷酸序列编码存储的DNA存储方法,以多种不同的碱基编码形式对不同的二进制字符串片段,实施寡核苷酸序列编码,由于可以采用不同的碱基编码形式,每组二进制编码文件片段总可以找到一种满足合成、以及测序要求的寡核苷酸序列编码,这种用于DNA存储的寡核苷酸可变编码方法,大大简化了寡核苷酸编码二进制字符串片段、以及编码寡核苷酸转化成二进制字符串片段运算,实现高效编码与解码操作,可以最大限度的利用DNA分子的数据存储能力,同时简化二进制字符串片段的编码、以及编码寡核苷酸序列恢复到二进制字符串片段的运算;此外,在编码二进制字符片段中,每个碱基编码二进制的最大理论值2字节,可以减少寡核苷酸序列的数目或者长度,降低寡核苷酸合成与测序费用,拥有最大的信息存储量。
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (2)
1.一种基于寡核苷酸序列编码存储的DNA存储方法,用于针对待处理二进制编码文件进行编码存储,其特征在于,包括如下步骤:
步骤A. 针对待处理二进制编码文件、按顺序进行划分,获得各个待处理二进制字符串片段,其中至少第一个待处理二进制字符串片段至倒数第一个待处理二进制字符串片段中,各待处理二进制字符串片段中字符的数目彼此相同,且该各待处理二进制字符串片段中字符的数目均为偶数,并进入步骤B;
步骤B. 基于DNA寡核苷酸序列存储,获得四个碱基A、G、C、T与四个二进制字符串00、01、10、11彼此之间一一对应的各种不同组合,并将各种不同组合作为各种不同编码方式,然后进入步骤C;
步骤C. 分别针对各个待处理二进制字符串片段,应用各种不同编码方式组合,以一个碱基替代两个二进制字符的方式,针对待处理二进制字符串片段进行编码,将该待处理二进制字符串片段中的字符转换为对应的碱基,更新为寡核苷酸序列,且该寡核苷酸序列中同聚物区域的数目、高GC的含量分别满足预设指标要求,进而获得各待处理二进制字符串片段分别所对应的寡核苷酸序列,然后进入步骤D;
上述步骤C中,分别针对各个待处理二进制字符串片段,按如下步骤C01至步骤C06,应用各种不同编码方式组合,针对待处理二进制字符串片段进行编码;
步骤C01. 初始化参数n=1、x=1、y=1,并进入步骤C02;
步骤C02. 在各种不同编码方式中,任选n种编码方式,作为n种编码应用方式,并进入步骤C03;
步骤C03. 以待处理二进制字符串片段中两个二进制字符为一位,一个碱基替代一位中两个二进制字符的方式,针对待处理二进制字符串片段中第x位两个二进制字符,以第y种编码应用方式进行编码,将该位两个二进制字符转换为对应的碱基,并进入步骤C04;
步骤C04. 判断x是否等于n的整数倍,是则针对x的值进行加1更新,同时重置y=1,并进入步骤C05;否则针对x的值、y的值,分别进行加1更新,并进入步骤C05;
步骤C05. 判断x是否大于该待处理二进制字符串片段中字符长度/2的值,是则完成该待处理二进制字符串片段中字符到对应碱基的编码,即获得该待处理二进制字符串片段所对应的寡核苷酸序列,并进入步骤C06;否则返回步骤C03;
步骤C06. 判断该寡核苷酸序列中同聚物区域的数目、高GC的含量是否分别均满足预设指标要求,是则完成对该待处理二进制字符串片段的编码操作,即获得该待处理二进制字符串片段所对应的寡核苷酸序列;否则删除该待处理二进制字符串片段所对应的寡核苷酸序列,并针对n的值进行加1更新,以及重置x=1、y=1,然后返回步骤C02;
步骤D. 分别获得各待处理二进制字符串片段在待处理二进制编码文件中的顺序位置,并将顺序位置转换为A、G、C、T所构成、具有唯一信息的序列位置编码,并按照一一对应关系、并入对应寡核苷酸序列中,更新各个寡核苷酸序列,然后进入步骤E;
步骤E. 分别获得各个寡核苷酸序列中二进制字符串片段的编码方式,并将编码方式转换为A、G、C、T所构成的编码信息,按照一一对应关系、并入对应寡核苷酸序列,更新各个寡核苷酸序列,所获各个寡核苷酸序列即实现对待处理二进制编码文件的编码存储。
2.根据权利要求1所述基于一种基于寡核苷酸序列编码存储的DNA存储方法,其特征在于:所述步骤C中,寡核苷酸序列中同聚物区域的数目不超过3-7个,以及高GC的含量不超过45%-50%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910090892.1A CN109830263B (zh) | 2019-01-30 | 2019-01-30 | 一种基于寡核苷酸序列编码存储的dna存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910090892.1A CN109830263B (zh) | 2019-01-30 | 2019-01-30 | 一种基于寡核苷酸序列编码存储的dna存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109830263A CN109830263A (zh) | 2019-05-31 |
CN109830263B true CN109830263B (zh) | 2023-04-07 |
Family
ID=66863008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910090892.1A Active CN109830263B (zh) | 2019-01-30 | 2019-01-30 | 一种基于寡核苷酸序列编码存储的dna存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109830263B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020210544A1 (en) | 2019-04-09 | 2020-10-15 | University Of Washington | Systems and methods for providing similarity based retrieval of information stored in dna |
US20230032409A1 (en) * | 2019-09-24 | 2023-02-02 | Bgi Shenzhen | Method for Information Encoding and Decoding, and Method for Information Storage and Interpretation |
US11873484B2 (en) | 2019-11-27 | 2024-01-16 | Microsoft Technology Licensing, Llc | Oligonucleotide assembly using electrically controlled hybridization |
CN111091876B (zh) * | 2019-12-16 | 2024-05-17 | 中国科学院深圳先进技术研究院 | 一种dna存储方法、系统及电子设备 |
CN111368132B (zh) * | 2020-02-28 | 2023-04-14 | 元码基因科技(北京)股份有限公司 | 基于dna序列存储音频或视频文件的方法及存储介质 |
CN111489791B (zh) * | 2020-04-07 | 2023-05-26 | 中国科学院重庆绿色智能技术研究院 | 固态纳米孔高密度编码dna数字存储读取方法 |
CN111680797B (zh) * | 2020-05-08 | 2023-06-06 | 中国科学院计算技术研究所 | 一种dna活字印刷机、基于dna的数据存储设备和方法 |
CN115699189A (zh) * | 2020-06-03 | 2023-02-03 | 深圳华大生命科学研究院 | 生成dna存储编解码规则的方法和装置及dna存储编解码方法和装置 |
CN112002376B (zh) * | 2020-08-13 | 2024-03-19 | 中国海洋大学 | 一种dna分子记录和读取信息的方法 |
CN112382340B (zh) * | 2020-11-25 | 2022-11-15 | 中国科学院深圳先进技术研究院 | 用于dna数据存储的编解码方法和编解码装置 |
CN112530522B (zh) * | 2020-12-15 | 2022-10-28 | 中国科学院深圳先进技术研究院 | 序列纠错方法、装置、设备和存储介质 |
CN113380322B (zh) * | 2021-06-25 | 2023-10-24 | 倍生生物科技(深圳)有限公司 | 人工核酸序列水印编码系统、水印字符串及编码和解码方法 |
CN114356220B (zh) * | 2021-12-10 | 2022-10-28 | 中科碳元(深圳)生物科技有限公司 | 基于dna存储的编码方法、电子设备及可读存储介质 |
CN114356222B (zh) * | 2021-12-13 | 2022-08-19 | 深圳先进技术研究院 | 数据存储方法、装置、终端设备及计算机可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105022935A (zh) * | 2014-04-22 | 2015-11-04 | 中国科学院青岛生物能源与过程研究所 | 一种利用dna进行信息存储的编码方法和解码方法 |
WO2017190297A1 (zh) * | 2016-05-04 | 2017-11-09 | 深圳华大基因研究院 | 利用dna存储文本信息的方法、其解码方法及应用 |
CN106845158A (zh) * | 2017-02-17 | 2017-06-13 | 苏州泓迅生物科技股份有限公司 | 一种利用dna进行信息存储的方法 |
-
2019
- 2019-01-30 CN CN201910090892.1A patent/CN109830263B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109830263A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109830263B (zh) | 一种基于寡核苷酸序列编码存储的dna存储方法 | |
CN110945595B (zh) | 基于dna的数据存储和检索 | |
CN112382340B (zh) | 用于dna数据存储的编解码方法和编解码装置 | |
KR20190117652A (ko) | 압축된 게놈 서열 리드로부터 게놈 참조 서열의 복원 방법 및 시스템 | |
CN113228193B (zh) | 一种定点编辑存储有数据的核酸序列的方法及装置 | |
US20180089369A1 (en) | Systems and methods for sequence encoding, storage, and compression | |
CN111600609B (zh) | 一种优化中文存储的dna存储编码方法 | |
CN109979540B (zh) | 一种dna信息存储编码方法 | |
Bakr et al. | DNA lossless compression algorithms | |
WO2016020280A1 (en) | Code generation method, code generating apparatus and computer readable storage medium | |
WO2015193140A1 (en) | Method and apparatus for encoding information units in code word sequences avoiding reverse complementarity | |
CN112527736A (zh) | 基于dna的数据存储方法、数据恢复方法及终端设备 | |
CN110569974B (zh) | 可包含人造碱基的dna存储分层表示与交织编码方法 | |
Zhang et al. | A high storage density strategy for digital information based on synthetic DNA | |
CA2770348A1 (en) | Compression of bitmaps and values | |
CN111243670A (zh) | 一种满足生物约束的dna信息存储编码方法 | |
Wu et al. | HD-code: End-to-end high density code for DNA storage | |
El-Shaikh et al. | DNAContainer: an object-based storage architecture on DNA | |
TW202008302A (zh) | 以dna為基礎之資料存取 | |
CN114730616A (zh) | 信息编码和解码方法、装置、存储介质以及信息存储和解读方法 | |
KR101953663B1 (ko) | 하나의 올리고뉴클레오티드를 이용해서 올리고뉴클레오티드 풀을 생산하는 방법 | |
WO2004070029A1 (en) | Method to encode a dna sequence and to compress a dna sequence | |
WO2023206023A1 (zh) | 用于dna存储的编码方法及编码装置 | |
Park et al. | Iterative DNA Coding Scheme With GC Balance and Run-Length Constraints Using a Greedy Algorithm | |
WO2023015550A1 (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 |