MEGADOCK

タンパク間相互作用は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 をそれぞれ示したらしい。