- はじめに - AutoDock Vina
- セットアップ
- AutoDock Vinaのチュートリアル「basic_docking」を実行してみる
- PyMolによるDockingモデルの表示(2022年7月6日更新)
- LigPlot+を使った結合モデルの可視化
- まとめ
はじめに - AutoDock Vina
AutoDockは、 30年近く開発が進められている、分子モデリングシミュレーションソフトウェアの一つです。 主に、タンパク質–リガンドのドッキング(Docking)に利用されています。 2009年からオープンソース・ソフトウェアとなり、非商業的利用に関しては、無料で使用できます。 AutoDockは、過去には、HIV-1インテグラーゼ阻害剤の開発においても活用されました。
AutoDock Vinaは、 Oleg Trott 博士 (The Scripps Research Institute)らによって提供された、 AutoDock4の改良型ドッキングツール(AutoDockの後継)です。 Vinaの登場によって、計算の速度、ドッキング精度ともに大幅に改善されました。
原著論文 - AutoDock Vina -
AutoDock Vinaに関する原著論文は以下の2報となります。
"J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli. (2021). AutoDock Vina 1.2.0: New Docking Methods, Expanded Force Field, and Python Bindings. Journal of Chemical Information and Modeling."
"O. Trott and A. J. Olson. (2010). AutoDock Vina: improving the speed and accuracy of docking with a new scoring function, efficient optimization, and multithreading. Journal of computational chemistry, 31(2), 455-461."
今回やること
M1チップ搭載の MacBook Airで、AutoDock Vina (ver 1.2.2)をセットアップしてみました。 その方法を、設定方法とともに、具体的なコマンドを説明しています。
今回、AutoDock Vinaは、ARM用のバージョンである「vina_1.2.2_macos_arm64」を使用しています。
セットアップ
brewの設定
まずは、Homebrewを設定します。
まだ設定されていない場合は、 過去の記事を参考に設定してください。
brewコマンドを用いたパッケージのセットアップ
Macのターミナルを起動して、 所定のライブラリをbrewコマンドでインストールしていきます。
今回、インストールするのは、 boost、wget、gitのライブラリです。
#boostのインストール brew install boost #wgetのインストール brew install wget #gitのインストール brew install git
Autodock Vina 1.2.2のセットアップ
それでは、「Autodock Vina 1.2.2」のセットアップに入っていきます。 ここでは、wgetで「Autodock Vina 1.2.2」をダウンロードして、諸設定を行なっていきます。
#ダウンロード wget https://github.com/ccsb-scripps/AutoDock-Vina/releases/download/v1.2.2/ vina_1.2.2_macos_arm64 #名前の変更 mv vina_1.2.2_macos_arm64 vina #実行権限の付与 chmod +x vina #vinaを任意のフォルダに移動させる #/opt/homebrew/bin とか、すでにパスが通っているところがよい mv vina /opt/homebrew/bin #パスの確認 which vina #/opt/homebrew/bin/vina
「vina」のパス設定が完了して、「which」コマンドで確認できたらOKです。
ここまで設定できたら、ヘルプが表示されるかどうかも確認してみます。 以下の-helpオプションで、ヘルプが表示されるはずです。
#ヘルプ表示 vina -help #AutoDock Vina v1.2.2-22-gb5f8dc1-mod #Command line parse error: unrecognised option '-help' # #Correct usage: # #Input: # --receptor arg rigid part of the receptor (PDBQT) # --flex arg flexible side chains, if any (PDBQT) # --ligand arg ligand (PDBQT) # --batch arg batch ligand (PDBQT) # --scoring arg (=vina) scoring function (ad4, vina or vinardo) # #Search space (required): # --maps arg affinity maps for the autodock4.2 (ad4) or vina # scoring function # --center_x arg X coordinate of the center (Angstrom) # --center_y arg Y coordinate of the center (Angstrom) # --center_z arg Z coordinate of the center (Angstrom) # --size_x arg size in the X dimension (Angstrom) # --size_y arg size in the Y dimension (Angstrom) # --size_z arg size in the Z dimension (Angstrom) # --autobox set maps dimensions based on input ligand(s) (for # --score_only and --local_only) # #Output (optional): # --out arg output models (PDBQT), the default is chosen based # on the ligand file name # --dir arg output directory for batch mode # --write_maps arg output filename (directory + prefix name) for # maps. Option --force_even_voxels may be needed to # comply with .map format # #Misc (optional): # --cpu arg (=0) the number of CPUs to use (the default is to try # to detect the number of CPUs or, failing that, use # 1) # --seed arg (=0) explicit random seed # --exhaustiveness arg (=8) exhaustiveness of the global search (roughly # proportional to time): 1+ # --max_evals arg (=0) number of evaluations in each MC run (if zero, # which is the default, the number of MC steps is # based on heuristics) # --num_modes arg (=9) maximum number of binding modes to generate # --min_rmsd arg (=1) minimum RMSD between output poses # --energy_range arg (=3) maximum energy difference between the best binding # mode and the worst one displayed (kcal/mol) # --spacing arg (=0.375) grid spacing (Angstrom) # --verbosity arg (=1) verbosity (0=no output, 1=normal, 2=verbose) # #Configuration file (optional): # --config arg the above options can be put here # #Information (optional): # --help display usage summary # --help_advanced display usage summary with advanced options # --version display program version
これで、初めの設定は完了です。
AutoDock Vinaのチュートリアル「basic_docking」を実行してみる
次に、GitHubにあるAutodock Vinaのリポジトリをダンロードして、 そのチュートリアルのデータで動作検証をしてみます。
以下のgit cloneコマンドで、リポジトリを取得します。
git clone https://github.com/ccsb-scripps/AutoDock-Vina.git
今回は、exampleフォルダ内のbasic_docking
をサンプルとして試してみます。
このドッキングシミュレーションのbasic_docking
のサンプルは、
典型的な使用パターンで、剛体モデルの受容体に1つの分子をドッキングすることを行います。
具体的には、非受容体型チロシンキナーゼ c-Abl の立体構造に、
抗がん剤イマチニブ(Gleevec、PDB entry: 1iep)を
AutoDock Vinaを使用してドッキング実行を行います。
c-Ablは、癌原遺伝子チロシンプロテインキナーゼで、 このタンパク質は、がん化学療法、特に慢性骨髄性白血病の治療において重要な標的です。
それでは、Vinaの実行を試しますが、問題なく設定できていれば、 下記の2コマンドで、Dockingが実行されて、結果が表示されます。
#ダウンロードしたディレクト内に移動します cd ./AutoDock-Vina/example/basic_docking/solution #vina実行 vina \ --receptor 1iep_receptor.pdbqt \ --ligand 1iep_ligand.pdbqt \ --config 1iep_receptor_vina_box.txt \ --exhaustiveness=32 \ --out 1iep_ligand_vina_out.pdbqt
--receptor
には、受容体タンパク質のpdbqtファイル名を指定します。
--ligand
には、リガンド(主に低分子化合物)のpdbqtファイル名を指定します。
--config
には、引数として与えていない条件設定をテキストファイルとして指定します。
--exhaustiveness
には、グローバル探索の網羅性を指定します(32が良いようです)。
--out
には、出力ファイル名を指定します。
実行時のコンソール表示
実行結果は、以下のような感じになります。
AutoDock Vina v1.2.2-22-gb5f8dc1-mod ################################################################# # If you used AutoDock Vina in your work, please cite: # # # # J. Eberhardt, D. Santos-Martins, A. F. Tillack, and S. Forli # # AutoDock Vina 1.2.0: New Docking Methods, Expanded Force # # Field, and Python Bindings, J. Chem. Inf. Model. (2021) # # DOI 10.1021/acs.jcim.1c00203 # # # # O. Trott, A. J. Olson, # # AutoDock Vina: improving the speed and accuracy of docking # # with a new scoring function, efficient optimization and # # multithreading, J. Comp. Chem. (2010) # # DOI 10.1002/jcc.21334 # # # # Please see https://github.com/ccsb-scripps/AutoDock-Vina for # # more information. # ################################################################# Scoring function : vina Rigid receptor: 1iep_receptor.pdbqt Ligand: 1iep_ligand.pdbqt Grid center: X 15.19 Y 53.903 Z 16.917 Grid size : X 20 Y 20 Z 20 Grid space : 0.375 Exhaustiveness: 32 CPU: 0 Verbosity: 1 Computing Vina grid ... done. Performing docking (random seed: -885801442) ... 0% 10 20 30 40 50 60 70 80 90 100% |----|----|----|----|----|----|----|----|----|----| *************************************************** mode | affinity | dist from best mode | (kcal/mol) | rmsd l.b.| rmsd u.b. -----+------------+----------+---------- 1 -13.38 0 0 2 -11.4 2.993 12.41 3 -11.4 1.658 2.053 4 -11.15 3.869 12.31 5 -10.76 2.544 12.64 6 -10.1 1.988 13.73 7 -9.774 1.706 13.63 8 -9.695 2.683 12.64 9 -9.494 2.834 12.4
出力ファイルの結果表示
ここでは、1iep_ligand_vina_out.pdbqt
とういうファイルに、
構造データとBinding eneryなどの結果を出力されています。
#先頭20行を表示 head -n 20 1iep_ligand_vina_out.pdbqt #MODEL 1 #REMARK VINA RESULT: -13.057 0.000 0.000 #REMARK INTER + INTRA: -19.158 #REMARK INTER: -18.700 #REMARK INTRA: -0.458 #REMARK UNBOUND: -0.757 #REMARK Flexibility Score: inf #REMARK Active torsions [ 7 ] -> [ 7 ] #ROOT #ATOM 1 C1 LIG L 1 15.834 54.718 12.393 1.00 0.00 0.038 A #ATOM 2 C2 LIG L 1 16.908 54.561 11.405 1.00 0.00 -0.029 A #ATOM 3 C3 LIG L 1 17.891 53.541 11.628 1.00 0.00 0.007 A #ATOM 4 C4 LIG L 1 17.820 52.693 12.792 1.00 0.00 0.024 A #ATOM 5 C5 LIG L 1 16.777 52.840 13.752 1.00 0.00 0.035 A #ATOM 6 C6 LIG L 1 15.778 53.874 13.532 1.00 0.00 0.047 A #ATOM 7 C7 LIG L 1 17.030 55.437 10.136 1.00 0.00 0.045 C #ENDROOT #BRANCH 1 8 #ATOM 8 N1 LIG L 1 14.849 55.695 12.232 1.00 0.00 -0.283 N #ATOM 9 H1 LIG L 1 13.972 55.445 11.860 1.00 0.00 0.155 HD
PyMolによるDockingモデルの表示(2022年7月6日更新)
ドッキングの結果のPyMolでの可視化について紹介します。
ターミナルを起動して、以下のコマンドでPyMolをセットアップします。
PyMolインストールは以下のサイトを参照しました。
#PyMolのインストール: 5-10分くらいかかる brew install brewsci/bio/pymol #パス確認 which pymol #/opt/homebrew/bin/pymol #pymol実行 pymol # PyMOL(TM) Molecular Graphics System, Version 2.5.0. # Copyright (c) Schrodinger, LLC. # All Rights Reserved. # # Created by Warren L. DeLano, Ph.D. # # PyMOL is user-supported open-source software. Although some versions # are freely available, PyMOL is not in the public domain. # # If PyMOL is helpful in your work or study, then please volunteer # support for our ongoing efforts to create open and affordable scientific # software by purchasing a PyMOL Maintenance and/or Support subscription. # # More information can be found at "http://www.pymol.org". # # Enter "help" for a list of commands. # Enter "help <command-name>" for information on a specific command. # # Hit ESC anytime to toggle between text and graphics. # # Detected OpenGL version 2.1. Shaders available. # Detected GLSL version 1.20. # OpenGL graphics engine: # GL_VENDOR: Apple # GL_RENDERER: Apple M1 # GL_VERSION: 2.1 Metal - 71.7.1 # Detected 8 CPU cores. Enabled multithreaded rendering.
pymolコマンドを実行すると、下記の画面が立ち上がります。
1iep_receptor.pdbqt と 1iep_ligand_vina_out.pdbqt をPyMolで開いて重ねてみると、以下のようにグラフィカルにドッキングを観察できます。
LigPlot+を使った結合モデルの可視化
LigPlot+は、リガンドとタンパク質の相互作用図を2次元で自動生成するオリジナルプログラムLIGPLOTの後継版です。LigPlot+を使うと、分子間コンタクトが簡単に見やすく可視化できます。
残念ながら、もうアカデミアライセンスが無いので、過去のスライドをのっけときます。
mov を gif に変換
参考にリンクを貼っておきます。
まとめ
(結構、詳細は省いているが)AutoDock Vinaのセットアップから、Dockingシミュレーションまでの実行方法を紹介しました。
AutoDOck Vinaは、M1 Macでも、意外にもサクッと実行できるという良いソフトウェアでした。