Nat. Commun. | 序列到功能的深度學習框架加速工程核糖調節劑設計和優化

2021-02-14 DrugAI

今天給大家介紹由哈佛大學和劍橋大學的研究人員聯合發表在Nature Communications的一篇文章。由於對設計規則的理解有限,設計全新的生物迴路組件仍然是一項具有挑戰性的工作,支點開關(Toehold Switches)的設計也面臨相似的問題。針對上述情況,作者提出了兩種深度學習架構——STORM和NuSpeak,這二種架構使用了卷積過濾器,注意力圖和電子誘變技術用於描述和優化支點。實驗結果證明,即使在訓練數據比較稀疏的情況下,通過遷移學習設計的支點傳感器,仍然具有改進的性能。

合成生物學的發展改變了生物技術範式,儘管研究人員已經成功地從自然存在的生物迴路組件中分離並改編模板,但單個生物迴路的開發可能需要數周的篩選和微調。計算機工具可以幫助建模和重新設計核酸傳感器(例如核糖開關),用於解決生物迴路部件預測和設計複雜性。利用計算機篩選,可以將天然存在的和重新設計的合成組件集成到工程生物系統中。

支點開關(Toehold Switches)是一種特別通用的合成核糖調節劑,能夠通過線性-線性雜交相互作用檢測,並響應RNA分子的存在,儘管支點開關已成為合成生物學工具包中有效的組成部分,但由於可用的支點開關數量少以及缺乏實現最佳性能的有效設計規則,對開關設計的廣泛理解受到了限制。研究人員開發的基於序列的計算工具能夠在實驗驗證之前預測RNA的二級結構,但當將其應用於多狀態閾值開關時,預測效果較差,並且耗時長。

為了改進支點開關的設計和預測,作者從更廣泛的機器學習領域中汲取了靈感。作者構建了兩個互補且正交的深度學習模型來揭示支點設計規則,並且與Angenent-Mari合作設計了,與人類基因組元素,RNA病毒和隨機序列互補的支點數據集。此外,作者將這兩個模型擴展到重新設計表現不佳的支點,從而創建了基於NLP,以核苷酸為中心的語言模型(NuSpeak)和基於CNN和序列的支點優化與重新設計模型(STORM),分別優化了病原體傳感器和作為合成迴路組件的支點。

作者和Angenent-Mari共同設計了包含244,000個支點開關的數據集,包括病毒和人類基因組序列以及隨機序列,其中91,534個開關在實驗表徵後符合定義明確的質量控制標準。如圖c,d,作者進行了傳統的生物信息學表達研究,發現高性能和低性能序列中,核苷酸組成不同。標誌為了進一步了解序列編碼部分的變化如何影響支點表現,作者對讀框內胺基酸進行了更廣泛的分析,讀框內終止密碼子在高性能序列的N末端發生的頻率較低,較小的疏水性胺基酸(例如纈氨酸,丙氨酸和甘氨酸)在高性能序列的N端比在低效胺基酸序列中更常見。為了闡明良好支點和不良支點之間的任何宏觀序列模式,作者利用CGR提供了一種信息豐富且無損的編碼方案,並觀察到表現良好的A富密碼子的富集。

GC含量對於ON和OFF狀態穩定性的強度很重要,作者將性能最高的序列的GC含量分布與所有序列的GC含量分布進行了比較,結果表明,成功的開關可能具有20%至60%的可接受GC含量範圍。此外,作者對表現最佳的序列中的MFE分布與所有序列的分布進行了評估,高性能序列的MFE分布在統計上比所有序列都高。儘管最上層序列在GC含量和MFE分布上均顯示出統計學上的顯著變化,但由於它們的可接受值範圍廣,這些屬性缺乏足夠的預測能力。

如圖1.b所示,作者構建了一個以RNA序列作為輸入的CNN,採用兩個卷積層來識別輸入序列中的合理基序和部分基序. 為了查看「黑匣子」內部,作者選擇直接可視化訓練後模型的權重和激活函數,將第一個卷積層「拆箱」,可視化模型認為重要的特徵,方法是將從輸入序列中學到的濾波器權重解釋為序列標誌(圖2a)。為了了解卷積濾波器的趨勢,作者對CNN進行了20次訓練,並探索了濾波器組合中三聚體的頻率(圖2b)。當與均勻分布下的預期值進行比較時,「 CCC」三聚體的出現頻率比預期高出近2.5倍,這表明該模型可以學習該基序以改善預測。此外,訓練好模型將學會忽略實驗節點中過度表現的序列(例如,AGA和GAG)。

同樣,作者還構建了一種編碼器/解碼器體系結構來學習支點序列語言,其中每個k-mer被視為「單詞」或「令牌」,每個支點序列是一個「句子」。編碼器為輸入語料庫中每個唯一標記,學習有意義的,與上下文相關的表示形式,然後可以使用線性分類層進行擴展,以預測給定支點的好壞。當將表示向量映射回解碼器擴充時,完整的LM可以在語言空間內生成任意長度的有意義序列。作者首先在計算機生成的400萬個合成支點上訓練了LM。為了確定LM是否已學會了支點序列的有意義表示,作者將一個支點序列的400維表示映射到具有UMAP41的降維流形上(圖2c),並將其與加擾和混洗方法進行比較。作者表示,真正的支點序列和二維流形上的控制項之間沒有重疊,這表明LM捕獲了一個支點序列中基序順序的重要性。此外,作者使用其他支點數據集來訓練序列分類器。圖2d顯示,分類器將表現良好的支點和劣質支點分為兩類,分類概率接近0.5的序列會填充決策邊界,預測性分別比使用混洗和加擾的支點分類器高約3.7倍和約6.2倍,說明了序列基序順序對於區分支點性能至關重要,模型已學會了除了k-mer頻率以外的更多信息。

為了了解支點序列中的變化如何影響模型預測,作者對2500個隨機實驗支點進行了誘變掃描。對於支點中的每個位置處的所有四個可能鹼基對進行了突變,並計算了基於CNN模型的ON(圖2e)和OFF(圖2f)預測的標準偏差。在位置15、18和21處,效應大小的峰值反映了序列標誌中的重要位置,表明該模型了解了核苷酸的位置重要性。同時,在每個位置用隨機核苷酸對500個隨機選擇支點進行序列突變,然後反饋到LM中以計算分類概率(圖2g),與先前的突變分析相呼應,位置26–30被證明對支點表現有最大的影響。為了確定模型的決策過程並進一步確定支點序列中的重要區域,作者首先對一組5000個隨機取樣的支點(圖2h)計算了語言模型的自注意力。自注意圖表明轉換區的最後12個核苷酸,對分類決策影響最大。這些結果反映在由CNN模型計算的顯著性圖上,作者在其中評估了100個隨機序列中每個位置對最大化ON值(圖2i)和最小化OFF值(圖2j)的重要性。在這裡,通過對每個位置的核苷酸之間的梯度求和來計算出較高的顯著性,表明該核苷酸在模型的ON或OFF預測過程中被認為更具影響力。為了了解序列顯著性是否隨ON或OFF預測的實驗值變化,評估了高表現和低表現支點定點集的顯著性圖。表現不佳的支點位圖在前12個核苷酸中表現出的活化程度與它們的高性能對應物相似,表明該模型學習了支點不同區域與預測功能之間的關係。

為了擴大在同一任務上兩個模型體系結構之間的比較,除了基於CNN的模型如何預測ON和OFF狀態,作者還系統地評估了語言模型如何針對三個ON / OFF閾值(圖3a,補充圖S5)對良好和不良支點進行分類。(圖3b–d)。實驗結果表示,所有模型僅基於開關ON值就具有較高的相關度量。這些結果表明,模型能夠更輕鬆地學習區分高ON值的特徵。作為一個附加的驗證實驗,在分類器訓練階段保留了分塊病毒基因組獲得的對應支點,然後將這些序列輸入經過訓練的模型中,並對預測結果進行評分,在感測20個不同病毒基因組的支點上觀察到相似的性能(平均MCC〜0.50)。此外,根據更成熟的現成方法評估了模型。當將LM與其他常用的基於tf-idf或skip-gram詞嵌入模型進行比較時,skip-gram模型比tf-idf模型的預測值平均高出1.8倍。LM的性能明顯優於所有其他基於詞嵌入的體系結構,包括雙向LSTM和self-attention。為了闡明模型是否飽和,作者計算了兩組架構的學習曲線(圖3e–g)。儘管對較小的數據集進行了訓練,但相對於加擾和混洗的序列,兩個模型都能夠生成有意義的預測,總的來說,這些數據證明了這些體系結構在訓練比預期少得多的數據時的強大功能。

 考慮到語言模型和CNN架構的獨特優勢,作者將這兩種架構都整合到一起,設計可以最佳地檢測任何任意核酸序列的節點(圖4a)。作者在8個較小的168個序列集中探索模型性能,這些序列已在包含游離觸發RNA而非融合觸發的背景下進行了測試。經過預訓練的LM在數據集上表現不好,作者通過在測試數據集上微調預訓練語言模型來構建更具預測性的模型。作者將168個自由觸發序列作為第二個較小的訓練集。研究表明,從任意數量的層傳遞權重可以提高重新訓練模型的準確性,微調後的模型提高了預測準確率。作者還對外部驗證集上模型的性能感興趣,評估了24個看不見的Zika節點的等級相關性,與之前的模型相比,僅在168個自由觸發序列上進行訓練的模型,以及使用初始訓練後的權重初始化但未凍結的轉移學習模型後,凍結權重可實現最高的等級相關性。藉助這些更具預測性的模型,作者將重新訓練的語言模型和基於CNN的模型集成早一起,可以平鋪任何基因組序列,並返回按其預測的開/關值排序的所有可能的支點傳感器。

為了說明方法價值,並在概念驗證演示中解決對傳感器的迫切需求,這些傳感器可以基於病原體基因組RNA快速檢測正在出現的傳染病,作者基於在SARSCoV-2基因組中的獨特性和與其他已知人類呼吸道疾病的正交性,確定了四個感興趣的區域,通過LM模型和基於CNN的模型共同選擇了支點序列,並通過實驗評估了預測結果。對於共同模型和單獨的轉移學習CNN(圖4g,h),作者發現「預測好的」和「預測不好的」傳感器之間存在顯著分離,這與模型結果一致。

為了進一步優化序列,作者構建了兩種優化方式:NuSpeak(圖4c)和STORM(圖4d),其中NuSpeak部分保留了原始觸發序列,保持了目標保真度,而STORM允許完全重新設計支點。在對100個支點的計算機分析中,NuSpeak可顯著提高大多數序列的ON / OFF比(圖4e)。儘管在優化過程中表現最好的性能可能會略有下降,但是這些序列可能已經位於局部適應度最大值中,這可能會使進一步的優化難以實現。考慮到當前生物電路設計流程的局限性,作者建立了一個框架,可以合理地重新設計電路組件,而無需保持與觸發序列的互補性。通過引入的SeqProp方法,將經過預訓練的基於CNN模型轉換為基於序列的STORM模型(圖4d),為了評估STORM的效用,作者優化了100個最差的實驗閾值(圖4f),優化後計算機預測的開/關值顯著增加。通過優化上述從SARS-CoV-2基因組構建的傳感器,在兩個平臺上通過實驗驗證結果,實驗結果顯示,在二種優化方式下,傳感器性能都有大幅提高。

鑑於模塊化,可編程核糖調節器在各種設計應用中的強大功能,迫切需要更好地集成計算和實驗方法。作者通過構建兩個深度學習框架STORM和NuSpeak來解決這一設計瓶頸,這兩個深度學習框架允許表徵,解釋和優化支點開關,並且僅需要觸發器的RNA或DNA序列作為輸入。相關實驗證明,STORM和NuSpeak能夠有效提高設計出的支點開關性能,並在稀疏數據上進行可靠預測,另外可以通過遷移學習來構建預測性很好的模型擴展到其他數據集上。

https://github.com/midas-wyss/engineered-riboregulator-ML

Valeri, J.A., Collins, K.M., Ramesh, P. et al. Sequence-to-function deep learning frameworks for engineered riboregulators. Nat Commun 11, 5058 (2020). 

https://doi.org/10.1038/s41467-020-18676-2

相關焦點

  • Nat. Methods. | 蛋白序列的深度學習表示方法助力理性蛋白工程
    文中作者提出了一種提取蛋白質序列中特徵的深度學習方案,通過對海量蛋白質序列進行無監督學習,得到了一種蛋白序列的表示方法(類似於編碼方案),作者展示該表示方法包含了蛋白的功能和結構信息,可以在此基礎上針對不同問題進行蛋白工程的應用。        理性蛋白工程需要對蛋白質功能的全面理解。
  • MIT Taco項目:自動生成張量計算的優化代碼,深度學習加速效果提高...
    舉例來說,目前我們常用的深度學習框架,如TensorFlow、PyTorch等都會將一個深度學習的模型轉換為一個由基本計算符組成的數據流圖,再有下層的計算引擎一次調度執行這些節點對應的內核函數(對於數據圖的動態優化參見雷鋒網此前文章《緊跟未來深度學習框架需求,TensorFlow推出Eager Execution》)。
  • 一種深度學習框架的介紹及總結
    目前TensorFlow、Keras等深度學習框架被廣泛使用,所以,我今天要介紹另一個框架 Deeplearning4J。它是一個基於純Java的深度學習框架,同時也是Java的第一大深度學習框架,目前在Github上已經有9k多顆星了。它運行在純Java環境,能夠很好的應用在生產環境中,且能夠較好的兼容TensorFlow、Keras等主流框架訓練的模型。
  • 深度學習框架比較,我該選擇哪一個?
    近年來,深度學習在很多機器學習領域都有著非常出色的表現,在圖像識別、語音識別、自然語言處理、機器人、網絡廣告投放、醫學自動診斷和金融等領域有著廣泛應用。面對繁多的應用場景,深度學習框架有助於建模者節省大量而繁瑣的外圍工作,更聚焦業務場景和模型設計本身。
  • 機器學習和深度學習的最佳框架大比拼
    如果把網撒得大些,可能還會覆蓋其他幾個流行的框架,包括Theano(一個10年之久的Python深度學習和機器學習框架),Keras(一個Theano和TensorFlow深度學習的前端),DeepLearning4j(Java和Scala在Hadoop和Spark之上的深度學習軟體)。如果你有興趣使用機器學習和神經網絡,你從來沒有像現在這樣多的選擇。
  • 基於OpenGL ES的深度學習框架編寫
    背景項目組基於深度學習實現了視頻風格化和人像摳圖的功能,但這是在PC/服務端上跑的,現在需要移植到移動端,因此需要一個移動端的深度學習的計算框架
  • 如何讓神經聲碼器高效地用於序列到序列聲學模型
    英特爾的工程團隊也參與到了這項開發工作中。他們把面向第三代英特爾至強可擴展處理器所做的優化進行了全面整合,並採用了英特爾深度學習加速技術(英特爾 DL Boost)中全新集成的 16 位 Brain Floating Point (bfloat16) 功能。
  • TensorFlow和Caffe、MXNet、Keras等其他深度學習框架的對比
    TensorFlow 還有功能強大的可視化組件 TensorBoard,能可視化網絡結構和訓練過程,對於觀察複雜的網絡結構和監控長時間、大規模的訓練很有幫助。TensorFlow 針對生產環境高度優化,它產品級的高質量代碼和設計都可以保證在生產環境中穩定運行,同時一旦 TensorFlow 廣泛地被工業界使用,將產生良性循環,成為深度學習領域的事實標準。
  • 掌握深度學習,為什麼要用 PyTorch、TensorFlow 框架?
    PyTorch項目還融入了Caffe2的生產功能。PyTorch被稱為「擁有強大GPU加速功能的Python版Tensor和動態神經網絡。」這意味著什麼?Tensor(張量)是一種物理學和工程學中廣泛使用的數學結構。2階的Tensor是一種特殊的矩陣;而對向量和張量取內積就可以得到另一個擁有新長度和新方向的向量。
  • 王敏捷 - 深度學習框架這十年!
    強調了深度學習框架的重要性與推動因素,介紹了3位ACM人李沐、陳天奇和他一起將各自的技術Parameter Server、CXXNet、Minerva融合併創造了新的深度學習框架MXNet。敏捷學長也指出了在深度學習新時代,隨著可微分編程、圖神經網絡等新領域的出現以及專用晶片的發展,深度學習框架會迎來更多機遇與挑戰。深度學習的浪潮其實到現在僅僅發展了十幾年的時間。
  • 深度學習入門課:你需要了解的十大框架和選型攻略
    深度學習框架是幫助使用者進行深度學習的工具,它的出現降低了深度學習入門的門檻,你不需要從複雜的神經網絡開始編代碼,就可以根據需要使用現有的模型。本文引用地址:http://www.eepw.com.cn/article/201710/370283.htm  做個比喻,一套深度學習框架就像是一套積木,各個組件就是某個模型或算法的一部分,使用者可以自己設計和組裝符合相關數據集需求的積木。  當然也正因如此,沒有什麼框架是完美的,就像一套積木裡可能沒有你需要的那一種積木,所以不同的框架適用的領域不完全一致。
  • TensorFlow和Caffe、CNTK、MXNet等其他7種深度學習框架的對比
    表2-2和圖2-1所示為對主流的深度學習框架TensorFlow、Caffe、CNTK、Theano、Torch在各個維度的評分,本書2.2節會對各個深度學習框架進行比較詳細的介紹。TensorFlow還有功能強大的可視化組件TensorBoard,能可視化網絡結構和訓練過程,對於觀察複雜的網絡結構和監控長時間、大規模的訓練很有幫助。TensorFlow針對生產環境高度優化,它產品級的高質量代碼和設計都可以保證在生產環境中穩定運行,同時一旦TensorFlow廣泛地被工業界使用,將產生良性循環,成為深度學習領域的事實標準。
  • 用PyTorch做深度學習實驗!Facebook新框架Ax和BoTorch雙雙開源
    Ax是一個面向自適應實驗的理解、管理、部署和自動化任務的通用平臺,BoTorch則主要面向貝葉斯優化任務。這兩個框架旨在簡化PyTorch應用中的自適應實驗流程。在現代機器學習應用中,對實驗到生產的流程進行簡化是最難實現的任務之一。在已經市場化深度學習框架中,Facebook的PyTorch因其高度靈活性成為數據科學界的最愛,PyTorch能夠實現快速建模和實驗。
  • 從TensorFlow到Theano:橫向對比七大深度學習框架
    最近,來自數據科學公司 Silicon Valley Data Science 的數據工程師 Matt Rubashkin(UC Berkeley 博士)為我們帶來了深度學習 7 種流行框架的深度橫向對比,希望本文能對你帶來幫助。在 SVDS,我們的研發團隊一直在研究不同的深度學習技術;從識別圖像到語音,我們也在各類框架下實現了不少應用。
  • 深度學習的時間序列模型評價
    無監督特徵學習已經證明是成功的,在學習的特徵表現層的靜態數據集,且可與深度網絡相結合去創造更強大的學習模型。但是,特徵學習的時間序列數據必須去修改,為了調整時間序列數據的特徵,為了捕捉時間信息。非監督學習和深度學習接下來主要介紹用於無監督特徵學習模型和技術,用於建模時間關係。
  • 機器學習者必知的5種深度學習框架
    它通常包含具有許多節點的神經網絡,並且每個節點都有許多需要在學習過程中必須不斷更新的連接。換句話說,神經網絡的每一層都有成百上千個相同的人工神經元在執行相同的計算。因此,神經網絡的結構適用於GPU(圖形處理單元)可以高效執行的計算類型(GPU是專門為並行計算相同指令而設計的)。隨著深度學習和人工智慧在過去幾年的迅速發展,我們也看到了許多深度學習框架的引入。
  • 深度學習——你需要了解的八大開源框架
    作為當下最熱門的話題,Google、Facebook、Microsoft等巨頭都圍繞深度學習重點投資了一系列新興項目,他們也一直在支持一些開源深度學習框架。目前研究人員正在使用的深度學習框架不盡相同,有 TensorFlow、Torch 、Caffe、Theano、Deeplearning4j等,這些深度學習框架被應用於計算機視覺、語音識別、自然語言處理與生物信息學等領域,並獲取了極好的效果。
  • 百度CTO王海峰:深度學習的核心東西是深度學習框架
    王海峰指出,深度學習已經廣泛應用,它的核心的東西是深度學習框架,可以說深度學習框架是智能時代的作業系統,它向下會對接晶片,晶片會針對深度學習框架裡面的這些運算來進行優化,向上是支撐各種應用,核心的部分有訓練框架,有了很多數據,跟應用相關的數據,然後進行訓練,訓練得到模型。然後預測框架會基於已經訓練好的模型,針對應用與應用相結合,最後實現真正的應用。
  • TensorFlow過去這一年:最好用的深度學習框架,並且越來越好
    作者|Martin Heller,InfoWorld 特約編輯 AI 前線導讀:TensorFlow 更新到 r1.5 版本後,這個 Google 的機器學習和神經網絡開源庫功能變得更強、更成熟,也更容易學習和使用。
  • 2016深度學習統治人工智慧?深度學習十大框架
    深度學習,或者更寬泛地說——使用聯結主義架構的機器學習算法,可能會讓機器學習算法變成過去時,因為深度學習算法還遠遠不是飽和狀態。在未來的幾年裡,很有可能會出現一些訓練深度神經網絡的方法,讓它們能夠顯著提升性能。在優化方法、激活功能、聯結結構以及初始化步驟之間,還有一些突破出現的空間。這很可能讓很多機器學習算法接近出局的邊緣。