一針輝瑞疫苗,其實是2萬億段代碼:程式員逆向重建mRNA源代碼
2021年01月06日10:10

  來源:返樸

  從輝瑞疫苗被批準以後,它就被置於世界的聚光燈下。近日,一位程式員從計算機科學的角度,對輝瑞疫苗的設計進行了‘逆向工程’,文章引起不小的反響,從信頭 (Header)、元數據(Metadata),到幫助偽裝躲過人體免疫系統防火牆的 Ψ 分子,一支疫苗有2萬億段重複的代碼,我們看到了計算機與生物學那頗為神秘的聯繫。

  輝瑞疫苗,逆向工程?

  聽起來有些不可思議,但一位程式員從計算機科學的角度深度剖析了Biotech/輝瑞的mRNA新冠疫苗BNT162b設計,並撰寫了這篇文章—— Biotech/輝瑞SARS-CoV-2疫苗的源代碼的反向工程(Reverse Engineering the source code of the BioNTech/Pfizer SARS-CoV-2 Vaccine)。(以下簡稱輝瑞疫苗)

  讀過後,你或許會開始會讓你對生命和計算機世界產生奇妙的聯繫。

  簡單的生物學背景

  讓我們先來回顧一下生物學知識,這裏,我們將透過程式員的眼睛看待生命編碼。

  DNA和程式的種種相似的地方,但與計算機使用0和1不同,生命使用A、C、G和U/T來編碼。

  在自然界中,A、C、G和U/T都是分子,以鏈的形式儲存在DNA(或RNA)中。

  在計算機中,我們把8位編入一個字節,字節是處理數據的典型單位。

  自然界將3個核苷酸組合成一個密碼子,而這個密碼子是典型的處理單元。

  密碼子包含6位信息 (每個DNA字符2位,3字符= 6位,這意味著2⁶ = 64種不同密碼子值) 。

  其次,疫苗是一種液體,我們該如何談論源代碼?

  源代碼!

  讓我們從疫苗的一小部分源代碼開始,下圖為世界衛生組織公佈的BNT162b前500個字符。

  mRNA新冠疫苗BNT162b的核心就是這個數字代碼。它有4284個字符長,在疫苗生產過程的最開始,將這段代碼上傳到DNA打印機,然後打印機將磁盤上的字節轉換成實際的DNA分子。

DNA打印機,型號BioXp 3200
DNA打印機,型號BioXp 3200

  從這樣的機器中產生了少量的DNA,在經過大量的生物和化學處理後,最終成為疫苗瓶中的RNA。

  RNA就像計算機的RAM一樣,但是,RNA非常脆弱,所以,輝瑞的mRNA疫苗必須儲存在最深處的深冷庫里。

  每個RNA字符的重量為 0.53·10⁻²¹克,一針疫苗里有2萬億段重複的代碼,相當於25 Pb的數據量。

  讓我們來看世衛組織文件披露的一頁:

  首先,cap是什麼?就像你不能在計算機上的一個文件中輸入操作碼然後運行它一樣,生物操作系統需要頭文件、鏈接器和調用約定之類的東西。

  疫苗的編碼由以下兩個核苷酸開始:

  這可以與以MZ開頭的DOS和Windows可執行文件,或以#!開頭的UNIX腳本進行比較。在生活系統和操作系統中,這兩個字符都不會以任何方式執行。但他們必須在那裡,否則什麼都不會發生。

  mRNA ‘帽’有許多功能,它讓代碼看起來合法,從而保護它不被我們身體里的免疫系統破壞。

  未翻譯區5 ‘UTR

  生命由蛋白質組成。當RNA轉化為蛋白質時,這被稱為翻譯。

  RNA分子只能從一個方向讀取。令人困惑的是,閱讀開始的部分被稱為5‘UTR。讀數在3 ’UTR停止。

  UTR(Untranslated Regions) 即非翻譯區,是mRNA分子兩端的非編碼片段:

  在這裏,我們遇到了第一個驚喜。正常的RNA特徵是A、C、G和U。U在DNA中也被稱為‘T’。但在這裏我們發現了一個ψ。

  怎麼回事?

  這是關於疫苗的一個特別聰明的地方。我們的身體運行著一個強大的反病毒系統,由於這個原因,細胞對外來RNA非常冷淡,並且在它做出任何反應之前就要破壞它。

  這對我們的疫苗來說是個問題——它需要偷偷通過我們的免疫系統。經過多年的實驗,人們發現,如果RNA中的U被一種稍作修飾的分子所取代,我們的免疫系統就會失去興趣。

  所以在輝瑞疫苗中,每個U都被1-甲基-3 ‘ -偽尿酰(ψ)所取代,它能幫助我們的疫苗逃過免疫系統這一關。

  在計算機安全領域,我們也知道這個訣竅:有時可能傳輸某樣東西,雖然這會引起防火牆和安全解決方案的懷疑,但這仍然被後端服務器接受,然後可能被駭客攻擊。

  很多人問,病毒能否也用ψ技術來打敗我們的免疫系統?

  這是不太可能的。因為生命根本沒有製造1-甲基-3 ‘ -偽尿酰核苷酸的機製,而病毒需要依靠生命的機製來繁殖自己。而mRNA疫苗在人體內迅速降解,而ψ修飾後的RNA不可能在那裡複製。

  回到5 ‘ UTR。這51個字符是做什麼的?如同自然界的一切事物一樣,幾乎沒有任何事物有一個明確的功能。

  當我們的細胞需要將RNA翻譯成蛋白質時,這需要使用一種叫做核糖體的機器。核糖體就像蛋白質的3D打印機。它攝取一串RNA,在此基礎上釋放出一串氨基酸,然後摺疊成蛋白質。

  這就是我們在上面看到的情況。底部的黑色絲帶是RNA。出現在綠色部分的緞帶是正在形成的蛋白質。進出的東西是氨基酸和使它們適合RNA的適配器。

  這個核糖體需要坐在RNA鏈上才能發揮作用。一旦就位,它就可以開始根據它攝入的RNA進一步形成蛋白質。從這一點上,你可以想像它還不能讀出它首先降落的地方。

  這隻是UTR的功能之一:核糖體著陸區。UTR提供‘導入’。

  S糖蛋白信號肽

  如前所述,疫苗的目標是讓細胞產生大量刺突蛋白。到目前為止,我們在疫苗源代碼中遇到的大多是元數據和調用約定。現在我們進入病毒蛋白質的領域。

  然而,我們還有一層元數據需要處理。一旦核糖體製造出一個蛋白質,這個蛋白質仍然需要去某個地方。這是編碼在‘S糖蛋白信號肽(擴展先導序列)’。

  瞭解這一點的方法是,在蛋白質的開頭有一種地址標籤,作為蛋白質本身編碼的一部分。在這個特定的例子中,信號肽表明這種蛋白質應該通過‘內質網’離開細胞。

  ‘信號肽’不是很長,但是當我們看代碼時,病毒和疫苗的RNA是有區別的:

  怎麼回事呢?我們知道,在生物學中,三個RNA字符組成一個密碼子。每個密碼子都對特定的氨基酸進行編碼。而疫苗中的信號肽與病毒本身的氨基酸完全相同。

  那麼RNA是怎麼不同的呢?

  有4³=64個不同的密碼子,因為有4個RNA字符,一個密碼子中有3個。然而只有20種不同的氨基酸。這意味著多個密碼子對同一種氨基酸進行編碼。

  下表映射了RNA密碼子和氨基酸之間的編碼關係:

RNA密碼子表丨維基百科
RNA密碼子表丨維基百科

  在這個表中,我們可以看到疫苗(UUU -> UUC)的修改都是同義的。疫苗的RNA編碼不同,但會產生相同的氨基酸和蛋白質。

  如果我們仔細觀察,我們會發現大部分的變化發生在密碼子的第三個位置,上面有一個‘ 3 ’。如果我們檢查通用密碼子表,我們會發現第三個位置通常與產生的氨基酸無關。

  所以,這些變化是同義的,但為什麼會有這些變化呢?仔細觀察,我們發現除了一個變化之外,所有的變化都會導致更多的C和G。

  你為什麼要這麼做?如上所述,我們的免疫系統會對‘外源性’RNA進行攻擊,為了逃避檢測,RNA中的‘U’已經被ψ所取代了。

  然而,事實證明,含有更多G和C的RNA也能更有效地轉化為蛋白質,這已經在疫苗RNA中實現了只要有可能就用G和C替換許多字符。

  真正的刺突蛋白

  疫苗RNA的下3777個字符類似於‘密碼子優化’,可以添加大量的C和G。

  這裏我們看到同義的RNA變化。例如,在第一個密碼子中CUU變成了CUG。這給疫苗增加了另一個‘G’,我們知道這有助於提高蛋白質的生產。

  當我們比較疫苗中的整個刺突蛋白時,所有的變化都是同義的。除了兩個,這就是我們在這裏看到的。

  上面的第三和第四個密碼子代表了實際的變化。那裡的K和V氨基酸都被P或脯氨酸所取代。對於‘K’,這需要改變三次(‘!!’),而對於‘V’,這隻需要改變兩次(‘!!’)。

  事實證明,這兩個變化極大地提高了疫苗的效率。

  那麼這裏發生了什麼?如果你看一個真正的冠狀病毒粒子,你可以看到刺突蛋白:

  這些刺釘被安裝在病毒體內 (‘核衣殼蛋白’)。但問題是,我們的疫苗只會產生刺突,我們不會把它們植入任何一種病毒體內。

  結果是,未經修飾的,獨立的刺突蛋白崩潰成不同的結構。如果作為疫苗注射,這確實會使我們的身體產生免疫力。但只針對崩潰的刺突蛋白。

  真正的冠狀病毒是帶著尖刺的。在這種情況下,疫苗不會很有效。

  那麼該怎麼辦呢?

  2017年,有人描述了如何在正確的位置放置一個雙脯氨酸替代,將使SARS-CoV-1和MERS S蛋白形成‘預融合’結構,即使不是整個病毒的一部分。這是因為脯氨酸是一種非常堅硬的氨基酸。它就像一種夾板,在我們需要向免疫系統展示的狀態下穩定蛋白質。

  蛋白質的末端,下一步

  如果我們瀏覽其餘的源代碼,我們會在刺突蛋白的末端遇到一些小的修改:

  在蛋白質的末端,我們會發現一個‘停止’密碼子,在這裏用小寫的‘s’表示。這是一種禮貌的說法,表示蛋白質應該到此為止。最初的病毒使用UAA終止密碼子,疫苗使用兩個UGA終止密碼子,也許只是為了更好的措施。

  3 ‘UTR

  就像核糖體在5 ‘端需要引入,我們發現了’ 5UTR,在蛋白質的末端我們發現了一個類似的結構,稱為3 ‘ UTR。

  關於3 ‘ UTR有很多說法,但這裏引用維基百科的說法:‘3 ’ UTR在基因表達中起著至關重要的作用,它影響mRNA的定位、穩定性、輸出和翻譯效率。儘管我們目前對3 ‘ -UTRs有瞭解,但它們仍然是相對神秘的。’

  我們所知道的是,某些3 ‘ UTR在促進蛋白質表達方面非常成功。根據世衛組織的文件,輝瑞疫苗3 ’ UTR是從‘split (AES) mRNA的氨基末端增強子和編碼12S核糖體RNA的線粒體中提取的,以保證RNA的穩定性和高總蛋白表達’。

  The AAAAAAAAAAAAAAAAAAAAAA end of it all

  mRNA的最末端是聚腺苷化的。這是一種以‘AAAAAAAAAAAAAAAAAAAAAA’的奇特結尾。

  似乎,就連mRNA似乎也受夠了這個糟糕的2020年!

  mRNA可以重複使用很多次,但在這個過程中,它也會在末端失去一些A。一旦A耗盡,mRNA就不再起作用而被丟棄。這樣,‘多聚腺苷酸尾(Poly-A Tail)’就可以防止其退化。

  有研究表明,對於mRNA疫苗來說,A的最佳數量是多少。我在公開文獻中讀到,這個數字在120左右達到了頂峰。

  BNT162b2疫苗的是:

  這是30個A,然後是‘10個核苷酸連接體’(GCAUAUGACU),再後面是70個A。

  太長不看版

  如果上面的一切讓你感到雲裡霧裡,作者在這裏為您準備了一份‘太長不看版’:

帽子來確保RNA看起來像普通的mRNA

已知的成功和優化的5 ‘ UTR

密碼子優化信號肽,將刺突蛋白送到正確的位置(100%從原始病毒複製)

原始刺的密碼子優化版本,有兩個‘脯氨酸’替代,以確保蛋白質以正確的形式出現

一個已知的成功和優化的3 ‘ UTR

一個有點神秘的多聚腺苷酸尾(Poly-A Tail),裡面有一個無法解釋的‘連接器’

密碼子優化在mRNA上增加了大量的G和C。與此同時,用ψ(1-甲基-3 ‘ -偽尿酰ψ)而不是U來幫助逃避我們的免疫系統,因此mRNA會停留足夠長的時間,所以我們實際上可以幫助訓練免疫系統。

  文章在reddit上引起了廣泛討論,學科間的邊界似乎也越來越模糊。

  一位網友看完後直言:我通過稍微修飾U核苷酸,可以使RNA越過我們的‘安全系統’。我們的安全系真的糟透了!

  你呢?你怎麼看?

關注我們Facebook專頁
    相關新聞
      更多瀏覽