CN112382340A - 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置 - Google Patents

用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置 Download PDF

Info

Publication number
CN112382340A
CN112382340A CN202011343923.9A CN202011343923A CN112382340A CN 112382340 A CN112382340 A CN 112382340A CN 202011343923 A CN202011343923 A CN 202011343923A CN 112382340 A CN112382340 A CN 112382340A
Authority
CN
China
Prior art keywords
binary
base
coding
base sequence
mapping
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.)
Granted
Application number
CN202011343923.9A
Other languages
English (en)
Other versions
CN112382340B (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN202011343923.9A priority Critical patent/CN112382340B/zh
Publication of CN112382340A publication Critical patent/CN112382340A/zh
Application granted granted Critical
Publication of CN112382340B publication Critical patent/CN112382340B/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
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • 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
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • 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
    • G16B50/00ICT programming tools or database systems specially adapted for bioinformatics
    • G16B50/50Compression of genetic data

Landscapes

  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Biotechnology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioethics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Epidemiology (AREA)
  • Artificial Intelligence (AREA)
  • Public Health (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Genetics & Genomics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)

Abstract

本申请涉及生物信息技术领域,提供一种用于DNA数据存储的二进制信息到碱基序列的编解码方法和处理装置。所述用于DNA数据存储的二进制信息到碱基序列的编解码方法,包括:利用基准碱基组代表基准二进制单元,构建基准碱基组‑基准二进制单元的映射编码规则库;获取待编码的二进制数据,所述二进制数据包括多个二进制单元;采用N个不同的映射编码规则对所述多个二进制单元进行编码,得到与所述二进制数据对应的碱基序列。本申请提供的用于DNA数据存储的二进制信息到碱基序列的编解码方法,可以选择性地预防单碱基重复和碱基序列中GC不均一的问题,从而提高碱基序列可合成性和测序便利性;而且为数据的加密和安全存储提供了更多的可能。

Description

用于DNA数据存储的二进制信息到碱基序列的编解码方法和 编解码装置
技术领域
本申请涉及数据存储技术领域,尤其涉及一种用于DNA数据存储的二进制信息到碱基序列的编解码方法和编解码装置。
背景技术
互联网以及大数据等领域的快速发展,促使当今社会的信息呈现出爆发性的增长。传统的存储介质,包括硬盘、磁带、光盘等由于存储寿命短,维护成本高,存储密度低,远远无法满足未来大规模数据存储的需求。脱氧核糖核酸(DeoxyriboNucleic Acid,DNA)作为一种近年来发展起来的信息存储介质,具有存储密度高,存储时间长,维护成本低等优势,被认为是未来信息存储最有潜力的介质之一。
DNA分子具有四种碱基,它们分别是:腺嘌呤(Adenine,A)、胞嘧啶(Cytosine,C)、鸟嘌呤(Guanine,G)和胸腺嘧啶(Thymine,T)。基于DNA的数据存储技术是利用上述四种碱基序列即A/C/G/T来表示二进制“0”和“1”组成的数据序列,这个过程被称为编码。而将碱基序列转换成二进制数据的过程,则称为解码。当二进制数据转换成碱基序列之后,通过DNA合成技术生成单链的DNA分子结构保存。生成的单链DNA分子可以通过DNA测序技术,检测出单链DNA分子中的四种碱基组成的碱基序列,并通过解码机制得出最终的二进制数据流。
目前,已有的编码方法单一,可选择的编码规则少的问题,进一步造成得到的碱基序列中GC不均一,单碱基重复等,影响碱基序列合成及测序的问题。
发明内容
本申请实施例提供了一种用于DNA数据存储的二进制信息到碱基序列的编解码方法和编解码装置,旨在解决现有的二进制数据处理方法单一,可选择的编码规则少,导致得到的碱基序列中GC不均一,单碱基重复,从而影响碱基序列合成及测序的问题。
第一方面,本申请提供一种用于DNA数据存储的二进制信息到碱基序列的编解码方法,方法包括:
利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,基准碱基组的碱基数为M,二进制单元的比特数为2M,且M为大于或等于2的整数;
获取待编码的二进制数据,二进制数据包括多个二进制单元;
采用N个不同的映射编码规则对多个二进制单元进行编码,得到与二进制数据对应的碱基序列,其中,N为大于或等于2的整数,碱基序列用于合成存储有与二进制数据对应的数据信息的DNA;N个不同的映射编码规则选自基准碱基组-基准二进制单元的映射编码规则库中的规则。
在一些实施例中,多个二进制单元中相隔N-1个二进制单元的两个二进制单元采用N个不同的映射编码规则中的同一个映射编码规则进行编码。
在一些实施例中,N=2,N个不同的映射编码规则包括第一映射编码规则和第二映射编码规则;采用N个不同的映射编码规则对多个二进制单元进行编码,得到与二进制数据对应的碱基序列,包括:
采用第一映射编码规则对二进制数据中位于奇数排位的二进制单元进行编码,采用第二映射编码规则对二进制数据中位于偶数排位的二进制单元进行编码,得到与二进制数据对应的碱基序列。
在一些实施例中,N个不同的映射编码规则中包含的同一种基准碱基组对应N个不同的基准二进制单元。
在一些实施例中,编码得到的碱基序列中,单碱基重复小于6个,G、C在碱基序列中的数量百分含量为40%-60%。
在一些实施例中,碱基序列包括J个碱基子序列。
在一些实施例中,碱基子序列设置有索引标记,用于标记碱基子序列在碱基序列中的位置。
在一些实施例中,碱基子序列设置有纠错码和/接头序列。
在一些实施例中,处理方法还包括:
通过测序从合成的DNA中获取碱基序列;
根据N个不同的映射编码规则解码碱基序列,得到二进制数据。
在一些实施例中,根据映射编码规则解读碱基序列,得到二进制数据,包括:
碱基序列包括多个碱基组,碱基组与二进制单元相对应;
采用N个不同的映射编码规则对碱基组进行解码,得到二进制数据。
在一些实施例中,当碱基序列包括J个碱基子序列时,通过测序从合成的DNA中获取碱基序列,包括:
通过测序从合成的DNA中获取J个碱基子序列;
将J个碱基子序列拼接为碱基序列。
在一些实施例中,碱基子序列设置有索引标记,将J个碱基子序列拼接为碱基序列,包括:
根据索引标记,确定碱基子序列在碱基序列中的位置;
按照碱基子序列在碱基序列中的位置,将J个碱基子序列拼接为碱基序列。
第二方面,本申请提供一种用于DNA数据存储的二进制数据到碱基序列的编解码装置,编解码装置包括:
构建模块,用于利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,基准碱基组的碱基数为M,所述二进制单元的比特数为2M,且M为大于或等于2的整数;
获取模块,用于获取待编码的二进制数据,二进制数据包括多个二进制单元;
编码模块,用于采用N个不同的映射编码规则对多个二进制单元进行编码,得到与二进制数据对应的碱基序列,其中,N为大于或等于2的整数,碱基序列用于合成存储有与二进制数据对应的数据信息的DNA;N个不同的映射编码规则选自所述基准碱基组-基准二进制单元的映射编码规则库中的规则。
在一些实施例中,编解码装置还包括:
测序模块,用于通过测序从合成的DNA中获取碱基序列;
解码模块,用于根据N个不同的映射编码规则解码碱基序列,得到二进制数据。
第三方面,本申请提供一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现如上述第一方面的方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,其特征在于,计算机程序被处理器执行时实现如上述第一方面的方法。
本申请提供的用于DNA数据存储的二进制信息到碱基序列的编解码方法,先利用基准碱基组与基准二进制单元之间的对应关系,构建基于基准碱基组-基准二进制单元的映射编码规则库;然后采用来源于基准碱基组-基准二进制单元的映射编码规则库中的多个不同映射编码规则,对二进制数据进行编码。本申请中,基准碱基组的碱基数大于或等于2,由此形成的基准碱基组-基准二进制单元的映射编码规则库中的映射编码规则数量可以非常庞大,为二进制信息到碱基序列的编码提供了一个灵活,可选的编码规则库,极大地丰富了二进制信息到碱基序列的编码方式;同时,该编码规则利用基准碱基组中的M个碱基代表2M个二进制信息,实现了2bits/nt的信息编码效率,达到了理论编码极限;这种M个碱基代表2M个,还可以实现1条到多条二进制信息编入1条碱基序列的可能,进一步扩展了二进制信息到碱基序列的编码方式;基于这些灵活的编码方式,使得编码过程中,不仅可以选择多种编码规则或者编码方式来预防单碱基重复和碱基序列中GC不均一的问题,提高碱基序列可合成性和测序便利性;而且,通过N个不同的映射编码规则或者混合编码方式对二进制数据进行编码,为数据的加密和安全存储提供了更多的可能,提高了数据的安全性能。
可以理解的是,上述第二方面至第四方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于DNA数据存储的二进制信息到碱基序列的编码流程示意图;
图2是本申请实施例提供的一种二进制数据组合编码的组合方式示意图;
图3A是本申请实施例提供的一种碱基子序列的信息组成示意图;
图3B是本申请实施例提供的另一种碱基子序列的信息组成示意图;
图4是本申请实施例提供的一种用于DNA数据存储的二进制信息到碱基序列的解码流程示意图;
图5是本申请实施例提供的用于DNA数据存储的二进制数据到碱基序列的编解码装置的编码单元的结构示意图;
图6是本申请实施例提供的用于DNA数据存储的二进制数据到碱基序列的编解码装置的解码单元的结构示意图;
图7是本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
还应当理解,在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
目前,基于DNA介质的信息存储技术,通常包括如下四个步骤:
1)信息编码;即从计算机存储数据的0/1二进制数据到DNA碱基序列的编码过程。
该过程根据二进制代码与碱基A、T、C、G之间的预设对应关系,将二进制数据信息转换为由碱基A、T、C、G编码形成的,存储有数据信息的DNA碱基序列。示例性的,2012年George Church等人在Science杂志上发表的方法,利用2个碱基代表1个比特(bits),其中,0代表A或C,1代表G或T。通过这种方法得到的碱基序列,单个碱基承载的信息量少,因此编码密度较低,仅为1bit/nt。
2)DNA合成;根据DNA碱基序列合成DNA的过程。
该步骤,在步骤1)获得的DNA碱基序列的基础上,对DNA碱基序列进行合成,得到DNA。示例性的,采用高通量DNA合成仪,包括结合酶拼接技术,合成存储有数据信息的DNA序列。
3)DNA测序;即合成DNA碱基序列的解读过程。
4)信息解码;即从DNA碱基序列提取存储数据的0/1二进制数据的过程。
该步骤结合编码规则,将DNA碱基序列解码为0/1二进制数据。
上述方法中,步骤1和步骤4的信息编码和映射编码规则是整个存储流程的核心,直接决定了步骤2和步骤3的难易程度及DNA存储技术的效率。但目前的编码方法,编码密度低,且可选择的编码规则少,导致得到的碱基序列中GC不均一,单碱基重复,从而影响碱基序列合成及测序。
为了提高信息编码密度以及碱基序列中GC的均一性,减少单碱基重复,本申请实施例提供了一种本申请提供一种用于DNA数据存储的二进制信息到碱基序列的编解码方法和处理装置,通过利用基准碱基组的M个碱基对应基准二进制单元2M个二进制位的方式,实现了2bits/nt的编码密度,同时产生了一个灵活,可选地编码规则库,丰富了二进制信息到碱基序列的编码方式;利用基准碱基组-基准二进制单元的映射编码规则库中的N个不同的映射编码规则对二进制数据中的多个数据单元进行编码,通过采用映射编码规则对数据单元混编的方式,有利于得到GC含量合适、单碱基重复减少的碱基序列,并增加了编码过程中的安全性。
下面通过具体实施例,对本申请提供的用于DNA数据存储的二进制信息到碱基序列的编解码方法和编解码装置进行示例性说明。
应当说明的是,用于DNA数据存储的二进制信息到碱基序列的编解码方法,包括用于DNA数据存储的二进制信息到碱基序列的编码方法和用于DNA数据存储的二进制信息到碱基序列的解码方法。
请参阅图1,图1是本申请实施例提供的一种用于DNA数据存储的二进制信息到碱基序列的编码方法的流程示意图,该方法至少包括步骤S101和步骤S103,具体如下:
S101.利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,所述基准碱基组的碱基数为M,所述二进制单元的比特数为2M,且M为大于或等于2的整数。
本申请实施例中涉及的基准碱基组-基准二进制单元的映射编码规则库,是利用基准碱基组代表基准二进制单元,根据基准碱基组与基准二进制单元之间的对应关系,构建获得形成的所有映射编码规则的集合。该基准碱基组-基准二进制单元的映射编码规则库中的每个映射编码规则为基准碱基组与基准二进制单元按照预设的一一对应关系形成的映射编码规则。
本申请实施例中,基准碱基组的碱基数为M,且M为大于或等于2的整数,即基准碱基组合为两个或两个以上单碱形成的碱基组合。在一些实施例中,基准碱基组的碱基数为两个、三个、四个甚至更多个,对应的,基准碱基组可以采用双碱基、三碱基、四碱基甚至更多的碱基作为基准碱基组。示例性的,基准碱基组合中含有两个碱基如AT、三个碱基如ACT、四个碱基如AGCT,甚至更多碱基。应当理解的是,基准碱基组中的碱基数量越多时,碱基排列组合形成的基准碱基组的数量就越多,对应形成的基准碱基组与基准二进制单元之间的映射方式就越多。
本申请实施例中,二进制单元的比特数大于基准碱基组的碱基数,且为基准碱基组的碱基数的2倍,以使得编码密度等于2bit/nt,即每个碱基对应两个比特位数,从而提高了信息编码密度。示例性的,基准碱基组合中含有两个碱基,二进制单元的比特位数为4个,基准碱基组为三个碱基组成的碱基组,二进制单元中的比特数为6个,此时,编码密度为2bit/nt。
下面以双碱基表示一个4bits的二进制单元,对本申请实提供的映射编码规则进行相关说明。如表1所示,A、T、C、G四种碱基存在16种双碱基组合方式,即16种基准碱基组,具体为AA、AT、AC、AG、TA、TT、TC、TG、CA、CT、CC、CG、GA、GT、GC、GG。16种基准碱基组对应16个基准二进制单元。16种基准碱基组到16个基准二进制单元之间的任意映射方式形成的集合,构成本申请实施例的基准碱基组-基准二进制单元的映射编码规则库。示例性,第一映射编码规则可以为:AA=0000,AT=0001,AC=0010,AG=0011,TA=0100,TT=0101,TC=0110,TG=0111,CA=1000,CT=1001,CC=1010,CG=1011,GA=1100,GT=1101,GC=1110,GG=1111;又比如,第二映射编码规则:AT=0000,AC=0001,AG=0010,AA=0011,TA=0100,TT=0101,TC=0110,TG=0111,CA=1000,CT=1001,CC=1010,CG=1011,GA=1100,GT=1101,GC=1110,GG=1111等等。应当理解,每个映射编码规则中16种基准碱基组与16个基准二进制单元之间存在一一对应关系,但16种基准碱基组对应16个二进制单元的映射方式为任意的组合方式,并不限于上述列举的映射方式。于是,16种基准碱基组可以产生A(16,16)种排列组合对应的映射编码规则,共有20922789888000种。
表1
Figure BDA0002799338630000091
Figure BDA0002799338630000101
需要说明的是,基准碱基组中的碱基数量大于2个(如3个、4个甚至更多)时,对应产生的基准碱基组的数量更多,由此产生的基准碱基组与基准二进制单元之间的映射编码规则更多。示例性的,当基准碱基组为3个碱基组合形成的碱基组时,基准二进制单元的比特位数可以为6bits,但不限于此,A、T、C、G四种碱基形成的基准碱基组合共有64种,64种基准碱基组对应64个基准二进制单元,共产生A(64,64)种排列组合对应的映射编码规则,将远远超过2万亿个。
本申请实施例通过多个可选的映射编码规则对二进制数据进行编码,极大地丰富了二进制数据到碱基序列的编码规则,充分发挥了碱基序列在对应二进制数据上的自由度,提升了二进制数据到碱基序列编码的灵活度,为DNA数据存储安全加密提供了一套丰富可选的映射编码规则。
步骤S102,获取待编码的二进制数据,二进制数据多个二进制单元。
本申请实施例中,在将各类数据信息比如文本信息、图像信息、语音信息、音视频信息等数据信息进行DNA存储时,需要先将要存储的数据信息转换为对应的二进制数据,比如,文本信息“春,已不再是想象之外的那只蝴蝶。”对应的二进制数据为“1110011010011000 10100101 11101111 10111100 10001100 11100101 10110111 1011001011100100 10111000 10001101 11100101 10000110 10001101 11100110 1001100010101111 11100110 10000011 10110011 11101000 10110001 10100001 1110010010111001 10001011 11100101 10100100 10010110 11100111 10011010 1000010011101001 10000010 10100011 11100101 10001111 10101010 11101000 1001110110110100 11101000 10011101 10110110 11100011 10000000 10000010”。
本申请实施例中,根据选择的编码二进制数据的映射编码规则中基准碱基组对应的基准二进制单元的比特数,将二进制数据划分为多个二进制单元。应当理解的是,二进制数据中二进制单元的划分,与对应的用于编码该二进制单元的映射编码规则中基准二进制单元的比特位数有关。确切来讲,二进制单元的比特位数,与对应的用于编码该二进制单元的映射编码规则中基准二进制单元的比特位数相同。在一种可能的实施方式中,当用于编码二进制数据的所有映射编码规则中的基准二进制单元的比特位数相同时,二进制数据中的所有二进制单元的比特位数相同,且与基准二进制单元的比特位数一致;在另一种可能的实施方式中,当用于编码二进制数据的N个不同映射编码规则中的基准二进制单元的比特位数不完全相同时,二进制数据中,适用比特位数相同的基准二进制单元的二进制单元的比特位数相同,适用比特位数不同的基准二进制单元的二进制单元的比特位数不同;在另一种可能的实施方式中,当用于编码二进制数据的N个不同映射编码规则中的基准二进制单元的比特位数完全不同时,适用比特位数不同的基准二进制单元的二进制单元的比特位数不同。
在一些实施例中,二进制数据中的所有二进制单元具有相同的比特位数,可以在赋予编码良好安全性的前提下,降低得到的碱基序列的解码程序的复杂度。
在一些实施例中,二进制数据中的二进制单元具有相同比特位数。示例性的,二进制单元的比特位数为4位,上述二进制数据“11100110 1001100010100101...",可以依次划分为二进制单元“1110”、“0110”、“1001”、1000”、“1010”、“0101”……。
在一种可能的实施方式中,将二进制数据划为二进制单元时,当待编码的二进制数据末尾不足一个二进制单元的比特位数时,为了使得该二进制单元能够编码成对应的碱基,在二进制数据末尾用0或1补齐,直至最后一个二进制单元的比特位数与其对应的映射编码规则中的基准二进制单元的比特位数一致。同时,为了提高解码的准确率,在编码时,需要记录该最后一个数据单元补零的数量。在一些实施例中,末端补0或1的过程可以被额外记录在电脑程序或者其它文本上,作为解码步骤的密钥内容。
在一种可能的实施方式中,当待编码的二进制数据较大,可以将二进制数据拆分成多个二进制信息文件,并对每一个二进制信息文件进行标记,以表示二进制信息文件的顺序,并在下述步骤的编码过程中,分别对每一个二进制信息文件进行编码处理。
步骤S103,采用N个不同的映射编码规则对所述多个二进制单元进行编码,得到与所述二进制数据对应的碱基序列,其中,N为大于或等于2的整数,所述碱基序列用于合成存储有与所述二进制数据对应的数据信息的DNA;所述N个不同的映射编码规则选自所述基准碱基组-基准二进制单元的映射编码规则库中的规则。
该步骤中,为了提高编码后得到的碱基序列中的GC均一度,降低单碱基的重复数量和重复概率,本申请实施例采用N个不同的映射编码规则对多个二进制单元进行编码。通过采用N个不同的映射编码规则,可以灵活选择有利于提高GC均一度、减少单碱基重复的编码规则,从而达到提高碱基序列中的GC均一度,降低单碱基的重复数量和重复概率的目的。此外,采用多个映射编码规则混用对二进制数据进行编码时,可以提高编码信息的安全度。
本申请实施例中,按照预设的映射编码规则的数量,即N的取值,二进制数据可以分成若干个二进制单元集合,其中,采用同一个映射编码规则进行编码的所有二进制单元,称为一个二进制单元集合。二进制数据中,二进制单元集合的形成规则没有严格限定,因此,二进制单元集合中二进制单元的数量没有严格限制,可以为一个、两个、二进制单元的总数/N,或更多,甚至可以每个二进制单元单独构成一个二进制单元集合(此时,每一个二进制单元分别采用不同的映射编码规则进行编码)。应当理解的是,由于同一个编码规则中的基准二进制单元的比特位数相同,因此,同一个二进制单元集合中的二进制单元的比特位数相同。
在一种可能的实现方式中,对二进制数据中的每一个二进制单元,采用不同的映射编码规则进行编码。比如,按照各个二进制单元的顺序,采用对应编号的映射编码规则进行编码,例如,第一二进制单元对应第一映射编码规则,第二二进制单元对应第二映射编码规则,第三二进制单元对应第三映射编码规则,以此类推。这在映射编码规则足够多的情况下,可以有效地提高碱基序列GC均一度,降低单碱基的重复数量和重复概率的目的,从而提高DNA的可合成性和测序可读性。此外,由于对每一个数据单元采用不同的映射编码规则进行编码,相应也提高编码的安全性。
在一种可能的实施方式中,对二进制数据中的中相邻的两个二进制单元,采用不同的映射编码规则进行编码。比如,第一二进制单元采用第一映射编码规则,第二二进制单元采用除第一映射编码规则之外的任意一个映射编码规则,第三二进制单元采用除第二二进制单元采用的映射编码规则之外的任意一个映射编码规则,以此类推。
在一种可能的实施方式中,多个二进制单元中相隔N-1个二进制单元的两个二进制单元采用N个不同的映射编码规则中的同一个映射编码规则进行编码,即二进制数据中,每相隔N-1个二进制单元的二进制单元形成一个二进制单元集合,采用N个不同的映射编码规则中的同一个映射编码规则进行编码。
在一些实施例中,可以按照二进制数据中二进制单元的奇数和偶数位置排列,形成两个二进制单元集合,采用两个映射编码规则分别对奇数排位的二进制单元和偶数排位的二进制单元进行编码。在一些实施例中,可以按照二进制数据中二进制单元的排列位数为S-2、S-1、S(S为3的整数倍数)的位置排列,形成三个二进制单元集合,采用三个映射编码规则分别对三个二进制单元集合中的二进制单元进行编码。在一些实施例中,可以按照二进制数据中二进制单元的排列位数为L-3、L-2、L-1、L(L为4的整数倍数)的位置排列,形成四个二进制单元集合,采用四个映射编码规则分别对四个二进制单元集合中的二进制单元进行编码,等等,不限于上述实施例。
示例性的,N=2,N个不同的映射编码规则包括第一映射编码规则和第二映射编码规则;采用N个不同的映射编码规则对多个二进制单元进行编码,得到与二进制数据对应的碱基序列,包括:采用第一映射编码规则对二进制数据中位于奇数排位的二进制单元进行编码,采用第二映射编码规则对二进制数据中位于偶数排位的二进制单元进行编码,得到与二进制数据对应的碱基序列。
采用N个不同的映射编码规则对多个二进制单元进行编码时,可以对用于编码二进制单元的N个不同的映射编码规则进行筛选,以使得得到的碱基序列具有期望的序列特征,比如GC均一,没有超过3个碱基的单碱基重复,局部二级结构最少,无大片段碱基重复等。本申请实施例筛选用于编码的映射编码规则(简称编码规则)的标准,优选为:碱基重复最少,GC均一。在一些实施例中,用于编码二进制数据的N个不同的映射编码规则,满足:编码得到的碱基序列中,单碱基重复小于6个,G、C在碱基序列中的数量百分含量为40%-60%,由此,可以提高得到的碱基序列的可合成性及测序可行性。示例性的,当二进制数据以4bits作为一个二进制单元,且按照二进制单元的奇数、偶数排列顺序形成两个二进制单元集合时,可以反复挑选不同的奇数位和偶数位的编码规则组合对信息进行编码测试,直到获得其它期望的序列特征,比如单碱基重复小于6个,小于5个,小于4个等;G、C在碱基序列中的数量百分含量为40%-60%,45%-55%,48%-52%等。
在一些实施例中,采用N个不同的映射编码规则中包含的同一种基准碱基组对应N个不同的基准二进制单元。即不同的映射编码规则中,相同的基准碱基组对应的基准二进制单元各不相同。在这种情况下,可以在后续对碱基序列进行解码时,更加明确对应的碱基所对应的映射编码规则,从而进一步提高解码准确性。
在一种可能的实施方式中,当二进制数据包括多个二进制子数据时,可以按照上述方法,分别对每一个二进制子数据进行编码处理,得到多个碱基子序列。即:至少采用两个不同的映射编码规则对每一个二进制子数据进行编码,以平衡得到的每一条碱基序列中的GC含量,并减少单碱基重复。
在一种可能的实施方式中,可以把2条、3条、4条甚至更多条二进制子数据,按照预设的规则混编成一条二进制数据后,再对混编后的二进制数据采用上述的编码规则进行编码。示例性的,如图2所示,从左往右,三列分别示出了将2条、3条、4条二进制子数据,以奇数位和偶数位的形式混编成一条二进制数据后,编码到一条碱基序列中。以最左列的2条二进制子数据为例,将2条二进制子数据,以奇数位和偶数位的形式混编成一条二进制数据后,编码到一条碱基序列中,包括:2条二进制子数据分别标记为第一二进制子数据和第二二进制子数据,按2bits作为一个单元将将第一二进制子数据和第二二进制子数据划分成多个子单元,并对子单位进行排序;将第一二进制子数据和第二二进制子数据中相同排序位的子单元进行合并,将两条二进制子数据整合第三二进制数据;按4bits作为一个单元将将第三二进制数据划分成多个二进制单元,对二进制单元进行奇数和偶数排位后,采用第一映射编码规则对位于奇数排位的二级制单元进行编码,采用第二映射编码规则对位于偶数排位的二级制单元进行编码,得到碱基序列。应当理解的是,对于不同条二进制子数据的编码,可以针对一部分二进制子数据采用一种奇数位和偶数位的编码规则组合,针对另外一部分二进制子数据采用另外一种奇数位和偶数位的编码规则组合。当然,也可以采用多种编码规则混用的方式。对于待转化的二进制数据末尾不足一个二进制单元时,用0或1补齐后再进行编码。类似的,将3条、4条甚至更多条二进制子数据编码到一条碱基序列中的方式,可以采用类似方式实现。应当理解的是,通过将多条二进制数据编码进入同一条碱基序列的方式,有利于进一步提升二进制信息到碱基序列的编码灵活性,提升在DNA数据存储实际应用中,按照预期,比如对合成和测序有利的方式进行任意序列转换的可能。同时,通过多条二进制数据编码进入同一条碱基序列,以及多种编码规则混用的方式,能够进一步提升编码信息的安全度。另外,多条二进制数据编码进入同一条碱基序列的方式,还能够实现多个数据文件合并编入一条碱基序列的可能,扩展了DNA数据存储应用方式。
在一些实施例中,由于二进制数据的长度太长,编码得到的碱基序列对应也较长,有可能会超出合成DNA时选定的合成技术所能合成的最大长度。在这种情况下,可以根据合成技术能够合成的长度,将编码得到的碱基序列拆分成J个序列小片段,即:碱基序列包括J个碱基子序列。在一些实施例中,J为大于0且小于200nt的正整数。
在一些实施例中,碱基子序列设置有索引标记,用于标记碱基子序列在碱基序列中的位置。示例性的,AAAA=1,AAAT=2...AGCT=101等。索引标记可以添加在拆分的小片段左边或者右边。在一些实施例中,为了合成DNA的测序以及随机读取方便,在拆分的J个序列小片段两端还可以加上接头序列,优选为16-25个碱基的接头序列,其中,代表不同序列小片段的接头序列可以不同。如图3A所示,为一种碱基子序列的信息组成示意图。其中,在该条碱基子序列的左侧添加有左接头序列、第二索引信息,在该条碱基子序列的右侧添加有右接头序列。在一些实施例中,为了降低编码过程中出现的错误,提高解码的准确率,在一些实施例中,还可以在拆分的序列小片段中加入纠错码,示例性的,如Reed-Solomon、汉明码等。如图3B所示,为一种碱基子序列的信息组成示意图。其中,在该条碱基子序列的左侧添加有左接头序列、第二索引信息,在该条碱基子序列的右侧添加有纠错码和右接头序列。
本申请实施例得到的碱基序列用于合成存储有与二进制数据对应的数据信息的DNA。本申请实施例提供的碱基序列,均可以通过化学DNA合成法或酶DNA合成法进行合成。
应当理解的是,本申请实施例合成得到的DNA的形式没有限定,可以是引物、基因或者质粒等任意形式。合成DNA的存储介质也没有严格限定,示例性的,合成DNA的存储介质可以是离心管、玻璃,也可以通过转化的方式插入到植物/微生物/动物细胞中进行稳定存放。
在一些实施例中,合成DNA以体外合成DNA存放时,可以选择干粉形式,存在-20℃/-80℃的冰箱中;在一些实施例中,合成DNA以细胞进行存放,可以根据植物/微生物/动物细胞具体的保存要求进行存放。
请参阅图4,在一些实施例中,提供了用于DNA数据存储的二进制信息到碱基序列的解码方法,还包括步骤S201和步骤S202,具体如下:
步骤S201,通过测序从合成的DNA中获取碱基序列。
本申请实施例中,在获取待解码的碱基序列之前,需要对所合成的DNA进行测序,以获得该DNA中的碱基序列,所使用的测序方法包括但不限于现有的一代测序,二代测序和三代测序的任意方法。在对DNA测序后,将获得该DNA的碱基序列。
在一些实施例中,可以使用引物对合成的DNA进行扩增,以丰富DNA的含量,从而保证充足的测序量。
当碱基序列包括J个碱基子序列时,通过测序从合成的所述DNA中获取所述碱基序列,包括:
通过测序从合成的DNA中获取J个碱基子序列;
将J个碱基子序列拼接为所述碱基序列。
其中,碱基子序列设置有索引标记,将J个碱基子序列拼接为所述碱基序列,包括:按照J个碱基子序列中的索引标记,确定J个碱基子序列在碱基序列中的位置;按照J个碱基子序列在碱基序列中的位置,将J个碱基子序列拼接为碱基序列。
在一些实施例中,通过测序从合成的DNA中获取碱基序列,包括:对J个碱基子序列分别进行PCR扩增,分别读取扩增片段;根据索引标记对扩增片段序列进行排序,拼接成完整的碱基序列。在这种情况下,通过PCR扩增提高各碱基子序列的浓度,提高各碱基子序列的测序识别效率。
步骤S202,根据N个不同的映射编码规则解码碱基序列,得到二进制数据。
该步骤中,对碱基序列的解码过程为对该碱基序列对应的二进制数据进行编码的反向过程。因此,当碱基序列为使用N个映射编码规则对二进制数据进行编码得到时,也就需要对应使用N个映射编码规则对该碱基序列进行解码。
在一些实施例中,根据映射编码规则解读碱基序列,得到二进制数据,包括:
碱基序列包括多个碱基组,碱基组与二进制单元相对应;
采用N个不同的映射编码规则对碱基组进行解码,得到二进制数据。
即:当编码过程中,采用N种不同的映射编码规则对二进制数据根据预设排位规则形成的N组子数据分别进行编码时,解码过程中,根据映射编码规则中的基准碱基组的碱基数量,确定组成碱基序列中的碱基组,并基于与二进制单元相同的排位规则,采用编码对应二进制单元的映射编码规则,将碱基序列解码为二进制数据。
在一种可能的实施方式中,当对二进制数据中的每一个二进制单元,采用不同的映射编码规则进行编码时,解码过程中,根据采用的映射编码规则以及排序,确定组成碱基序列的多个碱基组,采用将二进制单元变为为该碱基组的映射编码规则对对应的二进制单元进行解码。
在一种可能的实施方式中,对二进制数据中的中相邻的两个二进制单元,采用不同的映射编码规则进行编码,解码过程中,先根据采用的映射编码规则以及排序,确定组成碱基序列的多个碱基组,然后对多个碱基组合中相邻的两个碱基组合,采用不同的映射编码规则进行解码,也即当碱基序列对应的二进制数据中的多个数据单元中相邻的两个数据单元,是采用不同的映射编码规则进行编码时,相应的,相邻的两个碱基组合也相应采用不同的映射编码规则进行解码。
在一种可能的实施方式中,多个二进制单元中相隔N-1个二进制单元的两个二进制单元采用N个不同的映射编码规则中的同一个映射编码规则进行编码时,解码过程中,先根据采用的映射编码规则以及排序,确定组成碱基序列的多个碱基组,然后对多个碱基组中相隔N-1个碱基组的碱基组采用同一个映射编码规则进行解码。
在一些实施例中,当编码过程中,采用第一映射编码规则对二进制数据中奇数排位的二进制单元进行编码,采用第二映射编码规则对二进制数据中偶数排位的二进制单元进行编码时,解码过程中,先根据采用的映射编码规则中基准碱基组中的碱基数,确定组成碱基序列的多个碱基组,然后基于碱基组在碱基序列中的奇数排位和偶数排位,对奇数排位的碱基组采用第一映射编码规则进行解码,对偶数排位的碱基组采用第二映射编码规则进行解码,将碱基序列解码为二进制数据。
在一种可能的实施方式中,当碱基序列为由多条二进制子数据进行编码得到碱基序列时,解码过程中,先根据采用的映射编码规则中基准碱基组中的碱基数,确定组成碱基序列的多个碱基组;然后采用编码二进制数据对应的映射编码规则将个碱基组解码,得到二进制数据;最后,根据多条二进制子数据整合成一条二进制数据的规则,将二进制数据解码为多条二进制子数据。
在一些实施例中,当多个碱基组合中的最后一个碱基组合对应的数据单元有补零记录时,需要删除碱基组合对应的数据单元中补零的数量。
在一些实施例中,提供一种二进制数据的编码方法,将一句话“春,已不再是想象之外的那只蝴蝶。”存储到DNA,以及用对应的解码方法从DNA序列中解读的过程,包括如下步骤:
步骤一、数据编码
1.利用计算机程序提取“春,已不再是想象之外的那只蝴蝶。”的二进制数据“11100110 10011000 10100101 11101111 10111100 10001100 11100101 1011011110110010 11100100 10111000 10001101 11100101 10000110 10001101 1110011010011000 10101111 11100110 10000011 10110011 11101000 10110001 1010000111100100 10111001 10001011 11100101 10100100 10010110 11100111 1001101010000100 11101001 10000010 10100011 11100101 10001111 10101010 1110100010011101 10110100 11101000 10011101 10110110 11100011 10000000 10000010”。
2.以四个bits为一个单位,将二进制数据划分成若干个二进制单元:“1110 01101001 1000 1010 0101 1110 1111 1011 1100 1000 1100 1110 0101 1011 0111 10110010 1110 0100 1011 1000 1000 1101 1110 0101 1000 0110 1000 1101 1110 01101001 1000 1010 1111 1110 0110 1000 0011 1011 0011 1110 1000 1011 0001 10100001 1110 0100 1011 1001 1000 1011 1110 0101 1010 0100 1001 0110 1110 01111001 1010 1000 0100 1110 1001 1000 0010 1010 0011 1110 0101 1000 1111 10101010 1110 1000 1001 1101 1011 0100 1110 1000 1001 1101 1011 0110 1110 00111000 0000 1000 0010”;然后将二进制单元按照奇数位、偶数位依次排列。
3.以“单碱基重复<6,GC含量40%-60%”为标准,筛选如下表2所示的两种映射编码规则,将上述二进制信息编码成为一条完整的碱基序列:
“TA CT CT TG GG CC TA AA CG AG CA AG TA CC CG CA CG GT TA CG CG TG CAAT TA CC CA CT CA AT TA CT CT TG GG AA TA CT CA GA CG GA TA TG CG GC GG GC TACG CG TC CA TT TA CC GG CG CT CT TA CA CT TA CA CG TA TC CA GT GG GA TA CC CAAA GG TA TA TG CT AT CG CG TA TG CT AT CG CT TA GA CA GG CA GT”
Figure BDA0002799338630000201
Figure BDA0002799338630000211
4.将上述碱基序列送基因合成公司合成为双链DNA,并克隆到质粒载体中,以冻干质粒的形式保存在离心管中,放置于-20℃保存。
步骤二、数据解码
1.将冻干质粒溶解,根据测序公司的送样量要求,取合适的量,利用一代测序进行测定冻干质粒的碱基序列如下:“TA CT CT TG GG CC TA AA CG AG CA AG TA CC CG CACG GT TA CG CG TG CA AT TA CC CA CT CA AT TA CT CT TG GG AA TA CT CA GA CG GATA TG CG GC GG GC TA CG CG TC CA TT TA CC GG CG CT CT TA CA CT TA CA CG TA TCCA GT GG GA TA CC CA AA GG TA TA TG CT AT CG CG TA TG CT AT CG CT TA GA CA GGCA GT”
2.利用上述编码规则(第一映射编码规则编码奇数位二进制单元,第二映射编码规则编码偶数位二进制单元,且第一映射编码规则和第二映射编码规则的基准碱基组的碱基数量均为两个),将测序获得的序列解码为二进制数据“1110 0110 1001 1000 10100101 1110 1111 1011 1100 1000 1100 1110 0101 1011 0111 1011 0010 1110 01001011 1000 1000 1101 1110 0101 1000 0110 1000 1101 1110 0110 1001 1000 10101111 1110 0110 1000 0011 1011 0011 1110 1000 1011 0001 1010 0001 1110 01001011 1001 1000 1011 1110 0101 1010 0100 1001 0110 1110 0111 1001 1010 10000100 1110 1001 1000 0010 1010 0011 1110 0101 1000 1111 1010 1010 1110 10001001 1101 1011 0100 1110 1000 1001 1101 1011 0110 1110 0011 1000 0000 10000010”。
3.从上述二进制数据中提取数信息“春,已不再是想象之外的那只蝴蝶。”。
本实施例提供的方法,成功将一句话存入到DNA序列中,验证了本发明实施例所述方法具有可行性。同时,本实施例中,DNA序列的信息编码密度为2bits/nt,达到了DNA数据存储的理论极限;编码获得的DNA序列中GC含量51%,单碱基重复最多3个,有效的实现了“单碱基重复<6,GC含量40%-60%”的目的,便于后续的合成和测序。相比较传统的方法,本发明实施例提供的上述方法,不仅实现了信息存储密度的理论极限,避免了合成和测序的问题,同时在实际操作和应用中,更简单易行。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
基于上述实施例所提供的基于DNA碱基序列的编码方法、解码方法及设备,本申请实施例进一步给出实现上述方法实施例的装置实施例。
请参见图5,图5是本申请实施例提供的用于DNA数据存储的二进制数据到碱基序列的编解码的示意图。包括的各模块用于执行图1对应的实施例中的各步骤。具体请参阅图1对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图5,用于DNA数据存储的二进制数据到碱基序列的编解码5包括编码单元,编码单元包括:
构建模块51,用于利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,所述基准碱基组的碱基数为M,所述二进制单元的比特数为2M,且M为大于或等于2的整数;
获取模块52,用于获取待编码的二进制数据,二进制数据包括多个二进制单元;
编码模块53,用于采用N个不同的映射编码规则对多个二进制单元进行编码,得到与二进制数据对应的碱基序列,其中,N为大于或等于2的整数,碱基序列用于合成存储有与二进制数据对应的数据信息的DNA;N个不同的映射编码规则选自所述基准碱基组-基准二进制单元的映射编码规则库中的规则。
在一种可能的实现方式中,编码模块用于:对二进制数据中的每一个二进制单元,采用不同的映射编码规则进行编码。
在一种可能的实施方式中,编码模块用于:对二进制数据中的中相邻的两个二进制单元,采用不同的映射编码规则进行编码。
在一种可能的实施方式中,编码模块用于:对多个二进制单元中相隔N-1个二进制单元的两个二进制单元采用N个不同的映射编码规则中的同一个映射编码规则进行编码。
在一种可能的实施方式中,编码模块用于:采用第一映射编码规则对二进制数据中位于奇数排位的二进制单元进行编码,采用第二映射编码规则对二进制数据中位于偶数排位的二进制单元进行编码,得到与二进制数据对应的碱基序列。
在一种可能的实施方式中,编码模块,具体用于:二进制数据包括多个二进制子数据时,分别对每一个二进制子数据进行编码处理,得到多个碱基子序列。
在一种可能的实施方式中,编码模块,具体还用于:
将碱基序列划分为J个碱基子序列。
在一种可能的实施方式中,编码模块,具体还用于:
将碱基序列划分为J个碱基子序列,并为每一碱基子序列添加索引标记,用于标记碱基子序列在碱基序列中的位置。
在另一种可能的实施方式中,编码模块,具体还用于:
在J个碱基子序列的两端添加接头序列,接头序列用于拼接。
在一些实施例中,请参见图6,图6是本申请实施例提供的用于DNA数据存储的二进制数据到碱基序列的编解码装置的示意图,包括的各模块用于执行图4对应的实施例中的各步骤。具体请参阅图4对应的实施例中的相关描述。如图6,编解码装置还包括解码单元,解码单元拨款:
测序模块61,用于通过测序从合成的DNA中获取碱基序列;
解码模块62,用于根据N个不同的映射编码规则解码碱基序列,得到二进制数据。
在一些可能的实现方式中,解码模块,具体用于:
对多个碱基组中的每一个碱基组,采用不同的映射编码规则进行解码。
在一些可能的实现方式中,解码模块,具体用于:
对多个碱基组中相邻的两个碱基组,采用不同的映射编码规则进行解码。
在一些可能的实现方式中,解码模块,具体用于:
采用第一映射编码规则对多个碱基组中位于奇数排位的碱基组进行解码,采用第二映射编码规则对多个碱基组中位于偶数排位的碱基组进行解码。
在一些实施例中,碱基序列包括N条,N条中相邻两条所采用的第一映射编码规则不同,和/或,N条中相邻两条所采用的第二映射编码规则不同,N为大于2的整数。
图7是本申请实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在存储器71中并可在处理器70上运行的计算机程序72,例如编码程序。处理器70执行计算机程序72时实现上述各个基于DNA碱基序列的编码方法实施例中的步骤,例如图1所示的步骤101-102。或者,处理器70执行计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块51-52的功能,图6所示模块51-54的功能。
示例性的,计算机程序72可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器71中,并由处理器70执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序72在基于DNA碱基序列的编码7中的执行过程。例如,计算机程序72可以被分割成数据单元获取单元51、编码模块52,各模块具体功能请参阅图1对应的实施例中地相关描述,此处不赘述。
终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器71可以是终端设备7的内部存储单元,例如终端设备7的硬盘或内存。存储器71也可以是终端设备7的外部存储设备,例如终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器71还可以既包括终端设备7的内部存储单元也包括外部存储设备。存储器71用于存储计算机程序以及终端设备所需的其他程序和数据。存储器71还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时可实现上述终端设备对用于DNA数据存储的二进制信息到碱基序列的编解码方法。
本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述终端设备基于DNA碱基序列的编码方法,当计算机程序产品在解码设备上运行时,使得解码设备执行时可实现上述对用于DNA数据存储的二进制信息到碱基序列的编解码方法。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (16)

1.一种用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述方法包括:
利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,所述基准碱基组的碱基数为M,所述二进制单元的比特数为2M,且M为大于或等于2的整数;
获取待编码的二进制数据,所述二进制数据包括多个二进制单元;
采用N个不同的映射编码规则对所述多个二进制单元进行编码,得到与所述二进制数据对应的碱基序列,其中,N为大于或等于2的整数,所述碱基序列用于合成存储有与所述二进制数据对应的数据信息的DNA;所述N个不同的映射编码规则选自所述基准碱基组-基准二进制单元的映射编码规则库中的规则。
2.如权利要求1所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述多个二进制单元中相隔N-1个二进制单元的两个二进制单元采用所述N个不同的映射编码规则中的同一个映射编码规则进行编码。
3.如权利要求2所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,N=2,所述N个不同的映射编码规则包括第一映射编码规则和第二映射编码规则;采用N个不同的映射编码规则对所述多个二进制单元进行编码,得到与所述二进制数据对应的碱基序列,包括:
采用所述第一映射编码规则对所述二进制数据中位于奇数排位的二进制单元进行编码,采用所述第二映射编码规则对所述二进制数据中位于偶数排位的二进制单元进行编码,得到与所述二进制数据对应的碱基序列。
4.如权利要求1所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述N个不同的映射编码规则中包含的同一种基准碱基组对应N个不同的基准二进制单元。
5.如权利要求1所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,编码得到的所述碱基序列中,单碱基重复小于6个,G、C在所述碱基序列中的数量百分含量为40%-60%。
6.如权利要求1所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述碱基序列包括J个碱基子序列。
7.如权利要求6所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述碱基子序列设置有索引标记,用于标记所述碱基子序列在所述碱基序列中的位置。
8.如权利要求7所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述碱基子序列设置有纠错码和/接头序列。
9.如权利要求1至8任一项所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述处理方法还包括:
通过测序从合成的所述DNA中获取所述碱基序列;
根据所述N个不同的映射编码规则解码所述碱基序列,得到所述二进制数据。
10.如权利要求8所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述根据所述映射编码规则解读所述碱基序列,得到所述二进制数据,包括:
所述碱基序列包括多个碱基组,所述碱基组与所述二进制单元相对应;
采用所述N个不同的映射编码规则对所述碱基组进行解码,得到与所述碱基序列对应的所述二进制数据。
11.如权利要求9所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,当所述碱基序列包括J个碱基子序列时,所述通过测序从合成的所述DNA中获取所述碱基序列,包括:
通过测序从合成的所述DNA中获取J个碱基子序列;
将所述J个碱基子序列拼接为所述碱基序列。
12.如权利要求9所述的用于DNA数据存储的二进制信息到碱基序列的编解码方法,其特征在于,所述碱基子序列设置有索引标记,所述将所述J个碱基子序列拼接为所述碱基序列,包括:
根据所述索引标记,确定所述碱基子序列在所述碱基序列中的位置;
按照所述碱基子序列在所述碱基序列中的位置,将所述J个碱基子序列拼接为所述碱基序列。
13.一种用于DNA数据存储的二进制数据到碱基序列的编解码装置,其特征在于,所述编解码装置包括:
构建模块,用于利用基准碱基组代表基准二进制单元,构建基于基准碱基组-基准二进制单元的映射编码规则库,其中,所述基准碱基组的碱基数为M,所述二进制单元的比特数为2M,且M为大于或等于2的整数;
获取模块,用于获取待编码的二进制数据,所述二进制数据包括多个二进制单元;
编码模块,用于采用N个不同的映射编码规则对所述多个二进制单元进行编码,得到与所述二进制数据对应的碱基序列,其中,N为大于或等于2的整数,所述碱基序列用于合成存储有与所述二进制数据对应的数据信息的DNA;所述N个不同的映射编码规则选自所述基准碱基组-基准二进制单元的映射编码规则库中的规则。
14.根据权利要求13所述的处理装置,其特征在于,所述处理装置还包括:
测序模块,用于通过测序从合成的所述DNA中获取所述碱基序列;
解码模块,用于根据所述N个不同的映射编码规则解码所述碱基序列,得到所述二进制数据。
15.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至12任一项所述的方法。
16.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至12任一项所述的方法。
CN202011343923.9A 2020-11-25 2020-11-25 用于dna数据存储的编解码方法和编解码装置 Active CN112382340B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011343923.9A CN112382340B (zh) 2020-11-25 2020-11-25 用于dna数据存储的编解码方法和编解码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011343923.9A CN112382340B (zh) 2020-11-25 2020-11-25 用于dna数据存储的编解码方法和编解码装置

Publications (2)

Publication Number Publication Date
CN112382340A true CN112382340A (zh) 2021-02-19
CN112382340B CN112382340B (zh) 2022-11-15

Family

ID=74588198

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011343923.9A Active CN112382340B (zh) 2020-11-25 2020-11-25 用于dna数据存储的编解码方法和编解码装置

Country Status (1)

Country Link
CN (1) CN112382340B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099234A (zh) * 2021-04-09 2021-07-09 中国矿业大学 基于预计算的dna快速编码方法
CN113539370A (zh) * 2021-06-29 2021-10-22 中国科学院深圳先进技术研究院 编码方法、解码方法、装置、终端设备及可读存储介质
CN113744804A (zh) * 2021-06-21 2021-12-03 深圳先进技术研究院 利用dna进行数据存储的方法、装置及存储设备
CN114356220A (zh) * 2021-12-10 2022-04-15 深圳先进技术研究院 基于dna存储的编码方法、电子设备及可读存储介质
CN114822695A (zh) * 2022-04-25 2022-07-29 中国科学院深圳先进技术研究院 用于dna存储的编码方法及编码装置
CN114974434A (zh) * 2022-04-23 2022-08-30 中国科学院深圳先进技术研究院 基于dna存储的信息编码方法、装置、计算机设备及介质
CN114958828A (zh) * 2022-06-14 2022-08-30 深圳先进技术研究院 基于dna分子介质的数据信息存储方法
WO2022266802A1 (zh) * 2021-06-21 2022-12-29 深圳先进技术研究院 利用dna进行数据存储的方法、装置及存储设备
WO2023015550A1 (zh) * 2021-08-13 2023-02-16 深圳先进技术研究院 Dna数据的存储方法、装置、设备及可读存储介质
CN116451780A (zh) * 2022-01-05 2023-07-18 密码子(杭州)科技有限公司 用于在分子中存储信息的方法和设备
CN116453602A (zh) * 2023-02-17 2023-07-18 祥符实验室 一种基于ddPCR与荧光液滴分选富集的DNA数据库随机读取方法
WO2023206023A1 (zh) * 2022-04-25 2023-11-02 中国科学院深圳先进技术研究院 用于dna存储的编码方法及编码装置
WO2024113382A1 (zh) * 2022-12-02 2024-06-06 中国科学院深圳先进技术研究院 图像数据dna存储方法、系统、电子设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706947A (zh) * 2009-11-26 2010-05-12 大连大学 基于dna序列与多混沌映射的图像融合加密方法
CN103336916A (zh) * 2013-07-05 2013-10-02 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
CN105119717A (zh) * 2015-07-21 2015-12-02 郑州轻工业学院 一种基于dna编码的加密系统及加密方法
CN107406888A (zh) * 2015-03-30 2017-11-28 赛卢拉研究公司 用于组合条形编码的方法和组合物
CN108366181A (zh) * 2018-01-23 2018-08-03 西南财经大学 一种基于超混沌系统和多级置乱的图像加密方法
CN109074424A (zh) * 2016-05-04 2018-12-21 深圳华大生命科学研究院 利用dna存储文本信息的方法、其解码方法及应用
US20190073446A1 (en) * 2017-09-01 2019-03-07 Seagate Technology Llc Multi-dimensional mapping of binary data to dna sequences
CN109830263A (zh) * 2019-01-30 2019-05-31 东南大学 一种基于寡核苷酸序列编码存储的dna存储方法
CN110706751A (zh) * 2019-09-25 2020-01-17 东南大学 一种dna存储加密编码方法
CN110867213A (zh) * 2018-08-28 2020-03-06 华为技术有限公司 一种dna数据的存储方法和装置
CN110932736A (zh) * 2019-11-09 2020-03-27 天津大学 一种基于Raptor码及四进制RS码的DNA信息存储方法
CN111443869A (zh) * 2020-03-24 2020-07-24 中国科学院长春应用化学研究所 一种文件存储方法、装置、设备及计算机可读存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706947A (zh) * 2009-11-26 2010-05-12 大连大学 基于dna序列与多混沌映射的图像融合加密方法
CN103336916A (zh) * 2013-07-05 2013-10-02 中国科学院数学与系统科学研究院 一种测序序列映射方法及系统
CN107406888A (zh) * 2015-03-30 2017-11-28 赛卢拉研究公司 用于组合条形编码的方法和组合物
CN105119717A (zh) * 2015-07-21 2015-12-02 郑州轻工业学院 一种基于dna编码的加密系统及加密方法
CN109074424A (zh) * 2016-05-04 2018-12-21 深圳华大生命科学研究院 利用dna存储文本信息的方法、其解码方法及应用
US20190073446A1 (en) * 2017-09-01 2019-03-07 Seagate Technology Llc Multi-dimensional mapping of binary data to dna sequences
CN108366181A (zh) * 2018-01-23 2018-08-03 西南财经大学 一种基于超混沌系统和多级置乱的图像加密方法
CN110867213A (zh) * 2018-08-28 2020-03-06 华为技术有限公司 一种dna数据的存储方法和装置
CN109830263A (zh) * 2019-01-30 2019-05-31 东南大学 一种基于寡核苷酸序列编码存储的dna存储方法
CN110706751A (zh) * 2019-09-25 2020-01-17 东南大学 一种dna存储加密编码方法
CN110932736A (zh) * 2019-11-09 2020-03-27 天津大学 一种基于Raptor码及四进制RS码的DNA信息存储方法
CN111443869A (zh) * 2020-03-24 2020-07-24 中国科学院长春应用化学研究所 一种文件存储方法、装置、设备及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
毕昆等: "DNA存储中的编码技术", 《生物信息学》 *
毛秀海等: "DNA数据存储", 《电子与信息学报》 *
陈惟昌等: "遗传密码的高维空间对称性", 《生物物理学报》 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113099234A (zh) * 2021-04-09 2021-07-09 中国矿业大学 基于预计算的dna快速编码方法
CN113744804B (zh) * 2021-06-21 2023-03-10 深圳先进技术研究院 利用dna进行数据存储的方法、装置及存储设备
CN113744804A (zh) * 2021-06-21 2021-12-03 深圳先进技术研究院 利用dna进行数据存储的方法、装置及存储设备
WO2022266802A1 (zh) * 2021-06-21 2022-12-29 深圳先进技术研究院 利用dna进行数据存储的方法、装置及存储设备
CN113539370A (zh) * 2021-06-29 2021-10-22 中国科学院深圳先进技术研究院 编码方法、解码方法、装置、终端设备及可读存储介质
CN113539370B (zh) * 2021-06-29 2024-02-20 中国科学院深圳先进技术研究院 编码方法、解码方法、装置、终端设备及可读存储介质
WO2023015550A1 (zh) * 2021-08-13 2023-02-16 深圳先进技术研究院 Dna数据的存储方法、装置、设备及可读存储介质
CN114356220A (zh) * 2021-12-10 2022-04-15 深圳先进技术研究院 基于dna存储的编码方法、电子设备及可读存储介质
CN116451780A (zh) * 2022-01-05 2023-07-18 密码子(杭州)科技有限公司 用于在分子中存储信息的方法和设备
WO2023201782A1 (zh) * 2022-04-23 2023-10-26 中国科学院深圳先进技术研究院 基于dna存储的信息编码方法、装置、计算机设备及介质
CN114974434A (zh) * 2022-04-23 2022-08-30 中国科学院深圳先进技术研究院 基于dna存储的信息编码方法、装置、计算机设备及介质
WO2023206023A1 (zh) * 2022-04-25 2023-11-02 中国科学院深圳先进技术研究院 用于dna存储的编码方法及编码装置
CN114822695A (zh) * 2022-04-25 2022-07-29 中国科学院深圳先进技术研究院 用于dna存储的编码方法及编码装置
CN114822695B (zh) * 2022-04-25 2024-04-16 中国科学院深圳先进技术研究院 用于dna存储的编码方法及编码装置
CN114958828A (zh) * 2022-06-14 2022-08-30 深圳先进技术研究院 基于dna分子介质的数据信息存储方法
CN114958828B (zh) * 2022-06-14 2024-04-19 深圳先进技术研究院 基于dna分子介质的数据信息存储方法
WO2024113382A1 (zh) * 2022-12-02 2024-06-06 中国科学院深圳先进技术研究院 图像数据dna存储方法、系统、电子设备及存储介质
CN116453602A (zh) * 2023-02-17 2023-07-18 祥符实验室 一种基于ddPCR与荧光液滴分选富集的DNA数据库随机读取方法
CN116453602B (zh) * 2023-02-17 2024-04-19 祥符实验室 一种基于ddPCR与荧光液滴分选富集的DNA数据库随机读取方法

Also Published As

Publication number Publication date
CN112382340B (zh) 2022-11-15

Similar Documents

Publication Publication Date Title
CN112382340B (zh) 用于dna数据存储的编解码方法和编解码装置
CN110945595B (zh) 基于dna的数据存储和检索
US10370246B1 (en) Portable and low-error DNA-based data storage
CN109830263B (zh) 一种基于寡核苷酸序列编码存储的dna存储方法
US20180046921A1 (en) Code generation method, code generating apparatus and computer readable storage medium
US10566077B1 (en) Re-writable DNA-based digital storage with random access
EP2947779A1 (en) Method and apparatus for storing information units in nucleic acid molecules and nucleic acid storage system
Wang et al. High capacity DNA data storage with variable-length Oligonucleotides using repeat accumulate code and hybrid mapping
CN107798219B (zh) 将数据进行生物存储并还原的方法
US9774351B2 (en) Method and apparatus for encoding information units in code word sequences avoiding reverse complementarity
WO2020132935A1 (zh) 一种定点编辑存储有数据的核酸序列的方法及装置
CN111858507B (zh) 基于dna的数据存储方法、解码方法、系统和装置
CN110867213A (zh) 一种dna数据的存储方法和装置
Zhang et al. A high storage density strategy for digital information based on synthetic DNA
WO2022109879A1 (zh) 用于dna数据存储的二进制信息到碱基序列的编解码方法和编解码装置
Wu et al. HD-code: End-to-end high density code for DNA storage
US20230032409A1 (en) Method for Information Encoding and Decoding, and Method for Information Storage and Interpretation
CN116564424A (zh) 基于纠删码与组装技术的dna数据存储方法、读取方法及终端
CN115249509A (zh) 基于脱氧核糖核酸技术的数据编码方法及解码方法
TWI770247B (zh) 核酸用於資料儲存之方法、及其非暫時性電腦可讀儲存介質、系統及電子裝置
Yang et al. Towards Chinese text and DNA shift encoding scheme based on biomass plasmid storage
Limbachiya On designing DNA codes and their applications
Wang Coding for DNA data storage
Tabatabaei Yazdi DNA–based data storage system
CN118118034A (zh) 八碱基霍夫曼压缩轮转编码方法及装置

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20210219

Assignee: Zhongke carbon yuan (Shenzhen) Biotechnology Co.,Ltd.

Assignor: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES

Contract record no.: X2021980010706

Denomination of invention: Encoding and decoding method and encoding and decoding device for storing binary information into base sequence of DNA data

License type: Exclusive License

Record date: 20211014

GR01 Patent grant
GR01 Patent grant