5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

OpenBabelの最新版をソースコードからコンパイルしてインストールする方法

Last updated at Posted at 2020-03-31

はじめに

こんにちは,(株)日立製作所 研究開発グループ サービスコンピューティング研究部の露木です。

今回はOpenBabelプログラムのインストール方法を簡単に紹介します。OpenBabelは情報化学 (ケモインフォマティクス) 分野の各種計算に役立つツールボックスです。計算対象の化学構造や計算条件のフォーマットが統一されていない,シミュレーション計算用の入力ファイルの相互変換に特に役立ちます (ちなみにOpenBabelの名称は「バベルの塔」に由来しており,名称からもフォーマットを標準化したい気持ちを想像いただけるかと思います)。

OpenBabelをインストールするとき,Ubuntuではリポジトリから apt install openbabel で可能できますが,本稿の執筆時点 (2020年2月) では,とても古いバージョン2.3.2しか使えません。そこで本稿ではopenbabelのGitリポジトリからソースコードを取得してコンパイルし,最新版のOpenBabelをインストールする方法を説明します。2020年2月現在の最新版は OpenBabel 3.0です。

前提環境

  • OS: Linux (Ubuntu 18.04)
  • GUIなし

依存関係のインストール

まずはOpenBabelのコンパイルに必要なライブラリをインストールします。以下のコマンドを実行してください。

sudo apt install -y git cmake libxml2-dev zlib1g-dev libwxgtk3.0-dev libboost-all-dev libomp-dev libeigen3-dev libcairo2-dev

コンパイル

次にOpenBabelのソースコードを取得し,コンパイルするための環境を整えます。

git clone https://github.com/openbabel/openbabel.git
mkdir -p openbabel/build
cd openbabel/build

オプションを設定し,コンパイルとテストを実行します。もしも,共有の計算機などroot権限が無い環境下でコンパイルを行いたい場合は cmakeコマンドに -DCMAKE_INSTALL_PREFIX=${HOME}/.local/app/obabel といったオプションを指定してください。これにより,ホームディレクトリ以下にOpenBabelをインストールできます。

# GUIを無効化,スレッド並列化を有効化するオプションを設定
cmake -DENABLE_OPENMP=ON -DBUILD_GUI=OFF ..

# 8並列でコンパイル。並列数は計算機のCPUに合わせて変更してください
make -j8

# テストを実施
make test   # make test ARGS=--verbose とすればエラー時に詳細ログがでます

# インストールの実行
sudo make install

インストールが終了したら,OpenBabelのバージョンを確認してみます。以下のようにOpenBabel Version 3.00 をインストールできたことがわかります。

$ obabel -V
Open Babel 3.0.0 -- Feb 12 2020 -- 12:34:21

動作確認

せっかくなのでOpenBabel3.0系にしかない新機能を動作確認してみます。具体的には,SMILESからBall and Stick形式の画像に変換して可視化してみます。SMILESは1行の文字列で分子構造を表すフォーマットであり,例えばベンゼンは c1ccccc1 と表記されます。SMIELSの文字列だけから分子構造をイメージするのは難しいため,画像に変換して可視化するのは重要な操作です。

なお,オプションの意味は, -i smi でSMILESの文字列を入力とし, -O benzene.svg で保存先の画像ファイル名を指定しています。また,--gen3D は分子動力学法にもとついて3次元構造を最適化する指定であり,-xS でBall and Stick形式を指定しています。

#  SVGに-xSオプションをつけるとBall and Stickで可視化できる
echo 'c1ccccc1' | obabel -i smi -O benzene.svg --gen3D -xS

保存された benzene.svg を開くと以下のようになります。たしかに新機能が使えることがわかりました。

b.png

おわりに

今回の記事でOpenBabelの最新版をインストールし,利用できるようになりました。また,動作確認としてSMILESからの簡単な可視化を行う方法も合わせて示しました。しかし,開発元のマニュアル をご覧いただければわかるようにOpenBabelには今回紹介したもの以外にも多種多様な機能があります。そこで,次回の記事では「OpenBabelを使ってSMILES表記の分子式から3次元の分子構造を復元する方法」を説明し,シミュレーション計算の入力ファイルを作成できるようにします。

参考URL

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?