コンテンツにスキップ

はじめに

FBTK (Forblaze Toolkit) は、高分子や複雑な混合系の分子シミュレーション準備を劇的に加速させるためのツールキットです。 コアロジックをRustで実装し、Pythonインターフェースを通じてASEやRDKit、LAMMPSといった既存のエコシステムとシームレスに連携します。

  • High Performance: Rust によるマルチスレッド実行。数万原子のパッキングも素早く完了。
  • Zero-dependency Engine: pip install fbtk を実行するだけで、自立した Rust 高速エンジンが即座に利用可能になります。
  • Zero Configuration: 導入後の面倒な環境構築やパス設定、他ライブラリ(RDKit 等)とのバージョン競合に悩まされることはありません。
  • Built-in 3D Generation: SMILES からの 3D 座標生成も独自の VSEPR + UFF エンジン で完結しており、外部ツールなしで動作します。
  • Smart Relaxation: MD 計算の前に「重なり」を高速に解消。FIRE アルゴリズムにより系の崩壊を確実に防ぎます。
  • Ecosystem Ready: ASE Atoms オブジェクトの直接解析や変換(to_ase())を標準サポート。

FBTK では、MD シミュレーションで一般的に用いられる以下の単位系を採用しています。

  • 距離: Å (Angstrom)
  • 質量: amu (Atomic mass unit)
  • 密度: g/cm³
  • エネルギー: kcal/mol
  • : kcal/mol/Å
  • 時間: fs (MSD計算時の dt 等)

FBTK は Rust の並列処理ライブラリ Rayon を使用して、マルチスレッドでの高速計算を実現しています。構造緩和、RDF/MSD 計算、距離行列の取得など、重い処理の多くが自動的に並列化されます。

デフォルトでは、他のプロセスの妨げにならないよう 4スレッド を使用するように設定されています。

計算リソースに合わせてスレッド数を変更したい場合は、環境変数 RAYON_NUM_THREADS を設定してから Python を実行してください。

Terminal window
# 8スレッドを使用する場合
export RAYON_NUM_THREADS=8
python your_script.py

Python ワークフロー内で FBTK を利用する場合:

Terminal window
pip install fbtk

Python を使わずにコマンドラインのみで利用する場合、GitHub Releases よりスタティックバイナリをダウンロードしてご利用いただけます。 詳細は コマンドラインツール (CLI) を参照してください。

  • Python 3.8+ (Manylinux / macOS / Windows 対応)

FBTK は自己完結したバイナリモジュールとして配布されるため、必須の追加ライブラリはありません

以下のツールは必須ではありませんが、FBTK と組み合わせて使うことでより高度なワークフローが実現できます。

  • ASE: データの入出力、可視化を行う場合に推奨。

  • RDKit: 既存の RDKit オブジェクトからトポロジを取り込む場合に利用。