概要
Datamol は RDKit 上に構築された分子処理用の Python インターフェースを提供します。中心となる分子表現は rdkit.Chem.Mol であり、既存の RDKit オブジェクトを使用するワークフローに各種関数を組み込めます。ドキュメントに記載された範囲は予測モデルではなく処理ツールキットです。下流の化学分析や機械学習用データの準備を支援する、分子の準備、表現変換、可視化、データ処理の操作を提供します。
README では、SMILES 文字列を分子に変換する方法、フィンガープリントの作成方法、SELFIES および InChI 表現の出力方法が紹介されています。また、分子の修復、サニタイズ、標準化には個別の関数が示されています。表形式データのワークフローでは、付属の FreeSolv dataframe と、それを分子オブジェクトに変換する方法が例示されています。ファイル処理では SDF、CSV、XLSX などの形式を扱い、fsspec を通じてリモートパスをサポートします。例では S3 から SDF を読み込み、Google Cloud ストレージに分子を書き込みます。
構造の確認に関する例には、二次元分子画像、配座生成、nglview による三次元表示、配座からの溶媒アクセス可能表面積の計算が含まれます。ソースには、適用可能な場合の並列実行と任意の進捗表示についても記載されていますが、出典の抜粋には性能測定値はありません。
提供されたパッケージ設定では、Python 3.11 以降および RDKit 2024.9.1 以降が必要です。依存関係の説明には注意が必要です。README の更新に関する節では任意の I/O および可視化依存関係を分離すると説明されていますが、インストールの節と提供されたパッケージ設定では、これらの機能がコアインストールに含まれています。どちらの依存関係構成が常に当てはまると仮定せず、使用するリリースのパッケージ設定を確認してください。
主な機能
- `rdkit.Chem.Mol` オブジェクトを使用し、分子入力をフィンガープリント、SMILES、SELFIES、InChI 表現に変換します。
- API ツアーで例示されている、分子の修復、サニタイズ、標準化をそれぞれ行う関数を提供します。
- dataframe のレコードを分子に変換し、SDF や `fsspec` 経由のリモートパスを含む分子データの読み書きをサポートします。
- 配座を生成し、配座を含む分子から溶媒アクセス可能表面積を計算します。
- 二次元分子図を作成し、nglview による三次元配座表示をサポートします。
- 適用可能な場合に組み込みの並列化を利用でき、任意でプログレスバーを表示できます。
用途
- 評価案:下流のケモインフォマティクス解析の前に、代表的な分子レコードを修復、サニタイズ、標準化して準備する。
- 評価案:分子構造をフィンガープリントまたは別の文字列表現に変換し、別途用意した機械学習パイプラインで使用する。
- 評価案:研究ワークフローに関連する分子について、配座生成、目視確認、表面積計算を評価する。
- 評価案:小規模な代表データセットを使い、ローカル処理と S3 または Google Cloud ストレージ間の SDF 交換を評価する。
使い方
- 公式ドキュメントとリポジトリの READMEを確認し、分子処理タスクに関係する API を特定します。
- 提供されたパッケージ設定で、環境要件と依存関係の宣言を確認します。使用予定のリリースに照らして README の依存関係に関する相反する説明を確認し、そのリリースに記載されたインストール方法に従ってください。
- リンク先の Binder 基礎ノートブックを参照するか、README の API ツアーを確認して、分子文字列が RDKit オブジェクトや派生表現に変換される仕組みを把握します。
- 評価を行う場合は、代表的な構造を少数選びます。修復、サニタイズ、標準化の出力を比較し、下流タスクに応じてフィンガープリントや変換後の文字列を調べます。
- 配座生成、分子画像、リモート SDF 交換など、必要な追加操作のみを評価します。使用した環境と観察結果を記録してください。例は、対象データセットへの適合性を示すものではありません。