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.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の計算をしてみようと思う。

コメント

Copied title and URL