タンパク間相互作用はMEGADOCKを用いて計算できる。PDB ID:1PPE という複合体とかいうタンパクのドッキングをサンプルとして行う。データはこちらから入手して解凍したら tutorial というフォルダがあるのでここで作業する。
MEGADOCKはノートPCからスパコンまで幅広く並列計算に対応している。2 core 4 threads のノートPCなので使用するスレッドを設定する。
export OMP_NUM_THREADS=2
対象 PDB 2つ、出力ファイルの名前を 1PPE(.out)に、候補構造を 1000 個出力する。
megadock -R pdb/1BTP.pdb -L pdb/1LU0_A.pdb -o 1PPE -N 1000
実行したらこんな感じになる。6分くらい。
MEGADOCK ver. 2.6 megadock@bi.cs.titech.ac.jp lastupdated: 2013/01/11 #Using OpenMP parallelization: 4 threads. #Number of output = 1000 #Receptor = pdb/1BTP.pdb #Ligand = pdb/1LU0_A.pdb #Output file = 1PPE.out Receptor = pdb/1BTP.pdb Receptor max size = 46.977 Required voxel size = 62.977 Number of grid = 54 FFT N = 108 Ligand = pdb/1LU0_A.pdb Ligand max size = 27.8556 Required voxel size = 33.8556 Number of grid = 30 FFT N = 60 Memory requirement (/node) = 148.7 MB ---------- Start docking calculations Ligand = pdb/1LU0_A.pdb Target receptors: pdb/1BTP.pdb >Ligand rotation = 1080 / 3600 ( 1) >Ligand rotation = 2880 / 3600 ( 3) >Ligand rotation = 360 / 3600 ( 0) >Ligand rotation = 2160 / 3600 ( 2) >Ligand rotation = 1440 / 3600 ( 1) >Ligand rotation = 3240 / 3600 ( 3) >Ligand rotation = 720 / 3600 ( 0) >Ligand rotation = 2520 / 3600 ( 2) >Ligand rotation = 1800 / 3600 ( 1) >Ligand rotation = 3600 / 3600 ( 3) CPU time (initialize) = 0.01 sec. ( 0.0%) CPU time (receptor process) = 0.39 sec. ( 0.1%) CPU time (docking) = 348.50 sec. (99.9%) | Ligand voxelization = 12.67 sec. ( 3.6%) | Ligand FFT = 155.66 sec. (44.6%) | Inverse FFT to get score = 162.67 sec. (46.6%) | Sort score (each core) = 14.99 sec. ( 4.3%) | Sort score (merge) = 0.00 sec. ( 0.0%) CPU time (detailed output) = 0.00 sec. ( 0.0%) CPU time (output) = 0.00 sec. ( 0.0%) Elapsed time = 348.92 sec.
out ファイルに対応する複合体の pdb を生成する。
./create.pl 1PPE.out
評価値 1 位の予測複合体の構造(pdb)を見る。マウスでグリグリしたりリボンにしたりと色々変えられる。
pymol 1PPE.1.pdb
ZRANK という MEGADOCK の複合体構造に対し、原子レベルのエネルギースコア計算を行って順位を再評価するツールを使う。
./bin/reduce pdb/1BTP.pdb > pdb/1BTP.pdbh ./bin/reduce pdb/1LU0_A.pdb > pdb/1LI0_A.pdbh sed 's/.pdb/.pdbh/g' 1PPE.out > 1PPE.outh
エネルギースコアの確認とソートを行う。
less 1PPE.outh.zr.out
1 -88.4861 2 -77.5624 3 -81.7632 4 -68.882 5 -65.046
sort -n -k 2 1PPE.outh.zr.out | less
1 -88.4861 30 -82.3825 3 -81.7632 2 -77.5624 11 -73.5918
RMSD という構造予測の精度を測る指標を使って評価する。正解の複合体結晶構造との RMSD を計算する。L-RMSD が 5Å 以下の decoy は「near-native」という言い方をし、正解と定義するらしい。
RMSD の小さい順に並べ替えて確認する。
./tools/rmsd.sh pdb/1PPE_r_b.pdb pdb/1PPE_l_b.pdb 1PPE.out less 1PPE.rmsd.txt sort -n -k 2 1B6C.rmsd.txt | less
157 2.79611009104 445 8.49128644474 42 9.04351297398 214 10.3447109235 839 12.7315219502
PDB ID: 1PPE 複合体のドッキング例。MEGADOCK による予測 1 位と 500 位の decoy をそれぞれ示したらしい。