參考1: High-accuracy modeling of antibody structures by a search for minimum-energy recombination of backbone fragments
參考2: High-accuracy modeling of antibody structures by a search for minimum-energy recombination of backbone fragments
一、前言&計算原理AbPredict是Sarel J. Fleishman實驗室繼承AbDesign的思路而開發的用於傳統抗體結構預測的方法,該方法不像傳統建模方案那樣需要對序列的同源性以及專家知識有一定的要求,AbPredict模擬了抗體的VDJ重組過程。AbPredict將1300餘個Fv結構的分割為若干個片段(VH、H3、VL、L3),利用這些片段的骨架二面角信息和VH-VL的朝向角度信息生成預計算的資料庫。通過多輪隨機替換和組合這些骨架信息來生成新的抗體結構模型,並對側鏈優化以及能量最小化,最後利用Rosetta的能量函數對模型結構進行評判,找到給定序列能量的極小值點,該方法考慮了CDR模板之間的匹配性,因此得出的模型化學立體構象更加合理。
使用AMA-II比賽中的測試組對AbPredict進行測試,結果發現AbPredict能夠更好地匹配到低序列同源性的模板(序列同源性僅10%),並且不需要專家知識就可以提升抗體建模的精度。反觀如果只依靠序列同源性進行的模板選擇時,模型的誤差較大。與AMA-II其他的參賽者成績結果相比,AbPredict能達到同等、或更佳的成績。
但是該方法也存在它的限制和不足:
沒有完全利用同源模板的信息的一些優勢;
如果VH、VL的序列較為特殊,不存在正則結構時,依然不能獲得高質量模型;
CDRH3的預測完全依賴於資料庫模板,當資料庫中不存在對應結構時,模型誤差可能會更大;
因此AbPredict比較適用於傳統抗體模型的初步建模,後續依然可對CDR-H3和VH-VL朝向角度進一步優化的。
二、AbPredict2的使用AbPredict2本地運行的方法並不複雜,以下將進行簡單用法介紹:
此處可以下載經過本人處理完善後和處理錯誤之後的AbPredict2運行包:
github: https://github.com/guyujun/AbPredict2
本文件中包含了所有運行所需要的文件:
1 準備輸入的序列文件AbPredict2的Fab序列處理有一定的規則性,輸入的序列格式必須滿足以下4點,否則程序將錯誤地處理了骨架二面角以及序列信息的數據:
先寫輕鏈,再寫重鏈序列。
輕鏈的N端起始必須是第一個二硫鍵往前數21個胺基酸的長度算起。
輕鏈的C端末尾為L3 Loop(Chothia編碼L98位)往後的7個胺基酸納入序列範圍;
重鏈的N端起始必須是第一個二硫鍵往前數20個胺基酸的長度算起。
重鏈的C端末尾為H3 Loop(Chothia編碼H103位),往後的9個胺基酸納入序列範
此處以1F11抗體AB鏈為例進行說明;
# 原始序列:
>1F11:A|PDBID|CHAIN|SEQUENCE(輕鏈)
DMVLTQSPASLAVSLGQRATISCKASQSVDYDGDSYMNWYQQKPGQPPKLLIYVASNLKSGIPARFSGSGSGTDFTLNIHPVEEEDAATYYCQQSNEDPFTFGSGTKLEIKRADAAPTVSIFPPSSEQLTSGGASVVCFLNNFYPKDINVKWKIDGSERQNGVLNSWTDQDSKDSTYSMSSTLTLTKDEYERHNSYTCEATHKTSTSPIVKSFNRNEC
>1F11:B|PDBID|CHAIN|SEQUENCE(重鏈)
EVQLQQSGPELVKPGASVKMSCKASGYTFTDYYMKWVKQSHGKSLEWIGDINPNNGGTGYNQKFKGKATLTVDKSSSTAYMQLNSLTSEDSAVYYCANDYGSTYGFAYWGQGTLVTVSAAKTTPPSVYPLAPGSAAQTNSMVTLGCLVKGYFPEPVTVTWNSGSLSSGVHTFPAVLQSDLYTLSSSVTVPSSPRPSETVTCNVAHPASSTKVDKKIVPRDC
經過規則處理後的序列應該是:
# A chain:
MVLTQSPASLAVSLGQRATIS|C|KASQSVDYDGDSYMNWYQQKPGQPPKLLIYVASNLKSGIPARFSGSGSGTDFTLNIHPVEEEDAATYY|C|QQSNEDPFTF|GSGTKLE
# B chain:
VQLQQSGPELVKPGASVKMS|C|KASGYTFTDYYMKWVKQSHGKSLEWIGDINPNNGGTGYNQKFKGKATLTVDKSSSTAYMQLNSLTSEDSAVYY|C|ANDYGSTYGFAYW|GQGTLVTVS
輸入AbPredict的序列應該是如下狀態:
MVLTQSPASLAVSLGQRATISCKASQSVDYDGDSYMNWYQQKPGQPPKLLIYVASNLKSGIPARFSGSGSGTDFTLNIHPVEEEDAATYYCQQSNEDPFTFGSGTKLEVQLQQSGPELVKPGASVKMSCKASGYTFTDYYMKWVKQSHGKSLEWIGDINPNNGGTGYNQKFKGKATLTVDKSSSTAYMQLNSLTSEDSAVYYCANDYGSTYGFAYWGQGTLVTVS
2 運行建模預測AbPredict2中的資料庫是包含了所有抗體的數據,我們需要從中分離出與我們目的序列CDRs長度一致的模板信息,此處直接利用作者的create_run.sh即可分離所需的數據。
首先我們要統計每個Fragment的長度,以實例進行說明:
# L chain:
MVLTQSPASLAVSLGQRATIS|C|KASQSVDYDGDSYMNWYQQKPGQPPKLLIYVASNLKSGIPARFSGSGSGTDFTLNIHPVEEEDAATYY|C|QQSNEDPFTF|GSGTKLE
VL_length = 68 (兩個C之間的序列數量)
L3_length = 10 (L3的序列長度:QQSNEDPFTF)
# H chain:
VQLQQSGPELVKPGASVKMS|C|KASGYTFTDYYMKWVKQSHGKSLEWIGDINPNNGGTGYNQKFKGKATLTVDKSSSTAYMQLNSLTSEDSAVYY|C|ANDYGSTYGFAYW|GQGTLVTVS
VH_length = 73 (兩個C之間的序列數量)
H3_length = 13 (H3的序列長度:ANDYGSTYGFAY)
運行經過我修改和測試的腳本:
#create_run.sh <VL length> <L3 length> <HL length> <H3 length>
sh create_run.sh 68 10 73 13
運行完畢後輸出500條隨機組合的model方案均存儲在segment_lengths_script_vars文件當中,其中的每行代表每條軌跡初始化使用的模板信息。
# segment_lengths_script_vars內容實例:
-parser:script_vars entry_H1_H2=4D9QH entry_L1_L2=1EGJL entry_H3=3PP4H entry_L3=1REIB
-parser:script_vars entry_H1_H2=1GAFH entry_L1_L2=1MOEB entry_H3=3HAEO entry_L3=4NRYB
-parser:script_vars entry_H1_H2=3QEHA entry_L1_L2=3J2XA entry_H3=2V7ND entry_L3=4P3CL
.
通常500條軌跡已經就採樣較為充分,如果想進一步擴大採樣,就需要修改create_run.sh中第24行,將500修改為更大的數即可。
運行單條退火軌跡的命令:
rosetta_scripts.mpi.macosclangrelease @flags -parser:script_vars entry_H1_H2=4D9QH entry_L1_L2=1EGJL entry_H3=3PP4H entry_L3=1REIB sequence=MVLTQSPASLAVSLGQRATISCKASQSVDYDGDSYMNWYQQKPGQPPKLLIYVASNLKSGIPARFSGSGSGTDFTLNIHPVEEEDAATYYCQQSNEDPFTFGSGTKLEVQLQQSGPELVKPGASVKMSCKASGYTFTDYYMKWVKQSHGKSLEWIGDINPNNGGTGYNQKFKGKATLTVDKSSSTAYMQLNSLTSEDSAVYYCANDYGSTYGFAYWGQGTLVTVS
如果需要運行其他的軌跡只需要將-parser:script_vars欄位的模板信息根據上一步的輸出文件segment_lengths_script_vars中的內容進行修改即可。
注意: 本地版的AbPredict2不再需要區分L鏈的kappa和lambda型序列。因此kappa鏈L3的採集效率可能會比較低。
3. 結果分析根據能量打分排名大小進行排序, 選取排名前三的打分結構模型作為輸出。
AbPredict的在線服務已經升級到了2.0版本,相對於1.0版本,輸出的模型質量更佳,並且提升了20倍的計算速度,通常在幾個小時以內就能完成抗體結構的建模。推薦無經驗的新手朋友使用,完全無需額外處理,只需要把序列按照輕鏈、重鏈的順序輸入即可。
AbPredict2 Web Server:http://abpredict.weizmann.ac.il
界面操作起來也十分的簡單和方便,還不用佔用本地計算資源,就是界面醜了點,需要有學術郵箱,沒有運行進度或排隊信息可以查看,只能默默等待結果返回。。當收到第一封郵件通知後,你就發現居然404了,不要著急。
只需要繼續等待第二封郵件即可,其中還有分析好的圖表。(此處大概耗時12小時左右)