分子モデリングソフト:Builcule
Builcule は,低分子有機化合物からタンパク質までの分子モデルをシームレスに作成できることを目指して開発しているフリーの分子モデリングソフトです.
GUI 部分は Qt といクロスプラットフォームアプリケーション開発フレームワークを使っています.Qt と C++ がインストールされていれば,他の OS でも動作するはずです.実際は多少の手直しが必要という場合もあるのですが.
モデリングの出発分子として,ファイルの読み取り以外に,メインウィンドウで n-アルカンやペプチドの新規作成や追加が可能です.
共有結合と分子,アミノ酸残基とアミノ酸配列,といった種々の情報を検知し,検知した分子構造に対して,回転・移動,元素や共有結合の編集,官能基の付加,配列アライメント,重ね合わせ,ホモロジーモデリングといった処理が施せます.
- 元素とその座標に基づいて,結合,アミノ酸残基,アミノ酸配列,分子など分子構造を検知します
- 原子,共有結合,官能基やアミノ酸を含む部分構造,あるいは分子単位での編集が可能です
- 分子の系を格納するレイヤが 3 個あり,複数の系を関連させつつ同時に編集できます
- 配列アライメント,重ね合わせ,ホモロジーモデリングといったタンパク質の編集機能を有します
- libopenbabel によるファイル入出力,エネルギー極小化,コンフォメーション探索が可能です
このディレクトリでは,機能の紹介とマニュアル,分子モデルの作成例,仕様,ビルドとインストール法などを紹介ています.
開発を再開しました.今回のバージョンアップには数か月程度かかると見ています.その間,α,β-版の公開とサイトの更新を進めます.(2025 年 12 月 30 日)
主な機能
画像は,Builcule-10 のメインウィンドウです.
アミノ酸配列として PIYTR を入力してペプチドを作成し,水素付加した後に,コンフォメーション探索を行ったところです.
Builcule の主な機能を列挙します.
- 複数の分子を編集可能な系が 3 個
- 分子の新規作成:炭素数を入力して n-アルカンを生成,配列を入力してペプチドを生成.いくつかのファイル形式での入出力
- 分子の編集:分子単位でのコピー,カット,ペースト.並進と回転
- 原子の編集:元素の変更,削除,原子 1 個分の伸長と分岐
- 共有結合の編集:生成と切断
- 枝領域の編集:コピー,カット,接続.結合距離,結合角,および二面角の変更(これらの処理は枝領域単位)
- 置換基:枝領域を置換基セットに追加.置換基接続
- アミノ酸残基:変異,欠失
- ホモロジーモデリング:通常の配列アライメントによる方法,試作の構造アライメントによる方法
- 重ね合わせ:原子を指定した重ね合わせ,アミノ酸配列のアライメントを利用した重ね合わせ
- OpenBabel ライブラリの利用:ファイル入出力,エネルギー極小化,コンフォメーション探索
- 分子間相互作用シミュレーション:趣味的に作成しているものであり,分子動力学的な方法ではありません
チュートリアル:Builcule による分子モデル作成例
Builcule を使うと種々の分子モデルが作成できます.
アデノシン-1-リン酸の作成
グリセリドの作成
α-シクロデキストリンの作成
タンパク質-タンパク質複合体モデルの作成
タンパク質-低分子複合体の低分子を改変
マニュアル
メニューバーやツールボックスの構成に沿ったBuilcule マニュアルを作成しています. また,いくつかのトピックスのページもあります.
分子を追加:n-アルカンとペプチドの追加が可能です
OpenBabel による分子力学計算:libopenbabel を使っています
領域の編集
原子に対する編集
ファイル
ホモロジーモデリング
ポイントミューテーション
距離,角度,二面角の測定と変更
PDB ファイルの前処理:PDB ファイルを,表示や編集をしやすいように編集するコツです
配列アライメントによる重ね合わせ
ピックした原子を重ね合わせ
表示と選択
ビルドとインストール
ソースファイル
まず,libbuilcule-2 をインストールし,その後で Builcule をビルドしてください
ビルド
builcule-10.2.3.tar.bz2 を解凍して生成するディレクトリに移動します.
~$ tar -xjvf builcule-10.2.3.tar.bz2
~$ cd builcule-10.2.3
Makefile を作成します.
~/builcule-10.2.3$ qmake
続いてビルド.
~/builcule-10.2.3$ make
ビルドが成功したら実行ファイル builcule が生成します.
インストール
ビルドに成功したら,
~/builcule-10.2.3$ sudo make install
としてください.
実行ファイルが /usr/local/bin/ にインストールされます.
実行
インストールしてあれば,任意のディレクトリから,
builcule &
で Builcule が起動します.
アンインストール
アンインストールは,ビルド & インストールした後の状態なら(qmake で Makefile を作成した状態),
~/builcule-10.2.3$ sudo make uninstall
としてください.
手動で削除する場合は,
~$ sudo rm /usr/local/bin/builcule
開発環境
libbuilcule も含め,ビルドには C++ コンパイラ + Qt + Eigen + LibOpenBabelが必要です.
下の表は,私がインストールしている開発環境に係るパッケージです.プログラミングに,開発環境の練習記録があります.
| パッケージ名(バージョン) | 注 |
| g++ (12.2.0) | GNU C++ コンパイラ |
| qtbase5-dev(5.15.8) | GUI ライブラリ Qt 5 用の開発ツール |
| libglu1-mesa-dev(9.0.2) | Mesa OpenGL ユーティリティライブラリの開発ファイル.描画用 |
| libeigen3-dev (3.4.0) | 線形代数用の C++テンプレートライブラリ.分子の三次元座標の処理用 |
| libopenbabel-dev (3.1.1) | ライブラリ版 Open Babel |
不具合
アライメント済みあるいは同一座標のタンパク質をアライメントしようとすると異常終了する場合があります.
ダウンロード等で入手した PDB ファイルでは,数値の記述位置がずれていることがあり,Builcule でファイルが開けない場合があります.
ただし,OpenBabel で他の形式に変換するなどの対策を取れば開けることがあります.
libbuilcule の課題と位置づけておきます.
Builcule-10 リリース履歴
- 2023 年 11 月 27 日 : 10.2.3 リリース.アミノ酸エディタの内部での設定に誤りがあったので修正しました
- 2023 年 11 月 26 日 : 10.2.2 リリース.選択や表示の状態によっては,ファイルを開く際に異常終了してしまうバグを修正しました
- 2023 年 11 月 25 日 : 10.2.1 リリース.ピックされた原子の近傍の原子を選択する際に,ピックされた原子が非表示の場合に異常終了するバグを修正しました
- 2023 年 11 月 24 日 : 10.2.0 リリース.近傍の原子を選択する際に,それらが属するアミノ酸も選択するように修正しました.ピックに関わるバグを修正しました
- 2023 年 11 月 23 日 : 10.1.4 リリース.アミノ酸を欠失すると異常終了する場合があったので訂正しました
- 2023 年 11 月 16 日 : 10.1.3 リリース.アミノ酸配列の扱いが甘くて異常終了する場合があったので訂正しました
- 2023 年 11 月 5 日 : 10.1.2 リリース.[実験(X)]-[分子間相互作用] で,1000 ステップごとに,ステップ数を端末に出力するようにしました
- 2023 年 11 月 4 日 : 10.1.1 リリース.libbuilcule の変更に伴い,[実験(X)]-[分子間相互作用] のオプションを変更しました
- 2023 年 11 月 2 日 : 10.1.0 リリース.libbuilcule の変更に伴い,メニューに [実験(X)]-[選択した分子の構造を調整] を追加しました
- 2023 年 10 月 25 日 : 10.0.8 リリース.libbuilcule の変更に伴い,ビルドの条件を変更しました.本体は変更なしです
- (略)
- 2023 年 8 月 20 日 : 10.0.0 リリース
- (略)
- 2023 年 3 月 26 日 : 10-α-1 リリース
Builcule のコンセプトは,広島大の故・吉田先生が開発されていた MOLDA の影響を強く受けています(コード上の関連はありません).
私はプログラミングや計算化学は素人であり,先生とはリアルでは 1 度お会いしただけですが,ネット上でたいへんお世話になりました.
Builcule 開発の原点は,このあたりにあります.
次期バージョン Builcule 11 の進捗状況
2026 年 1 月 8 日現在,GUI 部を作成したところです.
画像は開発中のスクリーンショットです.テストパタンとして,Qt/C++ による GUI ソフト 7:レンダリング その2で作成した球を表示しています.
変更点
バージョン 11 での大きな変更点は以下の 2 点です.
これら以外に,新機能の追加や以前削除した機能の復活を考えています.
- 分子描画ソフトウェア Detrial の機能を Builcule に統合します.これにより分子描画機能を強化します
- 描画ライブラリを GLU(OpenGL Utility Library)から Qt 3D に変更します.これにより最近の CG 技術を取得します
実装できたコマンド
部分的にでも実装できたメニューコマンドおよびツールボタンは以下のとおりです.
進捗度を示す目安にはなろうかと思います.
メニューバー
- [ファイル(F)]-[終了(Q)]