1936年,英国数学家阿兰·图灵(Alan Turing)最早提出“通用可编程计算机”这一概念时,“computer”这个词指的还是人——从事计算工作的人,而不是现在所指的“计算机”。图灵构思的机器,可以代替人做这种工作——能够计算任何可计算的问题。他的构思为计算机的理论研究打下了基础,直到现在仍然是整个计算机科学的基础。但是,图灵从未明确说应该用什么材料来制造这种机器。
图灵的纯概念机没有导线、晶体管和逻辑门。实际上,他仍然把它想象为一个人—一个拥有无限长的纸张、一支铅笔和一本说明书的人。他的无导线计算机会阅读、改变符号,然后根据程序化规则,继续处理下一个符号,并会以这种方式一直继续下去,直至再也没有规则可以应用。因此,由金属和真空管(上世纪40年代问世,后演变为晶体管)构成的电子计算机,也许是大多数人见到的唯一的非人类计算机“物种”,但这并非计算机的唯一可能形式。
例如,生物有机体在数字信息指令下也可以完成复杂的物理过程。从根本上来说,生化反应乃至整个有机体的运行,都是由指令支配,这些指令则蕴含在基因组的核苷酸序列中。当把在细胞中处理DNA(脱氧核糖核酸)和RNA(核糖核酸)的生物分子机器与图灵机进行比较时,就会发现二者的工作方式惊人相似:这两种系统都处理存储于符号(来自固定字母表)串中的信息,都沿着符号串一步一步地运行,都根据一组特定的规则修改或添加符号。
这些相似性使人联想到:有朝一日,生物分子可能会成为构建计算机新物种的原材料。这种生物计算机,在传统的计算方面不一定具有很强的性能。相比而言,天然分子计算机(如核糖体计算机)的运算速度每秒只有几百次,而某些电子装置的门开关操作则可达到每秒几十亿次。但是这些生物分子的确有其独到之处:它们会讲活细胞的语言。
由生物分子组成的计算机的应用前景在于,它具备这样一种潜力:能在生化环境中,甚至在生物有机体中运行,并能以其他生物分子的形式,通过输入和输出,与所处环境互动。例如,生物分子计算机也许能自动诊断细胞内的疾病。它能探测来自所处环境的、能表明疾病存在的信号,然后利用程序化医学知识,对这些信号进行处理,并输出一个信号或释放治疗药物。
过去七年,我们一直在为实现这一设想而努力。我们已经成功地构建了一个生物自动系统,该系统是由DNA和蛋白质组成的,能够在试管中诊断某些癌症的分子症状,并通过释放某种治疗分子治疗疾病。这一设想得以证明实在令人兴奋,原因有二:一是生物分子计算机在未来具有医学应用潜力;二是它与我们最初着手研制的东西完全不同。
从模型到分子系统
由于某些生物分子机器在活细胞中的一些基本运作得以实现,本文作者夏皮罗开始了从模型到分子系统的研究——分子构建材料的识别、高聚合生物分子的切割与连接、沿聚合物的移动——从原理上讲,它们对构建基于图灵机的通用计算机都有用。从本质上讲,这种图灵机的运算会转化为这样一些分子生物学术语:1“识别”,2“切割”,2“连接”,和左移或右移。
IBM公司的查尔斯·贝内特(Charles Bennett)已进行过类似观察,并于1982年提出一种假想的分子图灵机。他对能耗物理学颇感兴趣,他推测:有朝一日,分子有可能成为能效更高的计算装置的基础[参见《科学美国人》1985年7月号查尔斯·H·贝内特和罗尔夫·兰道尔(Rolf Landauer)撰写的《计算的主要物理限制》一文]。
1994年,分子的计算能力首次得到验证,当时美国南加州大学的伦纳徳·M·埃德雷曼(Leonard M.Adleman),用DNA解决了一个让传统计算机算法觉得非常棘手的问题:被称为 “旅行推销员问题”(the traveling salesman problem) 或“哈密尔顿路径”(Hamiltonian path)的问题,找出访问固定城市的最短飞行距离——飞机只通过每座城市一次。埃德雷曼通过设计DNA分子来象征性代表各城市和各航班,然后在试管中使数十亿DNA分子结合,利用分子的配对亲和力,在几分钟内就得到了答案[参见《科学美国人》1998年8月号由伦纳徳·M·埃德雷曼撰写的《用DNA进行计算》一文]。遗憾的是,借助当时的实验工具,从混合物中手工查出代表正确答案的分子耗去了他很长时间。埃德雷曼当时非常渴望能有新技术来构建更为实用的分子计算机。
“将来,分子生物学研究可能会为我们提供更先进的操控大分子的技术,”埃德雷曼在1994年的一篇论述DNA实验的重要的科技文章中写道,“化学研究也许能让我们开发出人工合成酶(synthetic designer enzymes)。人们能够想象最终会出现仅由单个大分子(缀合到作用于它的酶的核糖体状集合体)构成的通用计算机。”
于是,夏皮罗开始致力于为这种装置做出一个有形的逻辑设计,即设计作为一大类未来分子计算机的基本“操作说明”。到1999年,他就拿出了该设计的机械模型,该模型由塑料部件构成。然后我们集中力量,旨在把那个模型转化为真实的分子系统。
但是,我们没有试图构建“羽翼丰满”的分子图灵机,我们没有挑战这一终极目标,我们一致同意先试搞一个极其简化的类图灵机,我们称之为有限自动系统。它的唯一工作就是:确定符号或字母(来自二字母表,如a和b)串中所含b的数目是否为偶数。该任务只要一个两状态有限自动系统和一个称之为转移规则的四语句程序即可完成。本文作者贝内松想出这样一个主意:用一个双链DNA分子代表输入字母串,再用四个短双链DNA分子代表自动装置的转移规则,或称“软件”;并用两种DNA操控的酶——ForkI和连接酶——作为“硬件”。
在本设计中,我们必须解决的主要逻辑问题是:如何表示不断变化的中间计算状态。中间状态由指针和自动系统当前的内部状态组成,而指针指示正在被处理的输入符号串中的符号。我们巧妙地解决了这一问题:在每一步计算中,酶硬件实际在“消化”输入分子,切割当前正在被处理的符号并揭示下一个符号。因为符号可以在两个不同位置切割,所以每个由此产生的版本,除了可代表符号本身外,还可代表计算的两种可能状态之一。有趣的是,我们后来发现,最后这个元件类似于保尔·罗特蒙德(Paul Rothemund,埃德雷曼以前的学生)曾经提出的分子图灵机的设计方案。
值得注意的是,基于此原理,我们在2001年宣布诞生的计算机是自动的:一旦输入,硬件和软件分子被置入试管中的适当缓冲液,计算就开始了,并且会重复进行下去直至任务完成,无须人工介入。
在对该系统进行测试时,我们还意识到:它不仅能解决我们最初打算让它解决的问题——确定符号串中的一个 符号出现的次数是否为偶数,还能做更多的事情。一个具有两状态、两符号的有限自动系统,具有八种可能的符号状态规则组合(2×2×2),并且由于我们的设计是组合式的,所有八种可能的转移规则很容易用八种不同的转运分子来执行。因此可以通过选择不同的程序,即不同的转运分子的组合,使有限自动系统执行不同的任务。
在用简单的分子自动系统对多种程序进行试验时,我们还发现了一种能够进一步提高性能的方法。我们的实验包括一个“省略实验”,在该实验中,自动系统的运行情况是通过每次去掉一个分子组件来评估的。但是,当我们去掉连接酶时(连接酶将软件分子连接到输入分子,以使它能够被另一种酶——ForkI识别和切割),计算却似乎取得一些进展。我们发现ForkI有一种不曾为人所知的能力,这就是无论分子的双链是否结合在一起,它都能识别和切割某些DNA序列。
从分子计算机设计中去掉连接酶的前景令我们非常高兴,因为这会使所需要的酶硬件直接减少50%。更重要的是,链接是计算中唯一耗能的操作。因此避开链接,无需外部燃料源,计算机就能运行。最后,去掉链接步骤还意味着,在计算过程中软件分子不再被消耗,而是可以被重复使用。
我们用了几个月的时间努力工作,分析数据,完善无连接酶系统。最初它的效率极为低下,一两个计算步骤后就会停止运行。但是,在计算和生物化学双重挑战的驱动下,得益于瑞夫卡·阿尔达(Rivka Adar)和其他同事的帮助和建议,贝内松最终找到了解决办法。对在本自动系统中使用的DNA序列做一些小而关键的改变,我们就能够利用ForkI迄今仍未被人们认识的能力,在计算机的性能方面取得重大突破。2003年,我们构建出一台自动的可编程计算机,这台计算机用输入分子作为其唯一燃料源。因此,从原理上讲,它能够处理任意长度的任何输入分子,只使用固定数目的硬件和软件分子,而能量却永远不会枯竭。
然而,从计算的观点看,与“劳斯莱斯”相比,我们的自动系统仍像一部小型机动摩托,我们的眼界则是建立在前者的基础上:生物分子图灵机。
DNA医生
因为这种两状态的有限自动系统太简单,在解决复杂计算问题时毫无用处,所以我们认为它只是可编程自动生物分子计算机概念的一个有趣的演示系统,我们决定继续努力。在一段时间内集中我们的力量,设法构建更复杂的自动系统,然而,我们很快就碰到了埃德雷曼曾经碰到过的问题:他十年前就渴望的“定制酶”仍不存在。
实现图灵机设计对适应性要求较高,没有已知的天然酶或复合酶能够按序列、协同地完成具体的识别、切割和链接任务。因此,必须对天然酶进行改造,或设计全新的合成酶。目前尚不具备这种能力,所以我们发现,虽然有了生物分子图灵机的逻辑设计说明,但却无能为力,不得不等到构建它所需要的元件发明出来之后。
正是基于这个原因,我们才回到两状态自动系统,想试试我们是否至少能够发现某种有益的事情让它去做。由于头脑中已有医学应用的想法,我们想知道该系统能否做一些简单的诊断工作,例如确定代表某种疾病的一组条件是否存在。
要完成这一任务,只需两种状态就够了:我们把一种状态称为“是”,把另一种状态称为“否”。自动系统会在“是”状态下开始计算,每次核对一个条件。如果有一个条件在核对表上存在,“是”状态就会保持;但是如果任何条件在核对表上都不存在,自动系统就会转变到“否”状态,并且在剩下的计算过程中一直保持那种状态。因此,只有疾病的全部条件都成立,计算才会在“是”状态下结束,如果有一个条件不满足,“诊断”结果就是否定的。
要实现这一逻辑方案,我们必须找到一条使分子自动系统与生化环境联系起来的途径,使分子自动系统能够检测具体的疾病条件是否存在。分子图灵机的蓝图中,已向我们提示了环境可能影响竞争性转运分子的相对浓度,从而影响计算这一基本思想。要应用这一原理检测疾病症状,我们必须以疾病指标存在与否,来决定可以证实症状的、发挥“软件”作用的分子的浓度。
例如,许多癌症的特点是,由于一些特殊基因对编码的蛋白质表达过度或不充分,细胞中蛋白质水平异常。当一个基因被表达时,细胞核中的酶将基因序列复制成RNA(核糖核酸)版本。基因的这种分子转录本[称为信使RNA(mRNA)],然后由一种名为核糖体的细胞器读出,核糖体能将RNA序列转化为构成蛋白质的氨基酸链。因此,高于或低于正常水平的mRNA转录本,都能够反映基因的活动。
贝内松设计出一个系统,在这个系统中,某些转运分子能够优先与mRNA序列相互作用。相互作用同样也会影响转运分子参与计算的能力。代表疾病条件的高水平mRNA会使“是≠是”转运分子占据主导地位,提高了计算机发现症状存在的概率。实际上,该系统可以应用于与基因活动导致的蛋白质水平异常有关的一切疾病的诊断,我们还可以对它进行改造,以检测mRNA序列中的不良变化。
一旦我们有了能够检测疾病症状的输入装置和进行诊断的逻辑机构,接下来的问题就是:在诊断疾病时,计算机应该干什么?起初,我们考虑让它产生一个可见的诊断信号。然而,在分子世界里,产生一个信号和实际采取下一个用药逻辑步骤的差距并不那么大。我们的班子成员之一、研究生本亚明·吉尔(Binyamin Gil),提出并完成了一个能够使计算机针对明确诊断释放药物分子的装置。
不过,我们的计划还不完善。也许计算机硬件设计中的主要问题是,如何用不可靠的元件组成可靠的系统。这个问题并非生物计算机所特有,而是复杂系统的固有属性:即使是机械装置,随着尺寸的缩小和元件数量的增加,其可靠性也会下降。就我们的方案而言,由于计算的整体概率性质和生物分子元件行为的非精确性,即使几个症状不存在或全部症状均不存在,某些计算也必然会得出明确的诊断结果,反之亦然。幸运的是,这种概率行为是可以测量和重复出现的,因此,我们能够用一个制衡系统加以补偿。
我们设计出两种计算分子:一种是当计算在“是”状态结束时释放药物,另一种是当计算在“否”状态结束时释放同一药物的抑制剂。通过改变这两种分子的相对浓度,我们就能精确控制确诊(引发活性药物应用)的界限。
医生在权衡药物治疗给病人带来的毒性作用与诊断的明确性时,也要作出这种决定。将来,如果我们的分子自动系统被用于医学领域,我们就可以给它编程,让它作出类似的判断。
计算机新物种的曙光
正如我们的这种简单“小型摩托车”所证明的那样,它把我们带到的地方,比我们想象的还要远,而且方向也与我们想象的不同。到目前为止,我们的生物计算机只是在试管中进行了论证。先是通过添加不同浓度的RNA和DNA模拟生物环境,然后把自动系统的所有元件都放在一个试管中。现在,我们的目标是:让它在活细胞中工作,要看到它在细胞内计算,要使它与所处环境进行交流。
单是把这种自动系统送入细胞中就是一个很大的挑战,因为大多数分子传送系统要么专用于DNA,要么专用于蛋白质。我们的计算机则既包含DNA,又包含蛋白质,因此,我们正在设法寻找能够协同处理这些分子的某些方法。另一个困难是寻找能够观察全部计算情况(当它们在细胞中出现时)的手段,以确认这种自动系统能够在没有细胞活动时中断计算步骤,或在没有计算机元件以非故意的方式影响分子行为的情况下工作。最后,我们还要探索可供选择的把计算机和其所处环境联系起来的手段。最新的癌症研究提示,细胞中某些具有重要调节功能的小分子——微RNA,是较好的疾病指标,因此,我们打算重新设计我们的计算机,以使它能够与微RNA而不是与mRNA对话。
尽管我们还远未达到把本装置应用于活细胞的目标,更不用说应用于生物有机体了,但是我们已经取得了能证明我们设想的重要证据。通过把疾病的生化症状直接与分子计算机的基本计算步骤联系起来,我们的试管演示证实:自动分子计算机能够与生物系统沟通,并进行具有生物学意义的评估。它的输入装置能够检测其运行环境;运算装置能够分析其运行环境;而输出装置则能在分析结果的基础上聪明地影响环境。
因此,我们的自动系统展示了能直接与生化世界相互作用的生物分子计算机的光明前景。它还绕了整整一圈,把计算科学带回到图灵的原始设想。第一批计算机不得不偏离图灵的设想,以适应电子元件的各种特性。只是在几十年后,当分子生物学家开始揭示微型机器在活细胞内的运行时,计算机科学家才认识了类似于图灵抽象计算概念的可以应用的系统。
这并不是在暗示分子计算机可能会代替电子计算机进行一切计算。这两个计算机物种各有所长,很容易和平共处。不过,因为生物分子能够直接存取其他生物分子编码的数据,所以它们在本质上能以电子计算机决不可能的方式与生物系统兼容。因此,通过实验提示,我们认为:这一计算机新物种是极其重要的,并将证明其自身的广泛应用价值。生物计算机已经苏醒了。
请 登录 发表评论