Mac OSX Catalinaに導入したDocker上でAutoDock Toolsを動かす

背景

AutoDockを使うにはAutoDock Toolsを導入しなければならない。しかしAutoDock ToolsはMac OSX Catalinaでは動かない。

ならばDocker上で動かしてやろうではないか, という記事。Dockerにした理由は動作が軽いから。

参考

  1. Dockerを導入してGUI操作可能なLinux(Ubuntu)コンテナを作成する
  2. いまさらだけど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.gzCode 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:  726Code language: PHP (php)

これはXQuartz2.7.9以降でindirect GLXがデフォルトで無効化されているのが原因らしい。そこでターミナルから以下のコマンドを実行した上でMac上のXQuartzを再起動する。

defaults write org.macosforge.xquartz.X11 enable_iglx -bool trueCode language: CSS (css)

そして再度adtを起動。

root@:/home/autodock_tools/mgltools_x86_64Linux2_1.5.6# adtCode language: PHP (php)

すると…

おお!普通に動いてる!感動!

ということで次回はこのADTを使ってAutoDockの計算をしてみようと思う。

2 Comments

Diazepam 2023年1月12日 Reply

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

uhouho 2023年1月12日 Reply

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.

Leave a Reply

CAPTCHA