gromacs和amber處理環肽的辦法
環肽的模擬其實和直鏈肽沒有區別,只是環肽首尾相接,在讀入gmx和amber時需要做一些處理,否則會被當作N端和C端殘基自動進行特殊處理,而我們的目的就是讓pdb兩端的氨基酸被程序當成普通的處于中端的氨基酸殘基來處理,這樣使環中的每個氨基酸都沒有特殊性。
在amber的leap中,讀如氨基酸庫之后,用list可以看到N打頭和C打頭的一批氨基酸unit,分別是N端和C端的氨基酸。這種帶前綴的氨基酸和普通氨基酸殘基有一些不同,N打頭的比普通殘基多了氨基的兩個氫,C打頭的多了一個羧基氧。如果直接讀入環肽,自動將pdb開頭的氨基酸當作帶N開頭的氨基酸,加上兩個氫,結尾的當作C開頭的氨基酸,加上氧,而加入的這些并非我們所需。而且庫文件中這種端基氨基酸的原子類型和電荷與處于中間的氨基酸殘基不同,一個個手動改成普通中段氨基酸太麻煩。
對這個問題,可以使用loadpdbusingseq,使讀取pdb的時候每個殘基都按照所設殘基為參照來讀取。
例如
temp={ARG ARG TYR TYR ALA PHR} //此為此環肽pdb中的序列
b=loadpdbusingseq /sob/t/cycli/cycli.pdb temp
bond b.1.N b.6.C //將pdb開頭的氨基酸和pdb末尾的氨基酸連成肽鍵
之后按照常規方法添加電荷、溶劑,并進行模擬。
Gromacs中,對端基氨基酸處理方式是在力場中定義處理氨基和羧基的方式,但沒有把端基氨基酸專門設定為特殊的殘基從而賦予與中段氨基酸不同的原子類型和電荷。
比如ffG43a1,在top目錄下存在ffG43a1p-n.tdb和ffG43a1p-c.tdb,從中可見幾種處理方法,比如[NH3+]下面描述了對于N端的殘基,刪掉哪些原子,添加哪些原子,替換哪些原子。默認情況下,用的是[NH3+]和[COO-]
如果在pdb2gmx的時候加上-ter,可以手動指定端基氨基酸的處理方式,比如N端氨基可設為[NH2] [NH3+] [none]。設none的話,就什么都不動。
為了不讓pdb2gmx給環肽pdb開頭和結尾的氨基酸添上多余的東西,所以N端和C端氨基酸都選none。
若pdb中本來沒有氫,或者有氫但為了用聯合原子力場而開了-ignh選項,又選了none,頭尾氨基酸相連的肽鍵就沒有氫了。這種情況下需要簡單修改ffG43a1p-n.tdb,加上:
[cycliN]
[add]
1 4 H N CA C
H 1.008 0.28
注意gmx與amber不同,不同氨基酸的肽鍵上的氫的電荷都是0.28,故這個設置對所有氨基酸都是通用的,不會造成總電荷不為整數。
保存之后,上述情況下pdb2gmx時選擇N端氨基酸時,選cycliN那項,就有氫了。
然后在.top文件中,補上這個肽鍵的bond、angle、dihedral的信息即可。