実習I 分子動力学シミュレーション用 ウェブページ
1 MDの準備と平衡化
1.2 結晶構造PDBファイルの取得
1.4 PDBファイル中の不要な情報を除く
#!/usr/bin/perl -w
open(OUT,">RNaseT1-mod1.pdb");
open(IN,"1I0V.pdb");
while(<IN>){
if( /^ATOM/ or /^HETATM/ or /^TER/ ){
$cnf=substr($_,16,1);
if( $cnf eq "A" or $cnf eq " " ){
print OUT;
}
}
}
1.5 PDBファイルの編集
#!/usr/bin/perl -w
open(OUT,">RNaseT1-mod2.pdb");
open(IN,"RNaseT1-mod1.pdb");
while(<IN>){
s/HIS/HIP/g;
s/CYS/CYX/g;
if(/2GP/){
s/\*/\'/g;
}
s/CA CA/CA CA1/g;
print OUT;
}
1.6 leapの入力ファイルを作成 (leap_pbc)
追加のパラメーター類
シェルスクリプトleap.csh
#!/bin/csh
setenv AMBERHOME /usr/local/amber8
/usr/local/amber8/exe/tleap -f leap.in
leap.in
source leaprc.ff99
parmmod=loadAmberParams frcmod.dat
loadAmberPrep 2GP_chg.prep
loadAmberPrep cal.prep
mol = loadPDB ../RNaseT1-mod2.pdb
bond mol.2.SG mol.10.SG
bond mol.6.SG mol.103.SG
addions mol Na+ 0
solvateBox mol TIP3PBOX 8.0
charge mol
saveAmberParm mol parm.top parm.crd
savePDB mol parm.pdb
quit
1.7.2. 拘束つきエネルギー最小化 (min_1)
設定ファイルmin1.in
Initial minimization solvent + ions
&cntrl
imin = 1,
maxcyc = 1000,
ncyc = 500,
ntb = 1,
ibelly = 1,
BELLYMASK = ':107-111,236-4583',
/
実行シェルスクリプトrun.csh
#!/bin/csh
bsub -J min1 -q parallelA -o %J.out -e %J.err -n 2 \
mpijob /usr/local/mpich-intel71/bin/mpirun \
/usr/local/amber8/exe/sander -O \
-i min1.in \
-o min1.out \
-p ../leap_pbc/parm.top \
-c ../leap_pbc/parm.crd \
-ref ../leap_pbc/parm.crd \
-r min1.restrt
1.7.3. 全原子で最小化 (min_2)
設定ファイルmin2.in
Initial minimization solvent + ions
&cntrl
imin = 1,
maxcyc = 2000,
ncyc = 1000,
ntb = 1,
/
実行シェルスクリプトrun.csh
#!/bin/csh
bsub -J min2 -q parallelA -o %J.out -e %J.err -n 2 \
mpijob /usr/local/mpich-intel71/bin/mpirun \
/usr/local/amber8/exe/sander -O \
-i min2.in \
-o min2.out \
-p ../leap_pbc/parm.top \
-c ../min_1/min1.restrt \
-r min2.restrt
1.8.3. 弱い拘束つき平衡化MD (md_pre)
mdpre_1.0.in
RNaseT1: 100ps MD with res
&cntrl
imin = 0,
ntx = 1,
ntb = 2,
ntp = 1,
pres0 = 1.0,
ntr = 1,
RESTRAINT_WT = 1.0,
RESTRAINTMASK = '!@H= & :1-106,112-235',
ntc = 2,
ntf = 2,
ntt = 1,
tempi = 0.0,
temp0 = 300.0,
nstlim = 50000,
dt = 0.002,
ntpr = 100,
ntwr = 1000
/
実行スクリプトrun_mdpre.csh
#!/bin/csh
# Equilibrium MD with harmonic restraint
bsub -J mdpre -q parallelA -o %J.out -e %J.err -n 2 \
mpijob /usr/local/mpich-intel71/bin/mpirun \
/usr/local/amber8/exe/sander -O \
-i mdpre_1.0.in \
-o mdpre_1.0.out \
-p ../leap_pbc/parm.top \
-c ../min_2/min2.restrt \
-ref ../min_2/min2.restrt \
-r mdpre_1.0.restrt
1.8.4. 拘束なし平衡化MD (md_pre)
設定ファイルequilib.in
RNaseT1: 100ps NTP MD
&cntrl
imin = 0,
irest = 1,
ntx = 7,
ntb = 2,
ntp = 1,
pres0 = 1.0,
ntc = 2,
ntf = 2,
ntt = 1,
temp0 = 300.0,
nstlim = 50000,
dt = 0.002,
ntpr = 100,
ntwr = 1000
/
実行スクリプトrun_equ.csh
#!/bin/csh
# Equilibrium MD
bsub -J equilib -w 'ended(XXXX)' -q parallelA -o %J.out -e %J.err -n 2 \
mpijob /usr/local/mpich-intel71/bin/mpirun \
/usr/local/amber8/exe/sander -O \
-i equilib.in \
-o equilib.out \
-p ../leap_pbc/parm.top \
-c mdpre_1.0.restrt \
-r equilib.restrt
2.2. プロダクション・ランを開始 (prod)
入力ファイルprod.in
RNaseT1: 1ns NTP MD
&cntrl
imin = 0,
irest = 1,
ntx = 7,
iwrap = 1,
ntb = 2,
ntp = 1,
pres0 = 1.0,
ntc = 2,
ntf = 2,
tol=0.000001,
ntt = 1,
temp0 = 300.0,
nstlim = 500000,
dt = 0.002,
ntpr = 100,
ntwx = 500,
ntwr = 1000
/
シェルスクリプトrun.csh
#!/bin/csh
bsub -J prod -q parallelA -o %J.out -e %J.err -n 2 \
mpijob /usr/local/mpich-intel71/bin/mpirun \
/usr/local/amber8/exe/sander -O \
-i prod.in \
-o prod.out \
-p ../leap_pbc/parm.top \
-c ../md_pre/equilib.restrt \
-r prod.restrt \
-x prod.crd
3.4. RMSDを計算し構造の変化を見る (rmsd)
入力ファイルptraj.in
reference ../leap_pbc/parm.crd
trajin ../prod/prod.crd.gz
strip :WAT
rms reference out rmsd.txt :1-104@CA
go
実行用シェルスクリプトptraj.csh
#!/bin/csh
setenv AMBERHOME /usr/local/amber8
/usr/local/amber8/exe/ptraj ../leap_pbc/parm.top ptraj.in
3.5. 水素結合などの変化を見る (hbond)
入力ファイルptraj.in
trajin ../prod/prod.crd.gz
distance x :46@OE2 :106@N2 out dist_46OE2_106N2.txt
distance y :46@OE1 :106@N1 out dist_46OE1_106N1.txt
go
実行用シェルスクリプトptraj.csh
#!/bin/csh
setenv AMBERHOME /usr/local/amber8
/usr/local/amber8/exe/ptraj ../leap_pbc/parm.top ptraj.in