概要
RDKit は、化学ワークフロー向けにケモインフォマティクスおよび機械学習ソフトウェアを提供します。中核となる分子データ構造とアルゴリズムは C++ で実装され、Python インターフェースとその他の言語向けラッパーも用意されています。これは分子処理・解析ワークフローを構築するためのツールキットであり、単体で使える予測モデルではありません。公式資料では、分子操作、数値特徴量の生成、データベース検索、外部ワークフローツールとの連携が紹介されています。
ワークフローでは、RDKit の 2D および 3D 操作の対象となるのは分子データであり、記述子とフィンガープリントの生成によって下流の機械学習に利用できる特徴量が得られます。出典の抜粋には、対応する分子ファイル形式や詳細な出力スキーマは記載されていません。データベースを利用するワークフローでは、PostgreSQL cartridge が部分構造検索と類似性検索に加え、記述子の計算もサポートします。また RDKit は KNIME 向けにケモインフォマティクス・ノードを提供しており、ワークフローベースの解析に別の連携方法を提供します。
インターフェースごとに対応範囲は異なります。README には、Python 3.x ラッパー、Java および C# ラッパー、重要な機能を提供する JavaScript および CFFI ラッパーが記載されています。この記述から、各インターフェースの機能範囲が同一であるとは判断できません。コミュニティが寄稿したソフトウェアは Contrib ディレクトリにあり、概要では標準配布物の一部として紹介されています。また概要では、言及されている連携実装は機能するものの、必ずしも最速または最も完全な実装とは限らないと注意しています。抜粋には予測精度やスループットの結果は示されていません。特定のデータセット、インターフェース、データベースのワークロードに適するかどうかは、引き続き評価が必要です。
主な機能
- 中核となる分子データ構造とアルゴリズムを C++ で実装し、Boost.Python を使用して Python 3.x ラッパーを生成。
- ケモインフォマティクス・ワークフロー向けの 2D および 3D 分子操作。
- 下流の機械学習アプリケーション向けの記述子とフィンガープリントの生成。
- 部分構造検索、類似性検索、記述子計算に対応する PostgreSQL 分子データベース cartridge。
- KNIME ワークフロー連携用のケモインフォマティクス・ノード。
- SWIG で生成された Java および C# ラッパーに加え、重要な機能を提供する JavaScript および CFFI ラッパー。
用途
- 評価案:プロジェクトの分子データから記述子またはフィンガープリントを生成し、下流の機械学習パイプラインの入力として有用か評価する。
- 評価案:化学物質コレクションから選んだ代表的なクエリを使い、PostgreSQL の部分構造検索と類似性検索を評価する。
- 評価案:RDKit のケモインフォマティクス・ノードを使用して KNIME ワークフローのプロトタイプを作成し、その動作をプロジェクトで必要な処理手順と比較する。
- 評価案:Python インターフェースから、文書化されている 2D または 3D 分子操作を調べ、化学解析ワークフローに組み込む前に評価する。
使い方
- 公式概要を確認し、ライブラリの使用、PostgreSQL 検索、KNIME 連携のいずれを選ぶか検討します。プロジェクトで必要な分子操作または特徴量出力を特定してください。
- 環境設定についてはインストールガイドを参照してください。README は Python ユーザーに conda を推奨しています。既存環境との互換性を前提にせず、公式手順からインストール方法を選んでください。
- Python 入門ガイドを読み進めてください。少数の代表的な独自分子を評価する前に、記載されている入力規約と例を確認します。
- 選択したワークフローに応じて、記述子リファレンスまたはPostgreSQL cartridge のドキュメントを使用します。評価手順として、プロジェクトの要件に照らして出力と検索動作を確認してください。
- 使用した RDKit のバージョンを記録し、引用ガイドラインに従ってください。質問には GitHub discussions、再現可能な問題にはissue trackerを利用してください。