背景
AutoDockを使うにはAutoDock Toolsを導入しなければならない。しかしAutoDock ToolsはMac OSX Catalinaでは動かない。
ならばDocker上で動かしてやろうではないか, という記事。Dockerにした理由は動作が軽いから。
参考
導入
Dockerの導入
まずはDockerを導入してGUI操作可能なLinux(Ubuntu)コンテナを作成するを参考にDockerの環境を整備。前述のリンクがとてもわかりやすいのでそのとおりにやればできるはず。今回はUbuntuを導入した。
AutoDock Toolsの導入
導入したDocker上のUbuntuを起動し, 任意のフォルダに公式サイトから最新版のAutoDock Toolsのアーカイブを持ってきて解凍する。
wget http://mgltools.scripps.edu/downloads/downloads/tars/releases/REL1.5.6/mgltools_x86_64Linux2_1.5.6.tar.gz
tar -zxvf ./mgltools_x86_64Linux2_1.5.6.tar.gz
Code language: JavaScript (javascript)
続いて解凍したフォルダに移動してインストール
cd ./mgltools_x86_64Linux2_1.5.6
./install.sh
インストール後に~/.bashrcにPATH以下の行を追加。フォルダの場所は各自違うと思うので前述のインストール画面の指示に従ってください。追加後はsource ~/.bashrcで環境変数を再読み込み。
export PATH=/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin:$PATH
alias pmv='/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin/pmv'
alias adt='/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin/adt'
alias vision='/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin/vision'
alias cadd='/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin/cadd'
alias pythonsh='/home/autodock_tools/mgltools_x86_64Linux2_1.5.6/bin/pythonsh'
Code language: JavaScript (javascript)
あとはadtとタイプしてAutoDock Toolsを起動…しようとしたら以下のエラーを得てしまった。
root@:/home/autodock_tools/mgltools_x86_64Linux2_1.5.6# adt
setting PYTHONHOME environment
Run ADT from /home/autodock_tools/mgltools_x86_64Linux2_1.5.6/MGLToolsPckgs/AutoDockTools
Resource file used to customize PMV: /root/.mgltools/1.5.6/Pmv/_pmvrc
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Warning: disabling accumulation buffers couldn't choose pixel format
Couldn't configure togl widget
X Error of failed request: GLXBadContext
Major opcode of failed request: 149 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 727
Current serial number in output stream: 726
Code language: PHP (php)
これはXQuartz2.7.9以降でindirect GLXがデフォルトで無効化されているのが原因らしい。そこでターミナルから以下のコマンドを実行した上でMac上のXQuartzを再起動する。
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
Code language: CSS (css)
そして再度adtを起動。
root@:/home/autodock_tools/mgltools_x86_64Linux2_1.5.6# adt
Code language: PHP (php)
すると…
おお!普通に動いてる!感動!
ということで次回はこのADTを使ってAutoDockの計算をしてみようと思う。
2 Comments
I am so appreciate for your creative work! According to your guidance, I packaged AutodockTools into a mirror image, and it can work well on my m1 macbook. I hope that people who have the same needs in the future can install and deploy directly from this repository.Thanks!
https://github.com/Metaphorme/AutoDock-Vina-Docker
Hi, thank you for your comment. I did not expect this kind of article written only for me could be helpful for somebody, especially who lives outside of Japan 😂. Btw, I followed your git repository.