采用Raptor码的DNA信息存储技术 下载: 1162次
1 引言
在当今这个信息大爆炸的时代,全世界在近两年内产生的信息量比过去五年的信息总量还多,数字信息正以惊人的速度增长和积累,根据国际权威机构Statista的统计,全球数据量在2019年多达41 ZB。现阶段人们使用的存储设备,如磁盘和半导体等逐渐暴露出先天不足的缺点[1-3],因此寻找新一代存储技术刻不容缓。
脱氧核糖核酸(DNA)是一种天然的信息载体,具有容量大、存储密集、并行存取、无磨损和寿命长等先天优势[4]。此外,随着DNA合成及测序技术的快速发展,研究人员把新一代数据存储介质的目光投向DNA,利用DNA中A(腺嘌呤)、G(鸟嘌呤)、C(胞嘧啶)和T(胸腺嘧啶) 4个碱基对二进制数据信息进行编码,并结合DNA人工合成技术来存储文本文档、图片、音频和视频等数据信息。
DNA信息存储技术作为信息领域和合成生物学领域的一项交叉融合技术,其开辟了一种新的高效存储模式,对节约存储能源消耗及推进大数据存储发展有着重要的影响及作用。
早在上世纪70年代,就有国外学者提出了利用DNA的不同状态来表示信息的想法。近年来,随着微软、欧洲生物信息学研究所、哥伦比亚大学、华盛顿大学、哈佛大学和英国剑桥顾问公司等众多科研机构和公司的加入[5-8],DNA的存储性能在信息存储领域中正飞速发展。2017年,哈佛大学医学院的Shipman等[9]利用了DNA剪切技术中的CRISPR-Cas基因编辑系统,将带有黑白图像和短视频影像编码的DNA序列导入一群活大肠杆菌的基因组,以此实现信息的快速复制;2018年,Organick等[10]编码和存储了超过1300万个DNA寡核苷酸中的35个不同文件,且可以使用随机访问的方法独立、无误地恢复每个文件;2018年6月美国五角大楼对外宣称,借助DNA全新存储策略来保护公民的大量敏感信息,美国高级情报研究计划署打造了一种能够在DNA等人造分子结构上写入数据的桌面设备。
但国内对该领域的研究尚处于起步阶段,目前华中科技大学、天津大学及国防科技大学均有研究团队在进行相关研究,我国对于DNA数据存储的系统研究在逐步开展,并在2018年度“合成生物学”重点专项中将DNA数据存储技术作为其中一个子项。
本文研究一种基于Raptor码的DNA信息存储技术。该技术拥有抗数据损坏的稳健性,能够以恒定不变的成本对信息进行编解码,保证所得编码符号的平均度值恒定,降低编码的复杂度,缩短编码时间,提高DNA信息存储的性能。
2 方法设计与原理
基于Raptor码的DNA信息存储技术流程如
整个信息的存储技术流程中最关键的部分为信息编码部分,该部分主要由编码、纠错和筛选三个环节构成。
2.1 编码
Raptor码是一种以LDPC(Low-Density Parity-Check)为内码,LT(Luby Transform)为外码的编解码算法。先使用LDPC对信息源符号进行编码以获得中间符号,再对中间符号进行LT编码以生成编码符号。由于预编码环节的加入,确保Raptor码能够在较低的编解码复杂度下,仍具备良好的解码性能。具体的编码步骤如下[11]。
step1:生成校验矩阵G。假设εpre与δpre分别为预编码的译码开销与译码失败概率的上限,则预编码LDPC的码率为
根据εpre=0.1,得到编码的码率R=0.95。G选择的度值为4,输入的信息符号数k为240,输出的中间符号数L为256,实验采用的是(16,4,4)LDPC码,其中16表示LDPC码长,4表示LDPC码的每一列非零元素的个数,4表示LDPC码的每一行非零元素的个数。
step2:将信息符号D(x1,x2,…,xk)与LDPC码的校验矩阵G-1相乘,获得中间符号矩阵C=
step3:采用概率转移法对度分布函数进行改进,构建一个适用于短码长弱LT码的度分布函数μ(d),表达式
式中:d为度值。
step4:对预编码获得的中间符号C进行LT编码。先根据μ(d)随机选择一个度值d(1≤d≤k),再从L个中间符号中随机选择d个符号,对这d个符号进行模二异或运算以生成一个编码符号yi,重复step4即可产生无数个编码符号(y1,y2,…,yi)。
接收端收到编码符号后,并不需要获得全部中间符号,仅需解码一定个数的中间符号,再利用LDPC的性质即可恢复原始符号信息。
DNA存储技术中的信息需经过传播、DNA合成、PCR复制和DNA测序等众多过程。当信息在信道中传输时,由于白噪声等一些信道噪声较大极易引入误差,为了确保DNA信息的存储质量,加入的纠错码起着至关重要的作用。RS(Reed-Solomon)纠错码由于其性能良好,目前被越来越多的研究人员应用在DNA信息存储技术中,以保障信息的存储质量。实验在RS纠错码的基础上,结合DNA自身的结构特点,提出一种四进制RS纠错码机制[12],编码流程如
设计RS纠错码的关键在于,需确定伽罗华域元素表及生成多项式g(x),其中x为对应的信息符号。四进制RS纠错码的伽罗华域GF[(22)2]由GF(22)基于生成多项式g(x)=Z2+Z+2形成,其中Z为对二进制RS纠错码转换成四进制RS纠错码的信息符号。四元复合域GF[(22)2]与二元扩展域GF(24)本质上为GF(16)的伽罗华域。
(n,k)RS纠错码的编码算法通过添加t=n-k个冗余符号,将k个信息符号扩展为n个,其中t为冗余符号,n为冗余符号和输入信息符号组成的总的符号。从信息空间到编码空间的映射满足
式中:v(x)为编码序列;r(x)为余数;m(x)为信息序列;g(x)为n-k次生成多项式。
以(15,13)RS纠错码为例,用来说明四进制RS纠错码的纠错过程。若n=15,k=13,则t=n-k=2,即每13位信息能纠正1处错误。已知生成多项式g(x)的根为-1和-β,可得
而(1+β)映射至四元复合域中为β4,所以g(x)可以表示为
因RS码具有线性特性,则余数多项式可写为
式中:xn-k+amod [g(x)],∀a∈[0,k-1]为给定的n,k及g(x)计算获得的常量;m0、m1、mk-1为对应项的系数。由(8)式可知,信息序列中任何项发生变化都会独立影响最终余数,因此,可单独计算每个信息符号的余数,再将这些余数相加可获得整段信息序列的余数。四进制RS纠错码的编码步骤如下。
step1:将四进制信息序列进行两两分组以转换成βj形式,j∈{0,k-1},再对转换获得的序列重新分段,确保每段含k个符号。
step2:计算xn-k+amod [g(x)]的值。由于n-k=2,故获得的值为C2x+C1,其中C1、C2为一元方程的各项系数。
step3:根据(8)式,将step1中计算的值与信息多项式的对应符号相乘。
step4:将每个信息符号的余数进行相加,获得整段信息的余数。再代入(4)式计算v(x)。
step5:对每段信息的多项式执行step3和step4,直至编码完成,再将结果序列转换为四进制序列。
改进后,四进制RS纠错码对于每26个碱基能纠正1个错误,不仅与DNA的结构特点相匹配,也提高信息存储的正确性。
2.2 筛选
四进制RS纠错码主要保障信道传输的准确无误性。此外,DNA的信息存储过程与经典的信息理论信道过程有所不同,DNA序列中的错误模式依赖于输入的碱基序列。因此,对DNA序列中常见的错误模式进行研究,发现均聚物及鸟嘌呤和胞嘧啶(GC)含量是DNA合成和测序出错的主要因素[13-14],所以除了引入RS纠错码进行信道纠错外,还需对碱基序列进行GC含量及均聚物的筛选,降低合成和测序的难度及错误率。
为了定量分析,将DNA序列分为两类:有效类和无效类。当GC含量在40%~60%之间,且其最大均聚物长度不超过4个核苷酸时,该序列将被认为有效,反之视为无效丢弃。
实验提出了两种筛选方案,如
2.3 性能指标
选用编码效率及编码时间作为衡量标准,用以衡量DNA信息存储框架的优劣。其中编码效率E定义为每个碱基上可存储的信息比特数,表达式为
式中:F为输入文件的比特数;O为输出的碱基个数。由于DNA序列共含有4个碱基,若将二进制码流按照四进制转换为碱基序列,则理论上每个碱基的编码效率达到2 bit。编码时间定义为整个编码过程从开始至结束的CPU时间。
3 实验结果及分析
实验过程:先对所提的四进制RS纠错方案进行仿真。输入符号的大小选为1×105的二进制码流矩阵,信道为高斯白噪声,信噪比设置为10 dB,对加入RS纠错码后的编码符号分别引入0.02%,0.04%,0.10%,0.20%的出错率,再对其进行解码纠错,统计解码纠错后仍存在的错误符号个数,计算纠错后的错码概率。为了避免结果的偶然性,每组实验需重复进行100次,最终记录每组的平均值,实验结果如
表 3. DNA-Raptor存储框架的性能参数
Table 3. Performance parameters of DNA-Raptor storage framework
|
表 4. 不同DNA信息存储方案的性能
Table 4. Performance of different DNA information storage plans
|
表 5. DNA-Raptor码与DNA喷泉码性能对比
Table 5. Performance comparison between DNA-Raptor code and DNA fountain code
|
表 1. 四进制RS纠错码结果
Table 1. Results of quaternary RS error correction code
|
表 2. 筛选方案的性能比对
Table 2. Comparison of screening plan performance
|
接着对所提的两种筛选方案进行性能对比。对大小为9 KB的英文文件使用Raptor码进行编码后以获得编码文件,对编码文件分别使用两种筛选方案进行筛选后以转换生成DNA碱基序列。记录两种方案的编码效率及编码时间,所得结果如
为了评估所提的DNA-Raptor存储方案的性能,将文本、音频和图片共三种格式的数据文件分别作为输入文件输入至DNA-Raptor存储框架中,编码转换为碱基序列以实现存储。
为了验证所提方案的可行性,对DNA链进行生物实验。选择了9 KB的英文文本(Jane Austen的《Pride and Prejudice》部分节选)作为实验的测试文件,使用Raptor码对其进行编码,转换成碱基序列后再进行DNA合成,共获得18条DNA链。
生物实验主要包含三个步骤:根据获得的碱基序列合成DNA链,对每段存储信息的DNA链进行PCR扩增复制后获得副本并对所得副本的DNA链进行测序。合成DNA前需先使用相关软件设计各段碱基序列的引物,再通过菌落PCR获得靶序列,完成后通过酶鉴定检测来扩增结果,酶样品的电泳图显示获得的序列与预期序列相同。采用DNA测序技术中的Sanger测序法对DNA链进行测序,从而获得测序结果。最后对测序结果进行解码转换,成功恢复存储内容。
为了全方位评价所提的DNA-Raptor信息存储方案的性能,将所提方案与近几年主流的DNA信息存储方案[4-7,15-16]进行对比,性能参数如
实验主要利用Raptor码对信息进行存储,而文献[
7]利用的是LT码,所以先对比这两种编码的方式。分别使用LT码与Raptor码编码同一个图片文件,统计所得编码信息的度值,获得的度值-频数曲线如
图 5. LT码与Raptor码的编解码性能。(a)度值与频数的变化曲线;(b)冗余与解码成功率的变化曲线
Fig. 5. Encoding and decoding performance of LT code and Raptor code. (a) Change curves of degree value and frequency; (b) change curves of redundancy and decoding success rate
与LT码最大不同,Raptor码能够保证编码符号的平均度值恒定,从而降低编解码的复杂度,提高存储性能,缩短时间。分别将大小为9 KB的文本文件作为DNA喷泉码及DNA Raptor码两个存储方案的输入文件,设置ε均为0.05,对LT编码过程中的度值及所选信息符号段数进行统计。DNA喷泉码的平均度值为4.38,DNA-Raptor码由于具有预编码环节,故当利用LT编码时可选用度数更低的弱LT码进行编码,平均度值为3.00。
图 6. 两种方案的信息符号频率。(a) DNA-Raptor码;(b) DNA喷泉码
Fig. 6. Information symbol frequency of two plans. (a) DNA-Raptor code; (b) DNA fountain code
接着对两种方案的编码性能进行统计,结果如
此外,在DNA喷泉码中将平均度值降至2.73,获得的信息符号频率如
与DNA喷泉码相比,所提的DNA-Raptor码信息存储框架最大的优势在于编解码复杂度低,能够缩短信息编解码的时间,提高解码的成功率。此外就纠错机制而言,DNA喷泉码中每528个碱基只能纠正8个错误,而所提的四进制RS纠错码每528个碱基能纠正21个错误,极大地保证了信息传输的准确性。
4 结论
提出一种基于Raptor码的DNA信息存储方案,将Raptor码中可生成无数编码符号及编解码复杂度低的特性应用于DNA信息存储领域,克服其他编码方式易丢失信息、可延展性差和编解码复杂度高等缺点。此外针对DNA含有4个碱基的特点,提出了四进制RS纠错机制,提高编码效率的同时,也提高信息的有效性及抗干扰性,并且针对GC含量及均聚物对DNA信息存储的影响提出筛选方案。最后使用三种不同格式的文件验证所提的DNA-Raptor存储方案的编码效率及编码时间的性能,并进行生物实验验证整个信息存储过程的可行性,同时也将所提存储方案与DNA喷泉码存储方案进行对比。实验结果表明:所提方案的编码时间短,复杂度低,适用于存储各种格式的文件。
[1] Zhirnov V, Zadegan R M, Sandhu G S, et al. Nucleic acid memory[J]. Nature Materials, 2016, 15(4): 366-370.
[2] Panda D, Molla K A, Baig M J, et al. DNA as a digital information storage device: hope or hype?[J]. 3 Biotech, 2018, 8(5): 239-247.
[3] Extance A. How DNA could store all the world's data[J]. Nature, 2016, 537(7618): 22-24.
[4] BornholtJ, LopezR, Carmean DM, et al. Toward a DNA-based archival storage system[J]. IEEE Micro, 37( 3): 98- 104.
[6] Church G M, Gao Y, Kosuri S. Next-generation digital information storage in DNA[J]. Science, 2012, 337(6102): 1628.
[7] Erlich Y, Zielinski D. DNA fountain enables a robust and efficient storage architecture[J]. Science, 2017, 355(6328): 950-954.
[8] 张淑芳, 彭康, 宋香明, 等. DNA数据存储技术研究进展[J]. 计算机科学, 2019, 46(6): 21-28.
Zhang S F, Peng K, Song X M, et al. Research progress on DNA data storage technology[J]. Computer Science, 2019, 46(6): 21-28.
[9] Shipman S L, Nivala J, Macklis J D, et al. CRISPR-Cas encoding of a digital movie into the genomes of a population of living bacteria[J]. Nature, 2017, 547(7663): 345-349.
[10] Organick L, Ang S D, Chen Y J, et al. Random access in large-scale DNA data storage[J]. Nature Biotechnology, 2018, 36(3): 242-248.
[11] Shokrollahi A. Raptor codes[J]. IEEE Transactions on Information Theory, 2006, 52(6): 2551-2567.
[12] VasudevanV, SheshadriV, Krishnan RS. Design and complexity analysis of reed Solomon code algorithm for advanced RAID system in quaternary domain[C]∥2011 IEEE Computer Society Annual Symposium on VLSI, July 4-6, 2011, Chennai, India. New York: IEEE, 2011: 307- 312.
[14] Ross M G, Russ C, Costello M, et al. Characterizing and measuring bias in sequence data[J]. Genome Biology, 2013, 14: R51.
[15] Grass R N, Heckel R, Puddu M, et al. Robust chemical preservation of digital information on DNA in silica with error-correcting codes[J]. Angewandte Chemie (International Ed. in English), 2015, 54(8): 2552-2555.
[16] Blawat M, Gaedke K, Hütter I, et al. Forward error correction for DNA data storage[J]. Procedia Computer Science, 2016, 80: 1011-1022.
张淑芳, 彭康. 采用Raptor码的DNA信息存储技术[J]. 激光与光电子学进展, 2020, 57(15): 151701. Shufang Zhang, Kang Peng. DNA Information Storage Technology Based on Raptor Code[J]. Laser & Optoelectronics Progress, 2020, 57(15): 151701.