摘要:近年来,生物大分子在模拟计算领域的研究已经取得了很大的突破,无论是理论模型的研究,还是生化实验的验证,生物分子计算机正蓬勃地展现出它的无可限量的发展前景.DNA随机存储器的研究在整个生物分子计算机研究中是一个重要分支.DNA随机存储器以环状单链DNA分子为存储介质,以4种碱基(腺嘌呤adenine、鸟嘌呤guanine、胞嘧啶cytosine和胸腺嘧啶thymine)对信息进行编码;以DNA分子与各种生化酶(Nicking核酸内切酶、核酸外切酶、聚合酶)间的生化反应来模拟数据的读取和写入.
关键词:DNA随机存储器;环状单链DNA分子;Nicking核酸内切酶;核酸外切酶;聚合酶
DNA随机存储器利用了DNA分子巨大的信息储藏能力和DNA分子能与多种生化酶相互反应的特点,模拟实现了具有随机读写能力的数据存储器.DNA随机存储器用4种碱基A、C、G、T对数据和辅助信息(地址信息和生化酶作用位点等)进行编码,将信息存储于环状单链DNA分子上;同时用现有的生化实验方法,使DNA分子与各种生化酶进行生化反应,实现DNA分子的复制和DNA分子碱基的修改等操作,从而模拟存储器的数据读取和写入操作.
DNA随机存储器是生物分子计算机领域的一个分支,生物分子计算机在1994美国科学家Adleman完成第一个实验验证后得到了飞速的发展.短短的10年间,各种理论模型和实验方法层出不穷,代表性的有Adleman模型,SplicingSystem模型,Insertion-DeletionSystem模型和DNA2EC模型.DNA随机存储器模型是这一系列模型的延续和发展,都是从理论上提出用生物分子来模拟计算机系统的设想,并设计出基于一定生物学背景的实验验证方法.
1 信息存储 1.1 存储载体
DNA分子用作信息存储可以有多种形式,同时它的编码方式也是多种多样的.作为信息载体的DNA分子可以是单链(single-stranded),也可以是双链(double-stranded);可以是长链,也可以是环链(circularstrand),有些具有特殊生物学含义的环链被称作质粒(plasmid).这些不同的存储载体在存储信息时有各自不同的优缺点,因此在选择存储载体时必须综合考虑这些因素,才能使DNA分子的存储优势和操作的简易性都得到发挥.
DNA随机存储器使用环状单链DNA分子作为存储载体.DNA单链和DNA双链相比各有各的优点和不足,DNA双链比DNA单链稳定,这是大部分生命体选择DNA双链作为遗传物质的重要原因,但是双链的数据难以读取,需解链才可以;DNA单链则可以用碱基互补(Watson-CrickComplement)的原理来读取数据,但是它的性质不够稳定,比双链更容易断裂,而且还容易形成自身互补的发夹结构(hairpin).选择单链作为存储载体是考虑了它的信息比较容易获取的特性,同时在设计中尽可能地避免发夹结构的产生.DNA长链和DNA环链相比,DNA长链如果被核酸内切酶剪切后将断裂成两段,而DNA环链如果被切断一次后,仍然是连在一起的,在一定的条件下还可以再连回成环链;DNA长链容易被某些核酸外切酶从其一端5’或3’降解,而环链被降解的可能性要小于长链.
1.2 信息编码
在环状单链DNA分子上存储数据时,考虑到数据能够被随机读写,数据必须加载地址信息,因此该DNA分子上同时编码了地址和数据的二元信息<地址,数据>.在一维的环状单链DNA分子上,地址和数据组成的二元信息是连续编码的. 在对地址和数据的编码中,所能利用的符号是A、C、G、T4种碱基.
除了考虑地址和数据的编码以外,DNA随机存储器还需要编码酶切位点(enzyme recognition site)的信息.由于存储在DNA存储器上的数据如果要进行读写操作必须借助于生化酶与DNA分子间的反应,因此DNA分子上必须编码生化酶的酶切位点信息.在DNA随机存储器的设计中只用到了一种作用于特定位点(specific-site)的生化酶———Nicking核酸内切酶.Nicking核酸内切酶和限制性核酸内切酶(Restriction Endonuclease)有很大的相似性,这两种核酸内切酶都作用于特定的位点,都能在位点上或位点附近剪切DNA双链,唯一不同的是限制性核酸内切酶切割DNA双链中的两条链,而Nicking核酸内切酶切割的是DNA双链中的一条,这就意味着限制性核酸内切酶可以将双链切断,而Nicking核酸内切酶只能切断其中一条而整体并未切断.如图1所示,EcoRI是一种限制性核酸内切酶,N.BbvCIA是一种Nicking核酸内切酶.DNA随机存储器的数据写入操作中就是用到了Nicking核酸内切酶这种切而不断的特性(Nicking核酸内切酶可以通过限制性核酸内切酶的改造获得,相关信息可参考NewEnglandBiolabs的产品介绍和论文).
图1 Restriction Endonuclease Eco RI和Nicking Endonuclease N.BbvC IA切割双链时的不同情况
数据、地址和酶切位点是编码在环状单链DNA分子上的三类信息.三类信息之间将采用联合编码的方式,由于用于编码的符号同是A、C、G、T这4个符号,这中间存在的很多问题是必须考虑的.
1.2.1 地址识别错误
由于在对DNA随机存储器中的数据进行读写时,首先将一段与地址码有着互补碱基对的单链引物(primer)绑定到地址码上,如果地址码相互之间差异程度不高的话,有可能造成绑定错误,即地址识别错误.地址绑定错误是不可能从根本上消除的,这和核苷酸本身的化学结构有关,虽然在4种碱基中,Adenine和Thymine配对,Guanine和Cytosine配对,但这不是那么绝对的,有时在一定的退火(annealing)温度和速度条件下,Adenine和Cytosine,Guanine和Thymine也可以形成氢键,只是其强度不如碱基正确配对时来的牢固.为了降低地址识别错误发生的可能性,在对地址进行编码时必须考虑增加必要的冗余信息.冗余信息的增加将降低DNA随机存储器的存储效率,因此在地址识别错误和存储效率之间必须要有一个合理的取舍选择,地址识别错误率和存储效率间应处于某种最佳的平衡.
1.2.2 绑定坚固程度
绑在地址码上的引物有可能脱落,因此必须增强引物和单链地址码之间的结合牢固程度,一个简单的方法是增加地址码的长度,这样碱基配对结合形成的氢键数目增加,引物和单链DNA存储器地址码之间的牢固程度自然增加.增加地址码的长度也同时加入了冗余位而防止了错误识别的发生.但是长度不是越长越好,因为地址编码长度增加,有用数据编码的比率就会下降,存储器的效率也会降低.除了增加地址码的长度外,地址码中C-G配对数目的多少也将决定引物与地址码绑定的坚固程度,由于从分子角度看,C-G结合形成三个氢键,而A2T结合只有两个氢键,C-G结合要比A-T结合牢固,地址码中CG配对数所占的比例将决定地址码和引物间结合的牢固程度,因此增加地址码中CG的比例是提高地址码与引物结合牢固程度的另一种方法.
1.2.3 编码的二义性
编码的二义性主要是由于数据和地址编码与酶切位点的编码之间可能产生冲突所造成的,以Nicking Endonuclease N.BbvC IA为例,该内切酶的酶切位点编码为5’-GCTGAGG-3’,该编码有可能和数据或地址编码重复,原因是数据和地址是在一段地址空间内连续编码的,这将导致该内切酶不能正确地执行剪切操作.避免二义性的发生有多种办法,一种最简单的办法是取保留字,也就是将GCTGAGG字符串保留不作数据或地址的编码;另一种方法是设计一套特殊的编码规则,用该规则来对数据或地址进行编码时不会出现GCTGAGG字符串.在DNA随机存储器的设计中,将采用第二种方法来避免二义性.
1.3 编码规则(codingrule)
综合各种因素,编码规则的设计可以用如下的方法:
(1)地址用C、G编码
用C,G对地址信息编码是考虑到CG配对比AT配对更为牢固的特性.由于用于编码的字符只有两个,这是事实上的二进制编码,可以假定C为0,G为1,假设地址码的长度为4位,地址空间为0~15,地址码从CCCC到GGGG. 对于地址3,地址码为CCGG;地址7,地址码为CGGG. 考虑到引物识别错误的问题,地址码需要增加冗余信息.一种简单的方法是按倍数放大地址码,例如将地址码放大2倍,用8位的地址码表示4位的信息,地址空间不变,地址码从CCCCCCCC到GGGGGGGG. 对于地址3,地址码为CCCCGGGG;地址7,地址码为CCGGGGGG. 将原先地址中的每一个字符变成两个,C->CC,G->GG.如果放大3倍,则每一个字符变成相同的三个.
(2)数据用A、T编码
用A、T对数据进行编码,同样也是二进制编码.假定A为0,T为1,数据编码段的长度为8位,数据空间为0~255,数据编码从AAAAAAAA到TTTTTTTT. 对于数据44,编码为AATATTAA. 由于数据编码不必考虑识别错误的发生,不须要编码冗余.但读和写操作中都要考虑聚合酶反应中的延展错误(elongating false),为了避免延展错误发生,可以考虑用冗余编码.但延展错误发生的几率很小,因此考虑到存储效率,可以不用冗余编码.
(3)酶切位点的编码
酶切位点的编码按具体的Nicking核酸内切酶的位点信息进行编码,因为地址用C、G编码,数据用A、T编码.地址和数据都没有用到A、C、G、T混合编码,所以不会出现诸如下面的编码:5’-GCTGAGG-3’(N.BbvC IA的酶切位点),5’- CCTCAGC-3’(N.Bbvc IB的酶切位点),5’-GAGTC-3’(N.BstN BI的酶切位点),5’-GGATC-3’(N.Alw I的酶切位点).由此可见,数据和地址的编码不会影响酶切位点的编码.
一个简单的编码后的DNA随机存储器如图2所示.图中每一个信息存储单元分成三个部分:地址段,酶切位点和数据段.信息存储单元按地址的顺序连续地编码于环状单链DNA存储器上.因为环状单链DNA分子的长度或是碱基数(base pairs)是有限的,所以每个DNA存储器的信息存储量也是有限的.扩大DNA存储器的存储容量可以通过增加DNA分子的长度既碱基数,和设计不同地址编码的环状单链DNA分子来解决.因此一个DNA随机存储器可以是由单个的环状单链DNA分子构成,也可以是一组有着不同地址编码的环状单链DNA分子组成.
图2 环状单链DNA存储器
2 数据读取和写入 如何从DNA存储器中读取和写入数据是该存储器设计中的重点和难点.如果DNA存储器中的数据难以被利用,那么即便DNA分子有着巨大的存储数据的能力也是没有任何意义的.
2.1 数据的读取操作
从DNA存储器中读取数据,主要分成以下三个步骤,如图3所示.
图3 DNA存储器数据读取操作
(1) 读取数据的读写臂绑定到目标地址的位置,该读写臂的头部含有与目标地址段编码互补的引物段.
(2)绑定到目标地址段上的读写臂前端在聚合酶的作用下开始延展(elongating),即复制DNA存储器上数据,延展过程在下一个地址段前结束.
(3)读写臂与存储器在一定的反应条件下分离,整个读取操作完成.
2.1.1读写臂绑定
读写臂是一段单链DNA分子,它的前端含有与目标地址互补的编码段———引物段,能够绑定到相应的地址段上.读取操作的第一步是读写臂正确地绑定到存储器上的目标地址段.在一定的退火温度(annealing temperature)下,该过程可以自行完成,而无须借助于其它物质.
2.1.2 读写臂头部延展———读取数据
当读写臂绑定到存储器后,下一步的操作便是如何获取数据.在有聚合酶(polymerase)参与的条件下,读写臂引物段的前端能够以DNA存储器的数据段部分为模板(template),开始合成互补的单链,它是DNA复制的基本原理.
引物段前段的延展过程便是读取数据的过程,由于聚合酶的反应无法准确地在下一个地址编码前停止,可能会复制多余的数据,这是必须要防止的情况.在DNA存储器设计中采用如下的方法来解决该情况:因为在读取操作的聚合酶反应中只需要A、T作为原料来复制数据码,而地址码的复制需要用到C、G,所以为了防止聚合酶反应将没用的地址码也复制在读取数据的操作中,在反应溶液中不放入C、G核苷酸,这样当聚合酶反应到达下一个地址段时由于缺乏合成的原料而自动停止.
2.1.3 读写臂与存储器分离
当聚合酶反应完成时,整个读取数据操作的核心部分也就完成了,下一步是让读写臂与存储器分离.读写臂与存储器的分离不需要借助任何其它物质,只需要将溶液置于一定的温度下,读写臂与存储器就能自动分离,该分离过程称为DNA分子的溶解(melting),即双链DNA分子间由碱基配对形成的氢键在一定温度下断裂,双链分开成单链.
2.2 数据的写入操作
将数据写入DNA存储器的操作比读取操作复杂,涉及到多个步骤的衔接,如图4所示.
图4 DNA存储器数据写入操作
数据写入的过程分为以下几个步骤:
(1)写入数据的读写臂绑定到目标地址的位置,读写臂头部包含要写入的数据,该过程与数据读取操作相同.
(2)清除DNA存储器中原有的旧数据.
(3)以读写臂头部的新数据为模板进行反向的聚合酶反应,将数据由读写臂的头部复制到DNA存储器上.
(4)读写臂与存储器分离.
2.2.1 读写臂绑定
写入操作与读取操作的读写臂绑定基本相同,唯一不同的是两个读写臂引物段的前端部分.读取操作时,引物段的前端部分没有数据,而是在读取过程中复制数据于前;而写入操作时,引物段的前端部分带有要写入数据的新数据段,该编码段将成为数据写入时的聚合酶反应的模板,同时为了实现前后绑定而在中间进行数据复制的要求,读写臂的头部的最前段还要加载下一个地址编码以实现前后绑定.
2.2.2 旧数据清除
在新的数据写入之前首先要清除DNA存储器上原有的旧数据,这个过程比较复杂,分成两个部分:1.Nicking核酸内切酶首先在酶切位点上咬开一个裂口(Nick);2.核酸外切酶从该裂口开始,按一定的方向(5’->3’或3’->5’)降解单链DNA直至旧数据终止.
(1)Nicking核酸内切酶咬切DNA存储器酶切位点
Nicking核酸内切酶能够识别双链上特定的酶切位点,并咬切双链中的一条,留下一个裂口.Nicking核酸内切酶有两个特点使之成为存储器写入操作最合适的工具,首先Nicking核酸内切酶只识别双链上的酶切位点,因此单链上虽然有酶切位点,但由于没有互补形成双链而避免了被剪切;其次Nicking核酸内切酶只切双链中的一条,这样就形成了切而不断的结果.以上两个特点正好满足存储器写入操作的设计要求.
(2)核酸外切酶对旧数据的降解清除
有些核酸外切酶可以降解单链DNA分子,降解的起点可以是单链DNA分子的5’端或是3’端,有时也可以从双链中的缺口(Nick)处开始.核酸外切酶的降解通常都是有方向的,既要么从5’端到3’端,要么从3’端到5’端,有些核酸外切酶也可以是双向工作的.在写入操作中,核酸外切酶的操作从Nicking核酸内切酶咬切后的裂口处开始,朝旧数据段的方向进行降解以清除旧数据.
2.2.3 将新数据从读写臂头部复制到存储器上
当旧数据被清除后,在存储器上留下了一段空缺,该空缺是为复制新数据准备的.复制新数据的过程与从存储器中读取数据的过程是一样的,只是这次是以读写臂头部的新数据段为模板,反向将数据复制或是读取到存储器.复制的位置起始于Nicking核酸内切酶咬切留下的裂口位置,终止于下一个地址码前.最后由连接酶Ligase将聚合酶反应所留下的缺口缝合,整个写入的操作就结束了,这样新的数据就将原有的旧数据替换掉了.
2.2.4 读写臂与存储器分离
就像数据读取操作一样,写入操作的最后步骤是读写臂与存储器分离.在一定的溶解温度下,读写臂自动与存储器分离,写入操作结束.
3 实验中的问题
虽然在理论上提出了DNA随机存储器的构想,但要将它变成现实还有很多尚待解决的问题.面临的问题有以下几个方面.
3.1 操作步骤间的衔接问题
由于数据的写入操作中包含了多个步骤,各个步骤间如何衔接将成为整个操作能否成功的关键.在各个步骤衔接的过程中,所需的反应条件各不相同,不可能在相同的反应缓冲液(reaction buffer)中完成,每一步的缓冲液都必须进行特定地调制.在数据写入操作中,每一步都涉及不同生化酶和DNA存储器间的反应,如:Nicking核酸内切酶,核酸外切酶,聚合酶.每一种酶的反应缓冲液都不同,以Nicking核酸内切酶的N.Alw I和核酸外切酶的Exonuclease I(E.coli)为例:N.Alw I的一个单位反应缓冲液(1 x Reaction Buffer)为:10 mM TrisHCl,50 mM NaCl,10 mM MgCl2,1 mM dithiothreitol,pH 7.9 @25°C;Exonuclease I的一个单位反应缓冲液为:67 mM Glycine-KOH,6.7 mM MgCl2,10 mM 2-Mercaptoethanol,pH 9.5 @25°C.由此可见,两者的反应缓冲液完全不同,根本不可能共存.为了解决这一问题,一个简单的办法是每次反应后都将DNA存储器与反应缓冲液分离,下一次反应的时候再将DNA存储器与新的缓冲液混合,这虽然在实验操作中是可以做到的,但它的代价也非常高,这中间必须考虑提取过程中DNA存储器分子的损耗和过程中消耗的时间,DNA存储器的损耗将影响存储的品质而时间的消耗将影响存储效率.就目前而言,尚不存在使各种酶都能发挥最大活性的通用缓冲液,因此操作步骤的衔接问题将不能彻底地解决.
3.2 编码冗余问题
在DNA存储器中,考虑到存储器效率而并未涉及编码冗余的问题,这是理想情况下的编码设计,在实际的实验设计中,冗余是随处可见的,而且有些情况下是必须的.
3.2.1 读写臂的冗余编码
为了让读写臂能牢固地绑定到存储器上,读写臂头部绑定区域的长度有时需要几十个bps(basepairs),而这几十个bps中并不是都有实际编码意义,也就是它们是冗余信息.因此读写臂头部绑定区域的长度不能纯粹地按地址编码的要求来设计,而只能按实际实验的需要来设计.
3.2.2 酶切位点附近的冗余编码
Nicking核酸内切酶是一种酶,酶本身是一种蛋白质,因此它的体形要比DNA分子粗大.DNA分子是细长的,而酶则是由多肽链(polypeptide)扭曲折叠成一团的物质.当酶作用于DNA分子时需要一定的伸展空间,因此在酶切位点附近必须有足够的空间留给酶,以便能让酶顺利地附着到DNA分子上,而这些空间也是冗余的,并没有任何编码意义.
3.2.3 核酸外切酶降解时的冗余编码
核酸外切酶对单链的旧数据进行降解时,很难让它准确地在下一个地址码之前停止,因此核酸外切酶有可能降解地址码部分的单链,这种情况是必须防止的.解决这一问题的办法是根据核酸外切酶的活性,在数据码和地址码之间增加一段非编码的缓冲带.缓冲带的设计要比较特殊,为了让核酸外切酶能在缓冲带停止降解,缓冲带中要添加碱基错误配对形成的“洞”,这样可以增加核酸外切酶的脱落的可能性,但这并不能保证核酸外切酶就一定能脱落,不同的核酸外切酶有不同的活动和伸缩能力.另一种解决办法是在缓冲带中,用甲基化转移酶(Methyl transferase)对该区域进行位点识别修饰,有些核酸外切酶在遇到甲基(-CH3)时,由于伸缩性,键能和角度等原因,将不能附着在DNA分子上而自行脱落.上述方法都只是理论上的假定,并未有实验的证明.
4 结束语
DNA计算机是人们对于不同计算机体系和形态的探索.DNA计算机的出现并不是要完全替代现有的电子计算机,而是对现有计算机的有益补充.DNA计算机和电子计算机在计算的应用范围和计算的功能上并不是完全重叠的.电子计算机趋向于大规模快速地数字逻辑运算,而DNA计算机侧重于局部微观地计算,它的硬件体系由DNA和蛋白质酶构成,它的计算功能也必将应用于DNA和蛋白质的研究,它可以在生物体的微环境中执行一定的计算功能来解决诸如基于调控和药物控制等问题.
DNA随机存储器是DNA计算机的数据存储部件,它利用了DNA分子固有的数据存储优势,通过酶的操作来实现数据的读取和写入.DNA随机存储器的研究是DNA计算机研究的一个部分,但DNA随机存储器的研究并不完全应用于DNA计算机研究,DNA随机存储器的应用范围已经超出了计算的范围,在生物体中,数据的存储是十分重要的,基因组就是生命体本身的数据存储器,它对数据的利用也是通过酶的作用.DNA随机存储器中存储的数据并不一定是数字化信息,也可以是蛋白质编码信息,因此DNA随机存储器是广义上的数据存储器,它的应用超出数理逻辑计算的范畴,扩大到生物体内的微环境调节的计算.
虽然DNA随机存储器的研究有着重要的意义,但DNA随机存储器的研究尚处于起步阶段,它离实际运用还比较遥远.目前而言,先从生化实验上证明DNA随机存储器的可行性是十分必要的,虽然这当中有诸多的问题尚待解决.如何将DNA随机存储器的设计构想在具体实验中得以验证是下一阶段研究的重点. |