有機化合物の分子構造図 を書けるプログラムchemtoolを使えるようになるまで
Macbookに有機化合物の分子構造図 を書けるプログラムchemtoolをインストールしたかった。
4年前には、Macminiにインストールしているのだがその時のメモが見つからないので、一から再度インストールしてみた。
(MacOS10.15(Catalina)ではDockerを使うことに、結果としてなった。それは最後に記述)
http://ruby.chemie.uni-freiburg.de/~martin/chemtool/
には、「Windows版はzip形式であるが、Macでは、finkを使えばできるよ」と書いてある。
Finkの準備として
・Xcode のインストール
・JDK のインストール
を行い、
finkはhttps://sourceforge.net/projects/fink/files/ からダウンロードして、
cd Downloads/
tar -xvf fink-0.xx.0.tar
cd fink-0.xx.0
./bootstrap
この後で質問があって「基本的に全てEnterで問題ない」らしいが、
Enterでは処理を中止してしまう質問があったので、注意が必要。
Catalinaで下記の説明があって、InstallFink.tgzをダウンロードして、ダブルクリックするとfinkのインストールが始まった。
macOS 10.9-10.15 では、 helper script を使うことができます。 これは、下のダウンロードとビルドを自動化したものです。
下記コマンドでパスのセットアップを行いターミナルを再起動すればFinkが使える。
/sw/bin/pathsetup.sh
Fink を使ってパッケージをインストールするには
sudo apt-get install パッケージ名
Fink を使ってインストールしたパッケージはデフォルトだと/swディレクトリ配下にインストールされる。
~$ sudo apt-get install chemtool
chemtool (1.6.14-3) を設定しています ...
$ cht -h
The Chemtool drawings analyzer 1.7
*** Gizmo Head Software ***
Radek Liboska (c) 2001
syntax: cht [-options] <filename.cht>
Finkのインストールにやたら長い時間が必要だった。(夕方に始めてほったらかして、朝になって見ると終わっていた)
Xcode Toolsをインストールしておく。
MacPortsのサイトからMacPortsをダウンロードしてインストールする。
環境変数の設定、MacPortsは/opt/local以下にインストールされるので、
それに関連した環境変数を設定する。
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/man:$MANPATH
## MacPorts自身とそのリストを最新の状態に更新する
$ sudo port selfupdate
## インストールしたいパッケージを探すコマンドは、
$ port search 検索語句
## パッケージをインストールするコマンドは、
$ sudo port install パッケージ名
## パッケージをアンインストールするコマンドは、
$ sudo port uninstall パッケージ名
Catalinaではインストールできない?
やっとの思いでCatalinaにもfinkをインストールしたものの、下記のエラーです
(2020/05/16時点)
~ $ sudo apt-get install chemtool
Password:
Reading Package Lists... Done
Building Dependency Tree... Done
E: Couldn't find package chemtool
やはりdockerを使うべきなのか..... できた方がいらしたら教えてください。
↑ やってみました 追記しています
【余話】
Finkのインストール時に、何も考えず既定値で応答し続けて、インストールができなくて頭を抱えた時に、CentOS上でソースからインストールすればと考えた。
chemtoolのソースをダウンロードして解凍し、.configure のあとmakeを実行すると、下記のエラーなって諦めかけました。
$ make
main.c:18:22: 致命的エラー: gdk/gdkx.h: そのようなファイルやディレクトリはありません
#include <gdk/gdkx.h>
メッセージを英語にしていたらたぶん
gtk/gtk.h: No such file or directory かな
yum でgtkをインストールしてもupdateされるだけで、インストールされていたし....
これは、gtkの-develをインストールしたら解決した。
$ sudo yum install gtk2-devel
$ sudo yum install gtk3-devel
【すいぶん経ってからの追記】 2020.03.18
CentOSであればパッケージもある
Dockerイメージを作っておけばOSに関わらず使えるようになりそうなので、
試して見る価値がありそうです
epelリポジトリを有効にしてyumでchemtoolをインストール
chtコマンドが動作するかとchemtool 1.6.14 の起動を確認した
$ ssh -Y 192.168.1.1
$ sudo yum --enablerepo=epel install chemtool
$ cht -h
The Chemtool drawings analyzer 1.7
$ chemtool
MacOS 10.15.4(Catalina)ではDockerで実行
Catalinaではfinkのインストールも時間がかかる上に、「apt-get install chemtool」で
「Couldn't find package」となってしまうので、コンテナを作成した。
chemtoolの本来の機能であるGUIではなく、まず、chtコマンドで分子量と分子式を求めるにはこの手順でできました。
ホスト側
x11を起動する(インストールしていなかったらインストールしてください)
$ open -a XQuartz
XQuartzが起動したらセキュリティ設定(環境設定>セキュリティ)を変更しておく
1. 「接続の認証」をOFF
2. 「ネットワーク・クライアントからの接続」をON
ゲスト側
~ $ docker pull centos:7
~ $ cd inDir
inDir $ docker run --name cos7 -d -v $(pwd):/molData centos:7 /sbin/init
inDir $ docker exec -it 96 /bin/bash
[root@737d9cc121b6 /]# yum -y install epel-release
[root@737d9cc121b6 /]# yum --enablerepo=epel install chemtool
[root@737d9cc121b6 /]# yum -y --enablerepo=epel install openbabel
[root@737d9cc121b6 /]# cd /molData/
[root@737d9cc121b6 molData]# babel -h sample.mol wk.cht
[root@737d9cc121b6 molData]# cht wk.cht
C90H152O76 [2450.145] Me=2448.8029182640 44.12%C;6.25%H;49.63%O;
次にchemtoolをdcoker上で起動しました。
(Guest:Docker側の準備)
[root@0d79311d4bd7 /]# yum install libX11-devel
[root@0d79311d4bd7 /]# export DISPLAY=host.docker.internal:0.0
(Host:PC側の準備)
# Mac OS X 上で UNIX の X アプリケーションを動作させるためのx11を起動
open -a XQuartz
(Guest:Docker側でchemtoolの起動)
[root@0d79311d4bd7 /]# chemtool
Dockerfileを書いてみた
他の環境でも使いたいと考えたので、Dockerfileを書いておいた方が便利だと、勉強を兼ねて、書いてみました。
FROM centos:7
RUN yum -y install epel-release && \
yum -y --enablerepo=epel install chemtool && \
yum -y --enablerepo=epel install openbabel && \
yum -y install libX11-devel
ENV DISPLAY=host.docker.internal:0.0
Author And Source
この問題について(有機化合物の分子構造図 を書けるプログラムchemtoolを使えるようになるまで), 我々は、より多くの情報をここで見つけました https://qiita.com/taro373/items/d1c723721c223ab066d9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .