從「語詞」到「子程序」#

把基因(gene)比作語詞(word)很有用,但既然我們剛剛藉電腦的插曲補足了背景知識,就有一個更好的類比可用:把基因比作軟體的子程序(subroutine)

在傑作《祖先的故事》(The Ancestor’s Tale)中,道金斯(Richard Dawkins)把這個洞見歸功於另一位傑出的演化寫作者瑞德利(Matt Ridley)——後者在《先天,後天》(Nature via Nurture)一書裡指出了基因與軟體子程序之間的深層相似。丹尼特(Daniel Dennett)表示,自己嘗試改寫這段文字時,總是為了一點點原創性而犧牲清晰與生動,因此徵得同意後,直接引用道金斯書中「未突變」的原版。

以下整段為道金斯《祖先的故事》(2004,頁 155–156)的引文濃縮。核心主張:基因更像可重複呼叫的工具箱子程序,而不像只用一次的句子。

基因組像「字典」,不像「說明書」#

我們定序出來的基因組(genome),大部分並不是打造人或老鼠的那本「說明書」或「主程式」——雖然其中確實有部分是。如果整個基因組都是說明書,我們或許真的會預期人類的程式比老鼠的更龐大。

但基因組的大部分,更像是寫這本說明書時可動用的字詞字典,或者說,是主程式所呼叫的那一整組子程序。

  • 就像《塊肉餘生記》(David Copperfield)用到的字詞清單,幾乎和《麥田捕手》(The Catcher in the Rye)一樣——兩者都取自一位受過教育的英語母語者的詞彙庫。
  • 兩本書真正的差別,在於這些字詞被串接起來的順序

同理,造一個人和造一隻老鼠,兩套胚胎發育都取自同一本「字典」:哺乳類胚胎發育的常規詞彙。人與老鼠的差異,來自這些共享詞彙被部署的順序、發生的身體部位與時機

差異不在於「有哪些基因」,而在於這些共享基因被啟動的順序、位置與時機。這一切由一小群「控制基因」主導——它們的職責是在複雜而精密計時的層層串級中,去開關其他基因。這類控制基因只佔基因組中的少數。

「順序」指的不是染色體上的排列#

別把「順序」誤解成基因沿染色體排列的先後。

除少數顯著例外,基因在染色體上的排列順序,就像詞彙在單字表中的排列一樣任意——通常按字母排,但(尤其在旅遊會話手冊裡)有時按方便性排:機場好用的字、看醫生用的字、購物用的字,諸如此類。

基因儲存在染色體上的順序並不重要。真正重要的是:當細胞機制需要某個基因時,能找到正確的那一個——而它做到這件事的方法,如今正被愈來愈清楚地理解。

為什麼「句子」是壞類比#

語詞類比有一處會誤導人:語詞比基因短,因此有些作者把每個基因比作一個句子(sentence)。但句子是不好的類比,理由不同:

  • 不同的書並不是靠重新排列一組固定的句子拼成的;大多數句子是獨一無二的
  • 基因則像語詞、而不像句子——會在不同脈絡中被一再重複使用

比起語詞或句子,更好的類比是電腦裡的工具箱子程序

延伸案例:Mac 的 ObscureCursor 子程序

道金斯以早期 Mac 電腦為例。Mac 的工具箱(toolbox)常式儲存在 ROM(唯讀記憶體)或開機時永久載入的系統檔中,共有數千個,每個負責一種可能在不同程式裡、以略為不同的方式被一再需要的特定操作。

例如名為 ObscureCursor 的常式,會把游標隱藏起來,直到下次移動滑鼠為止。你不會察覺,但每次你開始打字、滑鼠游標消失時,這個 ObscureCursor「基因」就被呼叫了一次。

Mac(以及 Windows 上的仿效版本)所有程式共有的熟悉功能——下拉選單、捲軸、可拖曳縮放的視窗等——背後靠的都是這類工具箱常式。

為什麼專家一眼就能認出哺乳類基因組#

這一切也解釋了:為什麼專家能輕易辨認出哺乳類的基因組。

它擁有一整套哺乳類工具箱。而這套工具箱除了製造哺乳類的專門工具外,還包含來自爬蟲類工具箱、魚類工具箱、甚至蠕蟲工具箱的工具。

工具箱裡最古老的那些工具,為一切生物所共享——包括細菌。生命的深層連續性,就藏在這些被反覆沿用的子程序裡。