エネルギー最小化計算
分子動力学計算の最初にエネルギー最小化計算を行う。これは、初期構造が持つ不自然に高いエネルギー状態(多くの場合、立体障害による)を解消するために行う。このチュートリアルでは、最初に最急降下法(steepest descent algorithm)を使い、途中からより収束の早い共役勾配法(conjugate gradient method)にスイッチする。エネルギー最小化計算を行うには、以下のようなmdinファイルをmin.inとして作成し、AMBERの持つエネルギー最小化と分子動力学計算のための基本的なプログラムsanderに読み込ませる。
Minimize &cntrl imin=1, # エネルギー最小化計算を選択する ntx=1, # 座標情報のみを読み込む irest=0, # リスタートをしない maxcyc=2000, # エネルギー最小化計算のステップ数 ncyc=1000, # 最急降下法から共役勾配法にスイッチするステップ数 ntpr=100, ntwx=0, # mdcrd形式のアウトプットファイルを書き出さない cut=12.0, / $wt type='END', &end
次にsanderに作成したmdinファイルと、インプットファイルの作成までで作成したprmtopとinpcedファイルを読み込ませて実行する。この計算には数分かかる。
$AMBERHOME/bin/sander -O -i min.in -o min.out -p test.prmtop -c test.inpcrd -r min.rst -inf min.info
より実践的には、読者は今回の7残基のペプチドよりも大きな生体分子を扱いたいと思っているかもしれない。そういったケースでは、並列化計算を行う場合が多いだろう。その場合、基本的な分子動力学計算プログラムであるsanderよりも、並列化計算のスケーリングと速度のために最適化されたpmemdを使用するのがよいだろう。pmemdを用いて並列化計算をする場合には、以下のようなコマンドを用いる。
mpirun -np 並列CPUコア数 $AMBERHOME/bin/pmemd -O -i min.in -o min.out -p test.prmtop -c test.inpcrd -r min.rst -inf min.info
計算すると、min.rstに計算結果の構造が出力されている。PDBフォーマットの構造の出力には、サンプルスクリプト置き場にあるBashスクリプトが利用できる。以下に、初期構造(赤色の分子)とエネルギー最小化後の構造(色付けされた分子)を重ねた図を示した。実際に、初期構造から構造がわずかに変化していることが確認できるだろう。
参考文献
http://ambermd.org/doc12/Amber16.pdf