圖靈和馮·諾依曼的遺產:生命計算機的架構_風聞
返朴-返朴官方账号-关注返朴(ID:fanpu2019),阅读更多!昨天 13:03
在通用圖靈機的基礎上,數學家馮·諾依曼進一步發明了自複製機器,回答了生物學中最為深刻的一個問題:為什麼所有生物都以DNA形式進行自我描述?圖靈和馮·諾依曼,這兩位計算機科學先驅偶然發現的生命奧秘並不廣為人知,卻為研究生物系統勾畫出藍圖——把生命系統看作是計算機器。
這篇近期發表於PNAS的文章題為“圖靈和馮·諾依曼的遺產:生命計算機的架構”,以DNA聚合酶為例,説明生物分子實際上就是計算機器;並闡釋了計算模型的層級結構可以在生物計算領域找到類似結構。通過將生物學簡化為計算形式,計算機科學可以用來將生物學系統化。反過來,計算機科學家或許能夠挖掘生物計算中的自然宇宙,利用數十億年的自然演化來發現新的計算模型或算法。展望未來,生物學和計算機科學可以看作是緊密相連的同一門學科,一門研究機器行為的學科。
撰文 | Hashim M. Al-Hashimi
翻譯 | 汪顯意
審校 | 小木球
編輯 | 梁金
目錄
摘要
1. 圖靈的通用計算機(Universal Computing Machine)
2. 馮·諾依曼的通用構造機(Universal Constructor)
3. 分子計算(Molecular Computation)
4. 作為計算機的天然生物分子
5. 生物計算(Biological Computation)的一個具體例子
6. 生命計算機的層級
7. 解碼生命計算
論文題目:
Turing, von Neumann, and the computational architecture of biological machines
論文地址:
https://www.pnas.org/doi/10.1073/pnas.2220022120
摘要
20世紀30年代中期,英國數學家和邏輯學家艾倫·圖靈(Alan Turing)發明了一種想象中的機器,它可以模擬人類計算者操縱有限符號裝置(finite symbolic configuration)的過程。這一發明為現代可編程計算機提供了基礎,從而開創了一個新的科學領域——計算機科學。十年後,在圖靈機的基礎上,美籍匈牙利數學家約翰·馮·諾依曼(John von Neumann)進一步發明了一種想象中的能夠進行開放式演化的自複製機器。通過他的機器,馮·諾依曼回答了生物學中最深刻的問題之一:為什麼所有的生物都以DNA形式進行自我描述?兩位計算機科學先驅早在DNA雙螺旋被發現多年之前,就偶然發現了生命的奧秘,但這個故事並不為人所知,甚至很多生物學家都不知道,你也不會在生物教科書中找到。然而,這個故事在今天和在八十年前一樣重要:圖靈和馮·諾依曼留下了研究生物系統的藍圖,即把生命系統看作是計算機一樣。這種方法可能是回答生物學中許多問題的關鍵,甚至可能引領計算機科學的再進步。
幾個世紀以來,人類文明一直痴迷於建造自動機,令它們通過遵循預定的指令集來執行機械操作。從布穀鳥鐘到自動開啓的寺廟大門,自動機被用作工具、宗教奇觀和解釋科學原理的原型。當人們可以用自動機來模仿動物的行為時,便會挑戰 “某個東西是‘活的’意味着什麼?” 這一説法。大約在20世紀中葉,馮·諾依曼開始對建造真正意義上“活的”自動機展現出興趣:一個可以自我複製的機器,就可能進化成更復雜的機器。
馮·諾依曼被廣泛認為是20世紀最有影響力的思想家之一,他對量子力學的數學基礎做出了許多根本性的貢獻,是博弈論的先驅之一,也是現代計算機邏輯和設計原理背後的主要架構師[1]。在20世紀40年代早期,馮·諾依曼開始對“控制論”[2]這一新興領域產生興趣,該領域關注於研究動物和機器的行為。由於兩者都遵循邏輯和機械約束下的指令,控制論學者認為動物和機器在信息、通信和控制機制方面有很多共同之處。
在比較自然和人工機器時,馮·諾依曼發現一個有趣的現象,即生物體可以在幾代之後演化成更復雜的生物體[3, 4]。他認為,這種行為很難被設計成一台人工機器。如果機器A要構造機器B,它必須包含完整的B描述。此外,A還必須包含額外的材料來管理B的構造。因此,B不可能比A更復雜,而隨着一台機器建造另一台機器,自然的趨勢將是退化。
1 圖靈的通用計算機(Universal Computing Machine)
艾倫·圖靈是20世紀的另一位思想巨人,也是計算機科學和人工智能的先驅,他還因在第二次世界大戰期間破解納粹密碼(恩尼格瑪)而聞名。為了設計一台可以構建更復雜機器的假想機器,馮·諾依曼從圖靈那裏獲得了靈感,圖靈幾年前曾構想了一台假想的“通用”機器,可以計算任何其他機器可以計算的任何東西[5]。
圖靈發明他的機器不是為了解決任何生物學中的問題,而是為了解決“判定問題(decision problem)”。這個問題被當時傑出的德國數學家大衞·希爾伯特(David Hilbert)稱為“數理邏輯的主要問題”,它要求一種通用算法,可以通過有限的過程來決定一個任意的數學命題(陳述)是否可以使用邏輯規則從一組給定的公理中證明。公理是被認為是真的陳述。算法(algorithm)是一個遵循規則來尋找解決方案的系統過程。這個詞來源於“algorithmi”,是“Al-Khwarizmi”的拉丁化版本,Al-Khwarizmi 是9世紀的波斯數學家,他首先引入算法來解決代數問題(代數 algebra 一詞來源於阿拉伯語“al-jabr”,意思是“破碎部分的重新組合”)。當用特定語言表達時,算法被稱為計算機程序。
馮·諾依曼以其數學證明能力而聞名。1926年,在評論希爾伯特的判定問題時,他猜想該問題的判定一定是否定的,但是“我們不知道如何證明這一點”。十年後,圖靈證明了這個判定確實是否定性的。理論上的困難在於,人們必須從可以想象到的天文數字級的程序方案中嘗試每一個程序,並證明它們都不起作用。圖靈想出了一個絕妙的解決方案。將計算簡化為簡單機器可以執行的基本步驟。通過精確定義什麼是可計算的,圖靈用他的抽象機器證明了沒有一種通用算法可以決定一個公式是否是可證明的。1936年,24歲的圖靈發表了一篇具有里程碑意義的論文[5],這篇論文不僅解決了判定問題,而且可能更重要的是,為計算機科學的新領域和通用可編程計算機奠定了基礎。
圖靈想象中的機器由一條無限長的磁帶和一個磁頭組成,磁帶被分成幾段,磁頭可以掃描磁帶,一次寫一個符號,並沿着磁帶向右或向左移動一段。為了“記住”它從一個步驟到下一個步驟所做的事情,圖靈允許機器具有不同的“狀態”,他設想這些狀態代表一個人執行計算時不同的意識狀態。然後,機器遵循以轉換表形式給出的一組規則,該轉換表為每個初始狀態和掃描到的符號指定了特定操作(例如,將磁頭向左或向右移動一段,或者寫入“0”或“1”)及其最終狀態。例如,一個規則可能是:“如果磁帶磁頭處於狀態A並掃描0,請將磁頭向右移動一段並鍵入1,然後將其狀態更改為狀態B”。轉換規則還可以指示機器不改變狀態或完成並停止操作。依照轉換規則,機器根據掃描獲得的符號從一個狀態跳轉到另一個狀態,每次執行不同的操作。計算的輸入是寫在磁帶上的原始符號,而輸出則是當機器最終停止時寫在磁帶上的任何東西。
儘管它很簡單,但圖靈證明了他的機器可以執行一台機器可以執行的任何計算。所需要做的就是向他的機器提供另一台機器的描述,他就可以通過將另一台機器的轉換表編碼到磁帶上來完成。描述機器的轉換表本質上就是機器本身,並且可以有無限多個可能的轉換表來對應無限多個不同的機器。這種廣義計算模型被稱為“通用圖靈機”(Universal Turing machine),它形成了現代通用可編程計算機的理論基礎。
圖1. 通用圖靈機(Universal Turing machine)
圖靈可以用他的抽象機器來枚舉所有可能的算法,並證明判定問題沒有解決方案[5]。假如這樣的算法確實存在,那麼就有可能對圖靈機進行編程,以預測第二台圖靈機是否會在給定任意輸入後最終停止運行或陷入惡性的無限循環。圖靈證明了這樣的圖靈機在邏輯上是不可能的。他使用了一種稱為歸謬法或反證法(reductio ad absurdum)的策略。他假設存在這樣一台停下來的機器,然後證明將這台機器餵給自己會導致矛盾。
圖靈在證明過程中把機器餵給它自己,在這個過程中引出了自指(self-reference)概念,這並非巧合。在20世紀初,自指的命題產生了悖論,並在數學領域造成了嚴重的破壞,對希爾伯特本人熱情擁護的正統的公理系統所具有的一致性和完備性提出了質疑。在圖靈開始研究他的機器幾年前,奧地利邏輯學家和數學家庫爾特·哥德爾(Kurt Gödel)給出了關於自指的命題:“這個命題是不可證明的”,表明並非數學系統中的所有正確命題都可以從公理中證明[6],此舉震撼了數理邏輯的核心基礎。馮·諾依曼在設計他的自我複製機器時,同樣遇到了處於分子生物學核心位置的自指問題。
2 馮·諾依曼的通用構造機(Universal Constructor)
為了建造一台能夠演化出更復雜機器的通用自複製機器,馮·諾依曼意識到他需要擴展圖靈機的概念,使之可以輸出另一台機器,而非打印一串1和0的磁帶[1]。馮·諾依曼設想了一台由三個部件組成的機器:一個描述機器的“藍圖(blueprint)”,就像圖靈磁帶一樣,裏面有如何建造另一台機器的指令;一個通用的“構造機(constructor)”,用來解碼構造機器的指令;還有一種通用的“複製機(copying machine)”,可以複製這些指令[3, 4]。機器使用這些指令複製自己,然後複製這些指令,再將它們輸入新機器,以此類推。
為了使這台機器能夠製造出超越其自身複雜性的機器,馮·諾依曼還加入了另一個關鍵因素。40年前,荷蘭植物學家雨果·德弗里斯(Hugo de Vries)發現,一種新形態的月見草可以隨機自發生長,並繁殖許多代。他為這樣的變化創造了一個新詞:“突變(mutation)”。正如自然界中的突變可以自發產生一樣,馮·諾依曼允許複製機在複製指令時出錯。複製錯誤有可能導致機器產生可執行的變種,那麼就可能通過自然選擇演化出更復雜的機器。
我們現在知道,生物體就是馮·諾依曼的自我複製機器在真實生命中的一種實現。以DNA序列形式攜帶指令的遺傳磁帶首先被轉錄成相應的信使RNA磁帶,然後輸入到一個通用的構造機——“核糖體”中,核糖體將RNA信息翻譯成相應的氨基酸序列,這些氨基酸序列指定了蛋白質磁帶。反過來,蛋白質磁帶會自發地摺疊成分子裝置,為細胞提供主要的功能。當生物體繁殖時,DNA磁帶被聚合酶複製並從父母傳給後代,這就解釋了遺傳是如何工作的。複製DNA時可能會發生錯誤,導致生物種羣多樣化。最終,一些突變會展現出一種優勢,經過幾代的演化,那些具有優勢的生物體會迅速繁殖並佔據整個種羣。這種突變和自然選擇的循環就是生物學家所説的“達爾文進化論(Darwinian evolution)”——這個過程標誌着生物學和生命的開始。從DNA到RNA,再到蛋白質的信息流,就是弗朗西斯·克里克(Francis Crick)所説的“分子生物學的中心法則(Central Dogma of Molecular Biology)”[7]。
1948年9月20日,在加州理工學院舉行的“大腦行為機制的希克森研討會”上,馮·諾依曼在一次演講中描述了他的自複製機器[1, 3](圖2)。這是在DNA雙螺旋結構被發現的5年前[8],在克里克提出分子生物學的中心法則的12年前[7]。那時,DNA還是遺傳信息載體的主要競爭者。
圖2.(左)1948年宣傳希克森研討會的傳單。(右)與會者合影。後排從左到右分別是 Henry W. Brosin,Jeffress,Paul Weiss,Donald B Lindsley,John von Neumann,J. M. Nielsen,R. W. Gerard,H. S. Liddell。前排分別是Ward C Halstead,K. S. Lashley,Heinrich Klüver,Wolfgang Köhler 和 R. Lorente de No。圖片由加州理工學院檔案管理員Loma Karklins提供。
包括馮·諾依曼的演講在內的研討會內容於1951年被集合成書[3]。根據演講稿,馮·諾依曼清楚地看到了他的自複製機器和生物體之間的聯繫,他指出,“……指令ID大致影響基因的功能。同樣清楚的是,複製機B執行繁殖的基本行為,即遺傳物質的複製,這顯然是活細胞增殖的基本操作。也很容易看出,系統E,特別是ID的任意改變,如何能表現出某些典型的性狀,這些性狀與突變有關,通常是致命的,但有也有可能繼續繁殖。”
馮·諾依曼認為,為了實現自我複製,人們需要一種機制,不是複製機器本身,而是複製一套建造機器的指令,在這一點上,馮·諾依曼的非凡洞察力是公認的。他的邏輯依據是,機器是“變化和反應”(varying and reactive)的,僅僅觀察它就可能導致難以預見的變化。相反,指令帶是“準靜態的”,並且不太可能隨着觀察而改變。因此,由於生物體需要複製,它們會攜帶構建自身的指令,而指導如何構建生物體的指令會比生物體自身的指令更精確地被複制。
今天,我們認為指令是複製來的是非常自然的。指令確實指導機器如何構建指令自身。馮·諾依曼認識到,這樣一個方案會導致一個自指類型的深層邏輯問題。指令必須包括用於構建指令本身的附加指令(稱為A)。然而,因為A是機器的一部分,所以需要提供指定如何製造A的附加指令B。但是接下來,需要C來描述B,以此類推。這最終陷入了一個“惡性循環”,如同一幅包含自身副本的圖片,永無止境。馮·諾依曼將指令與機器的其餘部分分離,並採用一個單獨的設備來複制指令,從而避免了這種惡性循環。複製不需要額外的指令,一個模具本身就提供了鑄造一個雕塑而非其他東西所需的信息。DNA就是自身複製的模版。
通過他的機器,馮·諾依曼回答了生物學中最深刻的問題之一:為什麼所有的生物體都以遺傳分子——如複製的DNA——的形式攜帶自我描述並傳遞給後代?這一特性將生物與非生物區分開來,將生物學與所有其他學科區分開來。許多無生命的自然系統是複雜的;但只有生物才能自我描述(self-description)。馮·諾依曼的機器告訴我們,我們自身攜帶着自我描述的信息,因為指令可以比有機體本身更精確地進行復制,而複製錯誤或突變導致的變異是進化的基礎。DNA的複製是為了避免陷入自指惡性循環的困境。馮·諾依曼不僅為生物學中最大的革命之一奠定了基礎,而且他還告訴我們生物體為什麼是一種基於邏輯原理而以如此的構造鏈接起來的機器。
通過回顧我們得知,很明顯,馮·諾依曼的演講幾乎沒有在生物學界產生影響。希克森研討會的與會者和組織者之一,著名化學家萊納斯·鮑林(Linus Pauling)幾年後將他的注意力投入到解決DNA的結構問題上[9],但他從未提及馮·諾依曼的工作。分子生物學的先驅之一西德尼·布倫納(Sydney Brenner)是一個明顯的例外。早在1952年,他就注意到了馮·諾依曼的工作,但用他自己的話説:“……當時的我還不夠聰明,沒有真正意識到這就是DNA和遺傳密碼的全部內容。”西德尼也是最早發現DNA雙螺旋結構的科學家之一。他説,當他在1953年第一次看到雙螺旋的時候,就想到了生物信息的概念和它與馮·諾依曼的自複製機器的聯繫[10]。西德尼沒有錯過見證馮·諾依曼和圖靈的工作,讚美它們對於生物學的影響[11],但這似乎也沒有對今天的生物學界產生什麼影響。
3 分子計算(Molecular Computation)
我們能把生物體和計算機之間的這種類比推廣到多遠呢?每一種生命現象,包括我們如何感知世界,都源於細胞內生物分子的行為和相互作用。如果這些生命成分的基本行為可以用計算機來描述,那麼我們所稱之為生命的一切都必然是計算的產物。大自然有沒有發明一些生物分子來實現分子計算呢?如果有的話,這些計算解決了什麼類型的問題?
生物計算簡史
生物分子是計算機器的想法可以追溯到20世紀60年代初,當時生物學家弗朗索瓦·雅各布(Francois Jacob)和雅克·莫諾(Jacques Monod)提出,生物分子可以執行編程語言常見的條件語句來控制細菌中的蛋白質生產。在20世紀70年代,查爾斯·貝內特(Charles Bennett) 將RNA聚合酶(將DNA轉化為信使RNA)與圖靈機進行了比較,推測分子可以是更節能的計算機器[13]。但倫納德·阿德曼(Leonard Adleman)又花了20年時間才展示了分子計算的第一個真實的例子,使生物分子作為計算機器的概念具體化。
Adleman利用DNA單鏈可以結合形成DNA雙鏈的特殊性質,解決了一個被稱為“旅行商問題”的算法問題[14]。這個非平凡的問題要求在航線連接的城市之間找到最短路徑,並且每個城市恰好經過一次。通過創造代表城市和航班的DNA分子,然後在試管中組合它們,他可以在幾分鐘內得到答案。
Adleman的工作以後,分子計算已經被用於解決各種算法問題,例如哈密頓路徑問題(Hamiltonian path problem)[14],布爾可滿足性問題(Boolean satisfiability problem)[15]和騎士放置問題(knight placement problem)[16]等。此外,分子計算已被用於從分子和生物磚(biological building blocks)開始設計複雜的邏輯電路,使其能夠應用於藥物篩選、環境監測和疾病診斷[17]等方向。
天然分子(biomolecules)也可以做生物計算嗎?
儘管在分子計算方面取得了非凡的成就,但大多數生物學家並不認為生物分子是計算機器,也不認為它們催化的生化反應是一種計算形式。結構生物學是一個試圖通過在原子尺度上確定生物分子的3D結構來理解它們如何工作的領域,在結構生物學發表的大多數論文中,你不會找到計算機科學語言。結構生物學家尚未接受生物分子作為計算機器的概念,因為迄今為止實現所有的分子計算都依賴於工程生物分子解決算法問題,這些問題與天然生物分子幾乎沒有相關性,並且在自然界的生物分子中也沒有明確的類似物。因此,雖然我們可以用能夠解決哈密頓路徑問題的生物分子來設計計算機,但我們在自然界的生物分子中同樣找不到這樣的程序。
系統生物學
然而,幾十年來我們已經知道天然生物分子可以用來處理信息。在20世紀60年代早期,弗朗索瓦·雅各布(Francois Jacob)和雅克·莫諾(Jacques Monod)對乳糖操縱子(lac operon)進行了開創性的研究,揭示了細菌如何根據糖濃度來調節負責糖分解的酶的水平。在這裏,一種對糖酶特異的阻遏蛋白與相應基因的DNA結合,阻止RNA聚合酶產生糖酶的mRNA。糖分子與阻遏蛋白結合,使其從DNA上脱落,從而產生mRNA和酶。一旦糖分子被消耗,阻遏蛋白就返回到DNA,又會阻斷糖酶的合成。重要的是,這不僅僅是一個開關。通過確定阻遏蛋白分子停留在DNA上或離開DNA的時間比例,糖濃度非常精確地將酶的水平調整到所需,從而建立了一個精確的反饋迴路。
在過去幾十年裏,系統生物學領域已經發現了生物系統中使用的大量邏輯電路,揭示了細胞內信息處理的大量並行性,這是馮·諾依曼當時的思想沒有完全捕捉到的。因此,系統生物學已經將生物分子的信息處理能力建立在堅實的數學基礎上,並且揭示了那些只能通過將生物系統整體地視為許多相互作用的生化反應的網絡來進行建模才能進行解釋的行為[18-20]。這種系統性的方法已經解決了生物學中的許多基本問題,例如,結構、振盪或波如何在同質環境中出現。圖靈在他生命的最後階段為這些努力做出了貢獻。在20世紀50年代早期發表的另一篇具有里程碑意義的論文中,他從理論上展示了兩種化學物質或“形態發生素”(morphogens)如何相互擴散和反應,從而產生空間斑圖,就像豹子皮膚上的斑點從均勻同質的狀態所展開的排列一樣。
因此,幾十年來,分子生物學中的信息處理已經被明確地解決了很多次。然而,儘管系統生物學取得了巨大的進步,生物分子仍然通常被視為將輸入轉換為輸出的黑盒,而沒有提供有關計算其基本步驟的分子描述。我們可能知道軟件,但缺乏對機器的硬件描述,來説明一個生物分子的序列是如何決定它是怎樣處理信息的。結構生物學領域通常提供完成生化反應所需的各種微觀基本步驟的詳細原子描述,但卻很少有人嘗試將天然生物分子的這種行為置於計算機器的背景之下。
4 作為計算機的天然生物分子
圖靈在描述計算所需的原材料時,不知不覺地描述了所有天然生物分子的行為。就像圖靈機一樣,生物分子在“掃描”(scan)底物時,也會在不同的構象(conformational)或化學“狀態”(states)之間轉換。每完成一次不同的操作,比如添加或刪除一個化學基團,就發生一次這樣的轉換。正如算法需要一系列合乎邏輯的順序步驟來找到解決方案一樣,生物分子也需要經過許多邏輯的和順序的步驟來催化多步驟的生化反應。因此,生物分子的行為方式是因為它們是計算機,它們催化的反應是一種計算形式。
底物掃描
為了方便起見,圖靈將寫在2D紙上的信息簡化為1D磁帶上包含若干0或1的線性數組。然後採用連續的觀察來掃描磁帶,一次一個字符。圖靈認為這樣設置比較合理,因為冗長的符號很難“一眼”看到。生物分子還通過一種稱為“分子識別”(molecular recognition)的過程掃描底物分子。與圖靈機不同的是,它們一次觀察底物分子上的幾個官能團(符號)。此外,符號不限於二進制(0或1),也不必須以1D形式排列。相反,大自然在3D場景將數百種不同的化學基團鏈接,創造出數千種形狀、大小和電子特性不同的底物。然後,生物分子通過活性位點與底物進行物理結合,從而一目瞭然地解碼該3D信息。這些活性位點具有最佳定位的功能基團,可以與底物上的化學基團相互作用。
當正確的底物以正確的方向觸及活性位點,就會像鑰匙插入鎖一樣,識別並粘着在生物分子上,進而引發可產生計算行為的變化。其他分子會被彈開,不起作用。大自然使用分子擴散作為一種非常有效的機制來穿越短距離,也作為迴路連接的一種更經濟的替代品。蛋白質掃描細胞環境中大量的底物分子,每秒鐘被來自四面八方的底物分子不斷轟擊數萬億次。
有序操作
生物分子通常在一個底物上執行一種特定的操作,比如,破壞一個特定的鍵,之後釋放產物。那麼,生物分子如何執行復雜計算所需的多個有序操作呢?演化發明了一個巧妙的解決方案:使一個生物分子的產物成為另一個生物分子的底物,如此進行下去。在生物計算中,磁帶可以從操作一個轉換表的一台機器上掉下來,並跳到操作第二個轉換表的第二台機器上。
狀態和記憶
通過賦予機器多種狀態,圖靈在不知不覺中解釋了生物分子最神秘的特性之一。教科書將DNA等生物分子描述為靜止的物體,但事實並非如此。在短短一秒鐘內,DNA就會自發地轉變成數千種不同的結構,稱為“構象狀態”(conformational states)。甚至它的化學成分也可以通過表觀遺傳修飾(epigenetic modifications)而改變。因此,雖然我們可以為一棟建築繪製建築藍圖,但當涉及到生物分子的分子世界時,我們需要指定一個具有許多不同構象和化學可能性的景觀,每種可能性都有特定的概率[22]。這種景觀使生物分子能夠在不同的狀態之間轉換,這是圖靈機的基本特徵。
圖靈機模型告訴我們,生物分子之所以可以形成不同的狀態,是因為它們提供了一種記憶形式,使它們能夠在從一個邏輯步驟移動到下一個邏輯步驟時“記住”自己在做什麼。事實上,可以存儲的信息量與狀態數之間存在簡單的數學關係。一個比特的內存有兩個狀態,兩個比特有四個狀態,n個比特有2n個狀態。因此,具有n個構象或化學狀態的生物分子可以編碼log2(n)比特或log256(n)字節的信息(1字節有28=256個狀態)。在熱力學領域,log(n)也被稱為熵,是無序的度量。然而,正如我們將看到的,要想把這個潛在的巨大的構象狀態庫作為一種記憶形式來訪問,需要有專門增加給定狀態概率的方法。
圖靈還告訴我們,生物分子改變狀態是為了“改變它們的意識狀態”。因此,根據其狀態的不同,相同的生物分子可以執行不同的任務。例如,DNA的雙螺旋結構用於存儲遺傳信息,但複製DNA則需要單鏈結構。因為不同的構象和化學狀態以不同的概率發生,所以生化反應的命運並不是一成不變的,而是可以分支成具有不同概率的幾種不同結果。這些結果中包括一些罕見事件,例如複製DNA時的複製錯誤,這可能導致對生命和演化至關重要的突變。由於生物分子的行為和它們所催化的反應是概率性的,我們永遠無法預測動物的行為;我們所能做的就是把概率歸於未來事件。
5 生物計算(Biological Computation)的一個具體例子
為了讓大家相信生物分子實際上就是計算機器,我嘗試把生物分子的行為簡化成一個邏輯轉換表,就像圖靈為他的機器選擇的那樣。我選擇了馮·諾依曼磁帶自複製機的生物學類似物——DNA聚合酶,這種酶的任務是複製DNA,在進化中處於中心地位。
像圖靈機一樣,DNA聚合酶通過連續觀察來掃描DNA模板鏈中的核苷酸,將遇到的每個核苷酸放入其結合口袋(binding pocket)中。然後,聚合酶通過與溶液中的核苷酸三磷酸單體分子G、C、A和T物理結合,和結合袋中的核苷酸形成鹼基對,從而實現對它們的掃描。之後聚合酶合併(“寫入”)結合的核苷來合成互補的DNA鏈副本。為了完美地複製DNA,聚合酶必須只合並滿足沃森-克里克配對規則的單體:如果核苷酸是“G”則結合“C”,如果是“C”則結合“G”,如果是“A”則結合“T”;否則拒絕該單體。但是聚合酶不能“看到”單體;那麼它是如何實現這些規則的呢?
圖3.(左)典型的沃森-克里克鹼基對形成一個矩形,被稱為“沃森-克里克幾何”(Watson–Crick geometry)。(中)非經典錯配,如G-T和A-C,形成被稱為“擺動”(wobble)構象的非沃森-克里克幾何形狀。(右)錯配,可以通過鹼基的互變異構化(tautomerization of the bases)(用星號表示)得到類似沃森-克里克幾何的形狀。
沃森-克里克鹼基對都有一個共同的矩形形狀,而所有其他錯配的鹼基對,如G-T和A-C形成一個不規則的幾何形狀(圖3),聚合酶使用這些幾何差異來區分正確(矩形)和不正確(不規則)的單體(圖3)。然後,聚合酶週期性地通過一系列構象來實現轉換規則“只接受形成矩形鹼基對的單體”。下面是它的工作原理。
圖4. 高保真DNA聚合酶的核苷酸合併機制。注意,這個機制可以因聚合酶而異。給出的實例代表聚合酶β和ε的機制[23-25]。(A)沃森-克里克鹼基對的正確合併。(B)誘導擬合子程序增加了高保真聚合酶合併核苷酸的精度。(C)通過鹼基互變異構實現的錯配可導致複製錯誤,如果不加以糾正就會導致突變。
聚合酶構象景觀包括:高度可能的“打開”狀態,其中蓋子(lid)打開,允許單體進入;和一個不太可能的“關閉”狀態,其中蓋子關閉,阻止單體進入(圖4A)。當正確匹配的核苷酸進入結合口袋時,它與模板鏈中的核苷酸形成矩形沃森-克里克鹼基對。沃森-克里克鹼基對傾向於關閉蓋子,就像蓋子與匹配的容器合在一起一樣。因此,閉合狀態現在是最可能的構象(圖4A)。這就是聚合酶如何執行轉換規則:“如果鹼基對具有矩形形狀,則關閉蓋子”:
就像圖靈機一樣,關閉狀態允許聚合酶“記住”:它已經消耗了正確的單體。關閉狀態存儲這個中間結果。處於關閉狀態的聚合酶在其活性位點有正確的單體結合作為輸入,轉變為具有催化活性的構象狀態(圖4A)。因為只有正確的沃森-克里克鹼基對才能通過這一步,它有助於防止錯配的鹼基對進行合併。此行為由以下轉換規則描述:
一旦處於催化活性狀態,單體就被化學連接併合併到DNA鏈增長中的互補拷貝鏈中(圖4A)。其他所有的步驟都是可逆的,而只有這個步驟不可逆並且消耗能量,因為它需要產生信息並熵減。能量由進入的核苷三磷酸單體以化學鍵的形式提供,當單體合併時,化學鍵斷裂,釋放其合併所需的能量(圖4A)。這種能量還可以幫助引導聚合酶沿着DNA磁帶移動,這樣它就可以按照下面所描述的事件序列掃描下一個核苷酸。
合併的單體作為輸入與未合併的單體不同。合併的單體在催化狀態下引發不同的行為,導致聚合酶撤銷催化結構並回到關閉狀態(圖4A):
區分合並的和未合併的單體在邏輯上很重要,否則,聚合酶將停留在催化狀態,無法回收或無法與後來的單體合併。同樣,合併的單體必須在關閉狀態下引發新的響應,否則,如果按照未合併的單體處理,聚合酶將在關閉狀態和催化狀態之間一直循環下去,計算機科學家稱之為“死循環”。實際上,關閉狀態通過轉變為開放狀態而不是催化狀態來響應合併的單體(圖4A)。
最後,合併的單體還引發不同於開放狀態的行為,使得DNA聚合酶沿着DNA移動一個位置以掃描下一個核苷酸(圖4A)。
此時,所有中間結果都將被丟棄,從而為第二個週期釋放內存。這個循環不斷重複,直到聚合酶遇到空白,複製過程停止。當DNA聚合酶程序運行時,計算的結果是DNA鏈的一個互補副本鏈。
誘導配對的子程序
像許多酶一樣,聚合酶非常精確,平均每複製10萬個字母中只會出現一個錯誤(注:這隻反映了核苷酸的錯誤結合,不包括校對)。聚合酶採用另一套涉及不同構象狀態的轉換規則來主動拒絕不正確的單體。許多酶使用的這種子程序被稱為“誘導配對”(induced- fit)。下面是它的工作原理。
當不正確的單體結合到聚合酶口袋時,它與模板核苷酸配對,形成不匹配的鹼基對,具有不規則的非矩形形狀。這種錯配使蓋子無法完全閉合(圖4B),它只能部分關閉以形成“半開”(ajar)的狀態:
作為構象景觀中的另一種狀態,半開狀態是無活性的,不能合併單體(圖4B)。如果不正確的單體結合到口袋,聚合酶使用半開狀態來主動引誘構象遠離催化活性的閉合狀態。然後半開狀態又恢復到打開狀態。
部分關閉然後打開的循環一直持續,直到不匹配的單體最終從口袋裏掉出來,這個過程可以重新開始。