雷锋网注:图片来自Erik Winfree/Caltech
单细胞利用自己的DNA进行分裂、繁殖和分化,从而产生一个发育完全的生物体,这可谓是化学计算中最巧妙神秘的行为。本周,《自然》(Nature)杂志发表研究报告称,计算机科学家建造了第一台可广泛编程的DNA计算机,朝着利用化学计算的路途上迈出了至关重要的一步。
该系统利用DNA编写的指令来执行不同的6位程序。以前的DNA计算机本质上都是定制的系统,只能够解决特定的问题。但现在,研究人员用新系统来执行21个测试程序。在可编程物质中,化学软件会自动指导具有复杂、可编程纳米材料的构建。虽然仅由DNA和盐水组成的新系统本身不足以成为科技应用,但是,它让自组装可编程物质的发展更进了一步。这项研究主要在加州理工学院(Caltech)进行。研究负责人、计算机科学和生物工程学教授埃里克·温弗里(Erik Winfree)解释说,新系统的创造者“试图找出将计算行为嵌入化学的方式,从而控制化学的行为”。
DNA会形成一个由两条长链组成的梯状结构,每条链都有四种化学物质。这台计算机的原理就在于:单链DNA会因化学序列的互补性和其他DNA链配对。加州理工学院的研究小组将他们的DNA序列设计成类似于2-输入/2-输出布尔逻辑门。这些门中的五个被连接成一个层,用6个输入和6个输出执行所需的计算。但是仅仅一层不能完成计算。相反,一系列功能相同的层,其中一个层的输出连接到另一个层的输入,迭代地执行计算,直到得到一个答案。我们可以这么理解:随着一层又一层的连接,算法最后编织了一个包含计算过程的纳米级围巾。
温弗里(Winfree)和他的团队把这些电路抽象地想象成四方形的瓦片,瓦片两边都有固定装置,只允许它们连接到带有互补装置的瓦片上,就像拼图。计算机的全套指令由355种不同类型的瓦片组成。实际上,每块瓦片上并非1条DNA单链而是4条,这样就增加了足够的余地来克服意想不到的错误。
为了使计算有序进行(本质上是合成一种可以计算的晶体),研究人员需要某种既可以作为起点,又能承载DNA进行组装的结构。达米安•伍兹(Damien Woods)曾从事DNA计算机研究,现在就职于爱尔兰的梅努斯大学。他说,“我们想让DNA有序地连接在一起形成回路,而不是像在溶液里一样随机粘在一起。这种DNA使用了一种叫做DNA折纸的技术,设计成一个长150纳米,宽20纳米的纳米管。计算晶体在纳米管上进行组装,方式类似于冰糖在裹着糖衣的绳子上结晶。
雷锋网注:图片来自Damien Woods/Maynooth University
想要在这台6位DNA计算机上运行一个程序,首先需要一个自定义编译器。“大量的想法和科学会投入到编译器中,”伍兹如是说道。它允许研究人员编写任何他们想要的软件算法,并通过各种抽象层次将算法转换为:逻辑到块、块到纠错子块、子块到DNA序列等等。最后,它产生了一个指南,即指导DNA序列添加的内容、时间、以及温度。DNA折纸纳米管需要一到两个小时的时间来合成,而完成计算则需要一天左右的时间。(温弗里指出,速度从来都不是重点。)
对于Winfree来说,这一结果是其职业生涯的一大进步。“对我来说,这是一段相当长的路要走,”他说。大约25年前,当他还是一名研究生时,他对数学瓦片理论和理论计算机科学之间的奇妙联系产生了兴趣,他想知道这种联系是否可以扩展到描述晶体生长的模型上。“这让我非常好奇,伪晶体是否会在生长过程中进行计算。“现在我们知道他们可以。
雷锋网注:本文编译自IEEE Spectrum