幾種基于氨基酸序列構建很簡單蛋白質三維結構的工具
幾種基于氨基酸序列構建很簡單蛋白質三維結構的工具
文/Sobereva@北京科音 2023-Oct-15
經常有人問已知很簡單蛋白質(小肽)的氨基酸序列,怎么得到其三維立體結構,這里就介紹幾種工具。本文并不是對相關程序做完整的收集,介紹的這些已經足夠滿足各種實際情況的需要了。注意本文的范疇和蛋白質結構預測完全不同,那類程序是用于構造有三級結構的較復雜蛋白質用的,本文涉及的工具頂多只牽扯到二級結構。
需要注意的是,只有其中部分程序可以產生原子名符合IUPAC規范的pdb結構文件。僅對于這種情況,pdb文件才可以載入VMD后正常顯示二級結構(至少得骨架重原子名滿足IUPAC規范),以及能夠直接被比如GROMACS的pdb2gmx所處理來產生拓撲文件。
筆者另外寫了篇文章介紹通過輸入序列產生DNA或RNA三維結構的工具,見《幾種基于核酸序列構建三維結構的工具》(http://www.shanxitv.org/692)。
1 ProBuilder
這是個在線程序,網址是https://www.ddl.unimi.it/vegaol/probuilder.htm。用戶只需要輸入氨基酸序列,比如RLCVVPIRLPPLRERT,并且指定要產生的二級結構的phi、psi、omega角度,就可以獲得結構文件。能產生的格式很多,包括符合IUPAC命名規范的pdb文件。此程序產生的結構可以要求帶和不帶側鏈,帶側鏈的情況由于不會自動做結構優化,因此側鏈往往有嚴重重疊,后面介紹的很多程序也都是如此。
2 GaussView
Gaussian的官方界面程序GaussView提供了生物分子片段庫,如下所示。可以選擇位于鏈中間、N端、C端的各種氨基酸殘基片段,在建模窗口點擊一次出現第一個殘基后,再一次一次點擊肽鍵末端,就可以逐漸得到滿足要求的肽鏈。
建好后可以保存成結構文件,包括pdb格式。用此程序的優點是可以自行精細修改三維結構,缺點是沒法把一長串序列一下子轉化為三維結構,而且這么保存的pdb文件里的原子名只是元素名而不是滿足IUPAC規范的名字,里面連殘基名都沒有,而且也沒法像ProBuilder那樣直接設置對應特定二級結構的phi和psi角度(得手動一個一個調)。
3 Avogadro
免費的可視化程序Avogadro(http://avogadro.cc)的Build - Insert - Peptide界面可以構建有特定二級結構、特定序列的小肽的三維結構,界面如下所示。可以保存出許多格式,保存成pdb的話原子名和殘基名都是符合IUPAC規范的。此程序還自己支持GAFF、MMFF94等力場做幾何優化,可以用于把建模后側鏈的不合理接觸消除掉。
4 gabedit
啟動免費的可視化程序gabedit(http://gabedit.sourceforge.net)后,點菜單欄的Geometry - Draw,在新窗口里點右鍵,選Build - PolyPeptide,就可以看到構建多肽的界面,如下所示,也可以類似于Avogadro去產生符合特定二級結構的指定序列的小肽。每點擊一次氨基酸的按鈕在圖形窗口里就會長出來相應的殘基。之后點右鍵選save as,就可以保存成各種格式,包括滿足IUPAC原子名和殘基名規范的pdb格式。
5 AmberTools中的leap
知名的AmberTools(http://ambermd.org)程序里的leap可以用于根據氨基酸序列產生線型小肽的三維結構并保存成符合IUPAC命名規范的pdb文件。
參考手冊或《Amber14安裝方法》(http://www.shanxitv.org/263)安裝AmberTools后,在命令行窗口輸入諸如tleap -f leaprc.protein.ff14SB即可啟動純文本界面的leap(tleap)且同時載入AMBER14SB力場相關的氨基酸的庫文件。在里面可以輸入比如如下命令定義一個序列,其中殘基的N結尾和C開頭分別代表N端和C端殘基
TC5b = sequence { NASN LEU TYR ILE CGLN }
之后再運行以下命令就可以把序列以三維結構保存成/sob目錄下的TC5b_linear.pdb了
savepdb TC5b /sob/TC5b_linear.pdb
6 PeptideBuilder
PeptideBuilder是個基于Python的輕量級構建小肽的庫,網址是https://github.com/clauswilke/PeptideBuilder,具體介紹見原文PeerJ, 1, e80 (2013)。
在Linux下聯網狀態運行pip install PeptideBuilder即可安裝。之后可以基于PeptideBuilder寫Python腳本來構造小肽結構,可以指定psi和phi角度、有哪些殘基等。此程序只產生重原子坐標,沒有氫。產生的pdb文件符合IUPAC命名規范。
以下是個例子,比如保存為createQ6.py,之后運行python createQ6.py,就可以在當前目錄下得到含有6個谷氨酰胺的yohane.pdb文件。
from PeptideBuilder import Geometry
import PeptideBuilder
geo = Geometry.geometry("Q")
geo.phi = -60
geo.psi_im1 = -40
structure = PeptideBuilder.initialize_res(geo)
for i in range(5):
PeptideBuilder.add_residue(structure, geo)
PeptideBuilder.add_terminal_OXT(structure)
import Bio.PDB
out = Bio.PDB.PDBIO()
out.set_structure(structure)
out.save("yohane.pdb")
有人基于PeptideBuilder做了擴展寫了額外Python程序,能生成具有指定序列在N端加上Fmoc或ACE(乙酰)封閉、在C端加上NME(甲胺基)封閉的pdb文件。見《生成任意序列的封端短肽pdb的腳本CappedPeptideBuilder.py》(http://bbs.keinsci.com/thread-30278-1-1.html)。一個簡單例子:先把PeptideBuilder裝上,然后把CappedPeptideBuilder.py放在當前目錄下,再運行python CappedPeptideBuilder.py -s KEYIN -p test,此時當前目錄下就出現了test目錄,其中ACE_KEYIN.pdb就是N端加了乙酰、C端加了甲氨基的序列為KEYIN的小肽結構了(沒有氫)。
7 Tinker
動力學模擬程序Tinker有根據序列建立蛋白質三維結構的命令protein,參見計算化學公社論壇的帖子:http://bbs.keinsci.com/forum.php?mod=redirect&goto=findpost&ptid=11478&pid=79011&fromuid=1