ProGen生成功能蛋白序列

LLM在包括蛋白質設計等各種生物技術應用中展現出了潛力。ProGen是一種語言模型,它能夠生成在大型蛋白質家族中具有可預測功能的蛋白質序列,這類似于針對不同主題生成語法和語義正確的自然語言句子。該模型在來自超過19,000個家族的2.8億個蛋白質序列上進行訓練,并通過指定蛋白質屬性的控制標簽進行生成。ProGen可以進一步針對經過篩選的序列和標簽進行微調,以提高可控蛋白質生成性能。針對五個不同溶菌酶家族進行微調的人工蛋白質,其催化效率與天然溶菌酶相似,與天然蛋白質的序列同一性低至31.4%。正如以分支酸變位酶和蘋果酸脫氫酶所展示的那樣,ProGen可以很容易地應用于多種蛋白質家族。

原文請參考:Large language models generate functional protein sequences across diverse families, Nature Biotechnology, 2023

目錄

  • 背景概述
  • 訓練數據構建
  • ProGen:條件語言模型
  • ProGen訓練

背景概述

受自然語言模型的啟發,開發了ProGen,這是一種在數百萬條原始蛋白質序列上進行訓練的蛋白質語言模型,它可以生成跨越多個家族且具有多種功能的人工蛋白質。ProGen證明基于深度學習的語言建模可用于從頭生成功能與天然蛋白質相當的人工蛋白質序列。

ProGen通過學習預測在給定原始序列中前面氨基酸的情況下,下一個氨基酸出現的概率來進行迭代優化。ProGen從一個龐大且多樣的蛋白質序列數據庫中以無監督的方式進行訓練。訓練完成后,只需給出提示,ProGen就能從頭為任何蛋白質家族生成全長蛋白質序列,這些序列與天然蛋白質具有不同程度的相似性。在常見的情況下,如果某個蛋白質家族有部分序列數據可用,可以使用預訓練語言模型微調技術,利用家族特異性序列進一步提高ProGen捕捉與該蛋白質家族相對應的局部序列鄰域分布的能力。

ProGen是一個擁有12億參數的神經網絡,它使用包含2.8億個蛋白質序列的公開數據集進行訓練。ProGen的一個關鍵組成部分是條件生成,即輸入提供給語言模型的屬性標簽(例如,蛋白質家族:Pfam ID PF16754,Pesticin)控制序列生成。在自然語言中,這些控制標簽可以是風格、主題、日期和其他實體(圖1a)。對于蛋白質而言,控制標簽是諸如蛋白質家族、生物學過程和分子功能等屬性,這些屬性在公共蛋白質數據庫中的大部分序列中都有記錄(圖1b和補充圖1)。
fig1

  • 圖1a:條件語言模型是一種深度神經網絡,它能夠生成語義和語法正確,同時新穎多樣的自然語言文本,并且可以通過輸入控制標簽來進行調控,這些標簽可以控制文本的風格、主題及其他要素。
  • 圖1b-c:與自然語言模型類似,ProGen是一種條件蛋白質語言模型-圖b,它能夠根據輸入的控制標簽-圖c,跨蛋白質家族生成多樣的人工蛋白質序列。
  • 圖1d:ProGen使用包含來自數千個家族的2.8億個自然進化蛋白質的大型通用蛋白質序列數據集進行訓練,在該研究中,對其中五個不同的溶菌酶家族(lysozyme families)進行了實驗。
  • 圖1e:ProGen是一個擁有12億參數的神經網絡,基于Transformer架構,該架構使用自注意力機制對殘基間的相互作用(residue–residue interactions)進行建模。ProGen通過最小化通用蛋白質序列數據集(universal protein sequence dataset)中下一個氨基酸(amino acid)預測問題的損失來訓練。

supfig1

  • 補充圖1:在訓練和微調過程中,為模型訓練提供帶有相關控制標簽的樣本序列。將氨基酸序列( a 1 a_1 a1? a 2 a_2 a2?,…… )與所需的控制標簽( < c 1 > <c_1> <c1?> < c 2 > <c_2> <c2?>,…… )前置組合,構成tokens,讓ProGen以自回歸方式計算下一個token出現的概率。構建控制標簽是為了提供有關分子功能、生物學過程、細胞組成或特定蛋白質家族的信息。

訓練數據構建

為了訓練ProGen,作者從UniParc、UniprotKB、Pfam和NCBI中收集了一個通用蛋白質序列數據集(圖1d和補充表1)。
suptab1

  • 補充表1:用于訓練和微調ProGen的公開可用數據集列表。訓練數據集(a - c)總共包含2.8億個unique的蛋白質,這些蛋白質與基于生物過程、分子功能相關關鍵詞的101,100個標簽相關聯(d)。微調數據集(e - h)用于進一步提升ProGen在溶菌酶、分支酸變位酶和蘋果酸脫氫酶蛋白質的局部序列鄰域中生成蛋白質序列的能力。

該通用數據集包含2.81億條非冗余蛋白質序列(來自超過19,000個Pfam家族)以及相關元數據(作為控制標簽)。氨基酸詞匯表采用IUPAC規定的25種標準氨基酸名稱。控制標簽分為兩類:(1)關鍵詞標簽-keyword tags;(2)分類學標簽-taxonomic tags。根據UniprotKB中受控的分層關鍵詞詞匯表(其中許多術語源自基因本體GO-Term)的定義,關鍵詞標簽包含1100個術語,涵蓋細胞成分、生物過程和分子功能等方面。分類學標簽則包含來自NCBI分類學的100,000個術語,涉及八個標準分類等級。匯總后的數據集被劃分為一個包含2.8億條序列的訓練集,以及兩個測試集:一個是包含來自20個蛋白質家族的100,000條序列的分布外測試集(OOD測試集),另一個是隨機抽樣得到的包含100萬條序列的分布內測試集(ID測試集)。這些測試集不用于訓練,而是用于評估模型。在訓練數據庫上完成模型訓練后,模型會進一步在以下數據集上進行微調,以完成生成和分類任務。

在對溶菌酶蛋白進行微調時,作者從Pfam數據庫中選擇了五個蛋白質家族,分別是噬菌體溶菌酶(PF00959)、pesticin(PF16754)、氨基葡萄糖苷酶(PF01832)、糖苷水解酶家族108(PF05838)和轉糖基酶(PF06737),共得到55,948條序列。在微調過程中,提供給模型的蛋白質是未比對的蛋白質序列,并在前面添加一個用于指定蛋白質家族的控制標簽。

在對分支酸變位酶(CM)蛋白進行微調時,使用HHBlits和blastp程序,以大腸桿菌CM - 預苯酸脫水酶(P蛋白)的CM結構域(EcCM)的1-95位殘基為查詢序列進行搜索,得到20,214條序列。

在對蘋果酸脫氫酶(MDH)蛋白進行微調時,選擇了Interpro數據庫中IPR001557的L - 乳酸/MDH蛋白家族,包含17,094條序列。

ProGen:條件語言模型

與那些為判別性蛋白質預測任務對氨基酸序列進行編碼的基于 Transformer 的語言模型不同,ProGen 是一個專門用于自回歸生成的解碼器 Transformer:它以從左到右的方式逐個token地生成序列,下一個token的生成依賴于之前生成的所有tokens。

a = ( a 1 , . . . , a n a ) a=(a_1,...,a_{n_{a}}) a=(a1?,...,ana??)是長度為 n a ? 1 n_{a}-1 na??1的氨基酸序列,最后附加一個"end of sequence" token,令 c = ( c 1 , . . . , c n c ) c=(c_1,...,c_{n_c}) c=(c1?,...,cnc??)是描述符的集合,比如蛋白質家族或者源物種,即 “control tags”,通過這些(控制標簽),作者希望實現對氨基酸序列生成的控制。設 x = [ c ; a ] x = [c; a] x=[c;a]為在氨基酸序列前添加控制標簽序列后形成的序列。那么,對于長度為 n = n a + n c n = n_a + n_c n=na?+nc? n a n_a na?為氨基酸序列長度, n c n_c nc?為控制標簽序列長度)的這種組合序列,其概率為 P ( x ) P(x) P(x)。語言建模將生成序列 x x x的問題分解為下一個token預測問題,其中token可以是氨基酸,也可以是控制標簽。訓練一個參數為 θ \theta θ的神經網絡,并最小化數據集 D = ( x 1 , . . , x ∣ D ∣ ) D=(x^{1},..,x^{|D|}) D=(x1,..,xD)上的負對數似然。

在生成時,直到模型預測出 ‘end of sequence’ token 才停止。

ProGen訓練

在訓練過程中,作者納入了每條序列及其反向序列。在每條序列前添加相應的控制標簽子集。對于給定的一條序列,在不同數據庫中可能存在多個版本,每個版本都有各自相關的控制標簽。作者隨機抽取一組控制標簽,但在抽樣時更傾向于SwissProt標簽,因為它們經過人工驗證。此外,會納入一個只有序列而沒有控制標簽的樣本,這樣ProGen就能僅憑借序列數據來完成蛋白質的生成任務

作者將所有序列截斷為最大長度512。長度小于512的序列會進行填充,并且用于padding的token會被排除在訓練所用的損失函數計算之外。預訓練期間,控制標簽的平均token長度為8。我們的模型在TensorFlow中實現,使用batch大小為2048進行訓練。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67348.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

省級數字經濟發展水平數據(2011-2022年)-社科數據

省級數字經濟發展水平數據&#xff08;2011-2022年&#xff09;-社科數據https://download.csdn.net/download/paofuluolijiang/90028602 https://download.csdn.net/download/paofuluolijiang/90028602 數字經濟是指以數據資源為關鍵要素、以現代信息網絡為主要載體、以信息…

Leecode刷題C語言之跳躍游戲②

執行結果:通過 執行用時和內存消耗如下&#xff1a; int jump(int* nums, int numsSize) {int position numsSize - 1;int steps 0;while (position > 0) {for (int i 0; i < position; i) {if (i nums[i] > position) {position i;steps;break;}}}return steps…

《多線程基礎之條件變量》

【條件變量導讀】條件變量是多線程中比較靈活而且容易出錯的線程同步手段&#xff0c;比如&#xff1a;虛假喚醒、為啥條件變量要和互斥鎖結合使用&#xff1f;windows和linux雙平臺下&#xff0c;初始化、等待條件變量的api一樣嗎&#xff1f; 本文將分別為您介紹條件變量在w…

【信息系統項目管理師-選擇真題】2009上半年綜合知識答案和詳解

更多內容請見: 備考信息系統項目管理師-專欄介紹和目錄 文章目錄 【第1題】【第2~3題】【第4題】【第5題】【第6題】【第7題】【第8題】【第9題】【第10題】【第11題】【第12題】【第13題】【第14題】【第15題】【第16題】【第17題】【第18題】【第19題】【第20題】【第21題】…

消息隊列篇--通信協議篇--TCP和UDP(3次握手和4次揮手,與Socket和webSocket的概念區別等)

1、TCP和UDP概述 TCP&#xff08;傳輸控制協議&#xff0c;Transmission Control Protocol&#xff09;和UDP&#xff08;用戶數據報協議&#xff0c;User Datagram Protocol&#xff09;都算是最底層的通信協議&#xff0c;它們位于OSI模型的傳輸層。*傳輸層的主要職責是確保…

mysql_store_result的概念和使用案例

mysql_store_result() 是 MySQL C API 中的一個函數&#xff0c;用于檢索一個完整的結果集到一個客戶端。當執行一個查詢&#xff08;通常是 SELECT 查詢&#xff09;并希望處理所有返回的數據時&#xff0c;可以使用此函數。 概念 mysql_store_result() 函數的原型如下&…

React Router v6配置路由守衛

首先準備好以下頁面 登錄頁&#xff1a;用戶可以在此頁面登錄。 受保護頁&#xff1a;只有登錄的用戶可以訪問&#xff0c;否則會重定向到登錄頁。 公共頁面&#xff1a;不需要鑒權&#xff0c;任何人都可以訪問。 1. 安裝依賴 首先&#xff0c;我們需要安裝 react-router-do…

打破傳統束縛:領略 Web3 獨特魅力

在互聯網發展的歷程中&#xff0c;我們見證了Web1和Web2的變遷。Web1是靜態信息的展示平臺&#xff0c;Web2則引領了社交互動和內容創作的繁榮&#xff0c;而如今&#xff0c;Web3作為新時代的互聯網架構&#xff0c;正逐漸展現出其獨特的魅力&#xff0c;帶領我們走向一個更加…

[論文總結] 深度學習在農業領域應用論文筆記14

當下&#xff0c;深度學習在農業領域的研究熱度持續攀升&#xff0c;相關論文發表量呈現出迅猛增長的態勢。但繁榮背后&#xff0c;質量卻不盡人意。相當一部分論文內容空洞無物&#xff0c;缺乏能夠落地轉化的實際價值&#xff0c;“湊數” 的痕跡十分明顯。在農業信息化領域的…

Linux 學習筆記__Day3

十八、設置虛擬機的靜態IP 1、VMware的三種網絡模式 安裝VMware Workstation Pro之后&#xff0c;會在Windows系統中虛擬出兩個虛擬網卡&#xff0c;如下&#xff1a; VMware提供了三種網絡模式&#xff0c;分別是&#xff1a;橋接模式&#xff08;Bridged&#xff09;、NAT…

QT+mysql+python 效果:

# This Python file uses the following encoding: utf-8 import sysfrom PySide6.QtWidgets import QApplication, QWidget,QMessageBox from PySide6.QtGui import QStandardItemModel, QStandardItem # 導入需要的類# Important: # 你需要通過以下指令把 form.ui轉為ui…

筆記本跑大模型嘗試

1&#xff0c;筆記本電腦資源 我是一臺聯想筆記本電腦&#xff0c;基本配置如下&#xff1a; CPU&#xff1a;12th Gen Intel(R) Core(TM) i7-1255U 1.70 GHz (12核心&#xff0c;2個P核和8個E核&#xff0c;共計10個核心) 顯卡&#xff1a;NVIDIA GeForce MX550 內存&am…

C語言實現掃雷游戲(有展開一片和標記雷的功能)

實現準備 分2個.c源文件和1個.h頭文件去寫代碼 test.c 對掃雷游戲進行測試game.c 掃雷游戲功能的實現game.h 掃雷游戲功能的聲明 掃雷游戲 1.test.c對掃雷游戲進行測試 首先我們要先把玩游戲的框架寫出來&#xff0c;然后一步一步去完成其功能 跟著下面的代碼的節奏走一步一步…

GitHub 倉庫的 Archived 功能詳解:中英雙語

GitHub 倉庫的 Archived 功能詳解 一、什么是 GitHub 倉庫的 “Archived” 功能&#xff1f; 在 GitHub 上&#xff0c;“Archived” 是一個專門用于標記倉庫狀態的功能。當倉庫被歸檔后&#xff0c;它變為只讀模式&#xff0c;所有的功能如提交代碼、創建 issue 和 pull req…

基礎IO(2)

基礎IO&#xff08;2&#xff09; 理解“?切皆?件” ?先&#xff0c;在windows中是?件的東西&#xff0c;它們在linux中也是?件&#xff1b;其次?些在windows中不是?件的東西&#xff0c;?如進程、磁盤、顯?器、鍵盤這樣硬件設備也被抽象成了?件&#xff0c;你可以使…

Transformation,Animation and Viewing

4 Transformation&#xff0c;Animation and Viewing 聲明&#xff1a;該代碼來自&#xff1a;Computer Graphics Through OpenGL From Theory to Experiments&#xff0c;僅用作學習參考 4.1 Modeling Transformations 平移、縮放和旋轉&#xff0c;即 OpenGL 的建模轉換&…

Deepseek的RL算法GRPO解讀

在本文中&#xff0c;我們將深入探討Deepseek采用的策略優化方法GRPO&#xff0c;并順帶介紹一些強化學習&#xff08;Reinforcement Learning, RL&#xff09;的基礎知識&#xff0c;包括PPO等關鍵概念。 策略函數&#xff08;policy&#xff09; 在強化學習中&#xff0c; a…

【python】python基于機器學習與數據分析的二手手機特性關聯與分類預測(源碼+數據集)【獨一無二】

&#x1f449;博__主&#x1f448;&#xff1a;米碼收割機 &#x1f449;技__能&#x1f448;&#xff1a;C/Python語言 &#x1f449;專__注&#x1f448;&#xff1a;專注主流機器人、人工智能等相關領域的開發、測試技術。 python基于機器學習與數據分析的二手手機特性關聯與…

手撕Diffusion系列 - 第十一期 - lora微調 - 基于Stable Diffusion(代碼)

手撕Diffusion系列 - 第十一期 - lora微調 - 基于Stable Diffusion&#xff08;代碼&#xff09; 目錄 手撕Diffusion系列 - 第十一期 - lora微調 - 基于Stable Diffusion&#xff08;代碼&#xff09;Stable Diffusion 原理圖Stable Diffusion的原理解釋Stable Diffusion 和Di…

前端【8】HTML+CSS+javascript實戰項目----實現一個簡單的待辦事項列表 (To-Do List)

目錄 一、功能需求 二、 HTML 三、CSS 四、js 1、綁定事件與初始設置 2.、綁定事項 &#xff08;1&#xff09;添加操作&#xff1a; &#xff08;2&#xff09;完成操作 &#xff08;3&#xff09;刪除操作 &#xff08;4&#xff09;修改操作 3、完整js代碼 總結…