AMBER分子動力學簡例

AMBER分子動力學簡例(一)

概述

以下是使用AMBER包的簡單教程,希望對開始學習分子動力學的同學有用處。申明一下,以下教程原版來自網上,是最最基本的教程,同時也非常實用,有非常好的借鑑意義。

AMBER分子動力學程序包是加州聖弗蘭西斯科大學(University of California San Francisco,UCSF)的Peter A Kollman和其同事編的,程序很全,現在已經發展到版本9.0。AMBER功能涵蓋種類非常多的生物分子,包括蛋白、覈算以及藥物小分子。軟件詳細情況請瀏覽http://amber.scripps.edu.

以下是AMBER軟件包中四個主要的大程序:


Leap:用於準備分子系統座標和參數文件,有兩個程序:

xleap:X-windows版本的leap,帶GUI圖形界面。

tleap:文本界面的Leap。

Antechamber:用於生成少見小分子力學參數文件的。有的時候一些小分子Leap程序不認識,

                    需要加載其力學參數,這些力學參數文件就要antechamber生成。

Sander:MD數據產生程序,即MD模擬程序,被稱做AMBER的大腦程序。

Ptraj:MD模擬軌跡分析程序。


學習項目

本教程研究的題目是腦下垂體荷爾蒙之一的oxytocin,需要X光衍射晶體結構文件1NPO.PDB。該文件包含了該荷爾蒙和其運載蛋白的複合物,可以從蛋白數據庫下載。

PDB文件是不包含氫原子的,Leap程序會自動的加上PDB文件缺少的東西。當第一次使用PDB文件的時候,要十分留意文件包含的信息,所以PDB文件缺少的殘疾、側鏈或者添加的變異都在這個地方記錄。可以用文本閱讀程序閱讀PDB文件頭部的信息,即以REMARKS開頭的信息文本行。PDB一個重要的信息是SSBOND記錄,該記錄說明結構中二硫鍵的位置,這樣的信息在使用Leap程序建立分子結構的時候需要。在本教程中,我們將比較oxytocin在真空和溶液中分子動力學的差異,如果沒有二硫鍵,將影響整個結果。整個過程在Linux系統下完成,如對Linux不熟悉,請翻閱有關Linux書籍。

建立項目目錄,並進入該目錄:

mkdir
myproj

cd myproj

下載1NPO.PDB文件到該目錄下,使用文本閱讀器閱讀該PDB文件。從在文件的開頭部分可以得到該文件是一個二聚物的PDB文件,刪除文件中A、C、和D鏈對應的文本行,剩下的就是oxytocin的晶體機構了,保存爲oxyt.pdb文件。

使用Swiss PDB viewer分析以下oxyt.pdb文件,可以得知該pdb文件缺少了一個側鏈。如果使用Deep View,它會自動給文件加上側鏈。重新保存pdb文件爲oxyt.pdb文件。

xleap和tleap程序功能是一樣的,都是準備分子結構的座標文件和拓撲文件。xleap啓動一個X界面,比較慢。tleap純文本,要快一些,我們選擇tleap:

tleap
-s
-f
leaprc.ff03

其中leaprc.ff03是AMBER的2003力場文件。力場是一個很重要的文件,定義了分子、原子和殘疾等的信息,請查閱有關資料。

oxy=loadpdb oxyt.pdb

該命令讀入oxyt.pdb文件到oxy變量中。

bond
oxy.1.SG oxy.6.SG

連接oxy變量的第一和第六個殘疾的SG原子,即是連接二硫鍵。可以使用check命令檢查oxy是否完好,沒有特殊情況的話,最後應該是“OK”,表示分子系統狀態是好的,可以保存。

check oxy

接下來就是保存分子系統了:

saveamberparm
oxy
oxy_vac.top
oxy_vac.crd

其中oxy_vac.top和oxy_vac.crd分別是分子系統真空狀態下的拓撲和座標文件。

接下來要給分子系統添加水環境,

solvateoct
oxy
TIP3PBOX
9.0

該命令讓Leap程序使用TIP3PBOX水模型,水環境距離分子爲9納米。也可以用solvatebox命令,但是solvatebox添加的水環境是一個立方體,不是八面體。一般要求水錶面到蛋白距離要達到8.5納米,避免MD過程中蛋白衝出水環境,但是水環境越大計算時間將越長。如果MD過程內含PME,那麼水箱長度要大於2倍截矩(cutoff),截矩在MD配置文件中定義。加溶劑之後,要計算系統是否爲電中性,使用命令:

charge oxy

如果現實不是電中性,要使用addions添加反性電荷,如Cl-或者Na+等。

最後保存溶劑環境的系統拓撲結構和座標文件,並退出Leap程序:

saveamberparm
oxy
oxy.top
oxy.crd

quit

也可以把命令集中到一個,讓tleap讀取。如將上面的命令集中到以下文件中

“oxy.leaprc”


source
leaprc.ff03

oxy=loadpdb oxyt.pdb

bond oxy.1.SG
oxy.6.SG

check oxy

saveamberparm oxy oxy_vac.top oxy_vac.crd

solvateoct oxy

saveamberparm oxy oxy.top oxy.crd

quit


將以上兩橫線之間的命令保存爲"oxy.leaprc",然後使用以下命令一步搞定:

tleap
-s
-f
oxy.leaprc

到此,分子系統準備已經完成,目錄中會多了一個leap.log文件,這是Leap程序的記錄文件,它包含了leap程序所做的一切,包括自動的和手動命令。

現在已經有了可以進行分子動力學的基本文件了,再編寫sander的控制文件,就可以進行模擬了。這些將在後文中介紹。

AMBER分子動力學簡例(二)

分子動力學(1)

真空模式

真空模式分子動力學模擬將使用NVT系宗分兩步進行,即系統能量最優化和分子動力學過程。

1、系統能量最優化。我們將使用淬火能量最優化解除系統內原子之間的不正常相互作用,這些原子之間的高能量相互作用如果不消除,可能影響後續的分子動力學過程。因爲動力學過程是能量梯度變化的,太高的能量壁壘可能讓MD侷限在某一個能量局部最小化位置中。

Sander程序是分子動力學模擬程序,它的主要功能是能量最優化,動力學模擬和NMR優化計算。我們必須給Sander一個運行的配置文件,使其按照我們的要求進行計算。能量最優化的配置文件如下:

“min_vac.in”


oxytocin: initial minimization prior to MD

&cntrl
imin = 1,
maxcyc = 500,
ncyc = 250,
ntb = 0,
igb = 0,
cut = 12
/


Sander程序的基本命令參數如下:

sander –O –i in –o out –p prmtop –c inpcrd –r restrt [-ref refc –x mdcrd –v mdvel –e mden –inf mdinfo]

所以我們的命令可以如下:

sander –O –i min_vac.in –o min_vac.out –p oxy_vac.top –c oxy_vac.crd –r oxy_vacmin.rst &

可以使用more命令或者tail命令查看min_vac.out的輸出內容,那是能量最優化的記錄。

2、分子動力學模擬。

Sander程序的配置文件爲:

md_vac.in


oxytocin MD in-vacuo, 12 angstrom cut off, 250 ps
&cntrl
imin = 0, ntb = 0,
igb = 0, ntpr = 100, ntwx = 500,
ntt = 3, gamma_ln = 1.0,
tempi = 300.0, temp0 = 300.0,
nstlim = 125000, dt = 0.002,
cut = 12.0
/


命令爲:

sander –O –i md_vac.in –o md_vac.out –p oxy_vac.top –c oxy_vacmin.rst –r oxy_vacmd.rst –x oxy_vacmd.mdcrd –ref oxy_vacmin.rst –inf mdvac.info &

MD的計算過程一般比較久,真空相對與溶劑中要快以下,250ps的模擬大概在一個主頻爲2。0GHz的Linux單機上運行5分鐘。

以上配置文件中用到很多參數,這些參數這是sander程序參數的一小部分,以下將相應解釋。如果要了解sander的其他參數,請閱讀AMBER用戶指南。

&ctrl和"/":sander的參數一般要求出現在這兩個標識符號之間,參數以及這兩個標識符被稱做控制模塊。

cutoff:以納米爲單位的截矩。即超出截矩範圍的非鍵連接相互作用將不計。

ntr:原子位置能量抑制位,1表示抑制,0表示不抑制。

imin:能量最優化標誌位。1表示sander將進行能量最優化,0表示讓sander進行分子動力學模擬。

macyc:能量最優化次數。

ncyc:便是經過多少次能量優化以後,能量優化從淬火過程變爲梯度變化過程。

ntmin:能量優化方法標誌位。0表示前10個能量最優化爲淬火過程,然後進行梯度能量優化;1表示ncyc次淬火過程,然後進行梯度能量優化,爲默認值;2表示只進行淬火過程。

dx0:表示啓動模擬步長。

dxm:最大優化步數。

drms:梯度能量優化標準,默認值爲1.0E-4 kcal/mol.A。

更多參數將在後文中解釋。

AMBER分子動力學簡例(三)

分子動力學(2)

水環境中的分子動力學模擬

溶劑環境中的分子動力學模擬分爲以下四步進行:

1、溶劑環境能量最優化。這一步保持溶質(蛋白)不變,去除溶劑中能量不正常的範德華相 互作用。

2、整系統能量最優化。去除整個系統中能量不正常的相互作用。

3、有限制的分子動力學。保持蛋白質不動,溶解溶劑的不同層,同時逐漸將系統溫度從0K提升到300K。

4、整系統分子動力學模擬。在一個大氣壓,300K的環境下整個系統分子動力學模擬。可以得到成果的分子動力學模擬。
#############################

1、溶劑環境能量最優化。

該步驟的配置文件min1.in如下:


oxytocin: initial minimisation solvent + ions
&cntrl
imin = 1,
maxcyc = 1000,
ncyc = 500,
ntb = 1,
ntr = 1,
cut = 10
/
Hold the protein fixed
500.0
RES 1 9
END
END


該過程保持肽鏈不動,其中500.0單位是kcal/mol,表示作用在肽鏈上使其不動的力。“RES 1 9”表示肽鏈殘基數目,因爲我們學習使用的oxytocin有9個殘基。

模擬命令如下:

sander –O –i min1.in –o min1.out –p oxy.top –c oxy.crd –r oxy_min1.rst –ref oxy.crd &

2、整系統能量最優化。

配置文件min2.in如下:


oxytocin: initial minimisation whole system
&cntrl
imin = 1,
maxcyc = 2500,
ncyc = 1000,
ntb = 1,
ntr = 0,
cut = 10
/


命令如下:

sander –O –i min2.in –o min2.out –p oxy.top –c oxy_min1.rst –r oxy_min2.rst &

3、有限制的分子動力學。

第 一步分子動力學保持蛋白分子位置不變,但是不是完全固定每個原子,同時緩解蛋白分子周圍的水分子,是溶劑環境能量優化。在這個步驟中,我們將主要目的是對 特定的原子使用作用力使其能量優化。我們要優化溶劑環境,至少需要10ps,我們將使用20ps用來優化我們上兩步製作的分子系統的週期性邊界的溶劑環 境。

命令配置文件md1.in如下:


oxytocin: 20ps MD with res on protein
&cntrl
imin = 0,
irest = 0,
ntx = 1,
ntb = 1,
cut = 10,
ntr = 1,
ntc = 2,
ntf = 2,
tempi = 0.0,
temp0 = 300.0,
ntt = 3,
gamma_ln = 1.0,
nstlim = 10000, dt = 0.002,
ntpr = 100, ntwx = 500, ntwr = 1000
/
Keep protein fixed with weak restraints
10.0
RES 1 9
END
END


上述參數解釋如下:
ntb = 1:表示分子動力學過程保持體積固定。
imin = 0:表示模擬過程爲分子動力學,不是能量最優化。
nstlim = #:#表示計算的步數。
dt = 0.002:表示步長,單位爲ps,0.002表示2fs。
temp0 = 300:表示最後系統到達並保持的溫度,單位爲K。
tempi = 100:系統開始時的溫度。
gamma_ln = 1:表示當ntt=3時的碰撞頻率,單位爲ps-1(請參考AMBER手冊)
ntt = 3:溫度轉變控制,3表示使用蘭格氏動力學。
tautp = 0.1:熱浴時間常數,缺省爲1.0。小的時間常數可以得到較好的耦聯。
vlimit = 20.0:保持分子動力學穩定性速度極限。20.0爲缺省值,當動力學模擬中原子速度大於極限值時,程序將其速度降低到極限值以下。
comp = 44.6: 溶劑可壓縮單位。
ntc = 2:Shake算法使用標誌位。1表示不實用使用,2表示氫鍵將被計算,3表示所有鍵都將被計算在內。
tol = #.#####:座標位置重新設置的幾何位置相對容忍度。

我 們將使用一個較小的作用力,10kcal/mol。在分子動力學中,當ntr=1時,作用力只需要5-10kcal/mol(我們需要引用一個座標文件做 分子動力學過程的比較,我們需要使用"-ref"參數)。太大的作用力同時使用Shake算法和2fs步長將使整個系統變得不穩定,因爲大的作用力使系統 中的原子產生大頻率的振動,模擬過程並步需要。

運行命令如下:

sander –O –i md1.in –o md1.out –p oxy.top –c oxy_min2.rst –r oxy_md1.rst –x oxy_md1.mdcrd –ref oxy_min2.rst –inf md1.info&

進行MD的運行時間一般較長,可以使用程序的並行版本提交集羣計算。在主頻位2.0GHz的P4單機上,大概需要一個鐘頭。可以隨時查看md1.in文件的程序輸出。

4、整系統分子動力學模擬。

這一步中,我們將進行整個系統的分子動力學模擬,而不對某些特定原子位置進行限制。因爲知識一個小例子,我們將只進行250ps的MD計算。配置文件md2.in如下:


oxytocin: 250ps MD
&cntrl
imin = 0, irest = 1, ntx = 7,
ntb = 2, pres0 = 1.0, ntp = 1,
taup = 2.0,
cut = 10, ntr = 0,
ntc = 2, ntf = 2,
tempi = 300.0, temp0 = 300.0,
ntt = 3, gamma_ln = 1.0,
nstlim = 125000, dt = 0.002,
ntpr = 100, ntwx = 500, ntwr = 1000
/


上面一些參數解釋如下:
ntb=2:表示分子動力學過程的壓力常數。
ntp=1:表示系統動力學過程各向同性。
taup = 2.0:壓力緩解時間,單位爲ps。
pres=1:引用1個單位的壓強。
使用以下命令進行MD:
sander –O –i md2.in –o md2.out –p oxy.top –c oxy_md1.rst – r oxy_md2.rst –x oxy_md2.mdcrd –ref oxy_md1.rst –inf md2.info &

模擬時間較長,在P4單機2.0GHz的上需要7.5個小時。
到 此,模擬全部完成,接下來要對得到的數據進行分析。主要數據文件.out文件,包含系統能量、溫度,壓力等等;.mdcrd文件,是分子動力學軌跡文件, 可以求系統蛋白的RMSD,回轉半徑等等。數據分析根據不同的研究目的不同而不同,我們將在後文中進行一些簡單的分析。

使用pdbviewer軟件 load structure的時候,假設側鏈缺失會 有提示錯誤信息。
直接使用xleap產生該結構的top crd後,再使用ambpdb重新產生structure即可加上側鏈
歡迎關注公衆號

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章