概要
Mordredは、ケモインフォマティクスのワークフローで使用する分子記述子を計算します。分子ファイル用のコマンドラインインターフェースと、RDKit分子オブジェクトを受け取るPythonライブラリインターフェースを提供します。分子構造を数値特徴量に変換するのがその役割です。提供された資料が説明しているのは記述子の計算であり、学習済みの分子特性予測モデルではありません。READMEには、例示された設定で2D記述子1,613個と3D記述子213個、合計1,826個が含まれると記載されています。
コマンドラインのワークフローはSMI、SDF、MOLファイルを受け付け、入力形式の自動選択または明示的な指定が可能です。結果はCSV形式で標準出力に書き出すか、ファイルに保存できます。記述子ファミリーの選択、複数入力ファイルの指定、プロセス数の設定、ストリーミング入力にも対応します。Pythonでは、Calculatorを使って個々のRDKit分子の記述子を計算したり、複数分子からpandasテーブルを生成したりできます。ドキュメントに記載されているファミリーには、原子数や結合数、環の数、トポロジー指数、水素結合記述子、SLogPがあります。
比較可能な特徴量テーブルを準備する際は、設定が重要です。ライブラリの例ではignore_3D=Trueを指定して3D記述子を除外します。一方、コマンドラインの3DオプションにはSDFまたはMOL入力が必要です。ストリーミングは、分子数の情報を必要としない低メモリモードとして説明されています。READMEはcondaによるインストールを推奨し、RDKitを先にインストールしてからpipで導入する方法も説明しています。提供されたsetupファイルには依存関係の制約が記載されています。これらの抜粋から現在の環境との互換性や予測精度は確認できないため、インストール確認と下流モデルの評価は別の作業として行う必要があります。
主な機能
- 2Dおよび3D分子記述子を計算します。READMEの例では、2D記述子1,613個と3D記述子213個が報告されています。
- コマンドラインインターフェースでSMI、SDF、MOLファイルを受け付け、記述子の結果を標準出力またはCSVファイルに書き出します。
- 完全な記述子セットを使わず、ABCIndexやAcidBaseなどの記述子ファミリーを選択できます。
- 複数の入力ファイルを処理でき、プロセス数の設定やストリーミング入力にも対応します。
- RDKit分子オブジェクト用のPython Calculatorインターフェースを備え、単一分子の結果とpandasテーブルの出力に対応します。
- ライブラリインターフェースでは3D記述子を除外できます。コマンドラインで3D記述子を計算するにはSDFまたはMOL入力が必要です。
用途
- 評価案:QSARまたは分子特性モデリングのパイプライン用に2D記述子テーブルを準備し、その後、モデル性能を別途評価します。
- 評価案:RingCount、HydrogenBond、AcidBaseなど、選択したファミリーを使い、化合物群におけるドキュメント記載の構造記述子を比較します。
- 評価案:想定する環境で出力の完全性とメモリ使用量を確認し、大規模な分子ファイルのワークフローにストリーミング入力が適するか評価します。
- 評価案:適切なSDFまたはMOL入力を用いて、2Dのみの特徴量セットと3Dを含む特徴量セットを比較します。予測上の利点があるとは前提しません。
使い方
- ドキュメントに記載されたインストール方法についてはREADMEを参照してください。READMEはcondaを推奨しています。pipで導入する場合は、先にRDKitをインストールする必要があります。現在の環境との互換性を前提とせず、提供された依存関係の制約を使用予定の環境と照合してください。
- 化合物群を処理する前に、READMEに記載されたインストールテストの手順に従ってください。これはローカル環境の確認であり、科学的な適合性を検証するものではありません。
- 代表的なSMI、SDF、MOL入力を少量用意します。コマンドラインの3Dオプションを評価する場合はSDFまたはMOLを使い、最初のテーブルを2D記述子のみにするか決めてください。
- 公式サンプルに従い、コマンドラインによるファイル出力か、RDKitベースのCalculatorインターフェースを選びます。完全なセットが不要なら記述子ファミリーを選択してください。ライブラリではpandasへの出力も可能です。
- 下流で使用する前に、生成されたテーブルを確認してください。master documentationで追加のガイダンスを参照し、そのうえで記述子の適合性と予測モデルを、それぞれ独立して自分のデータで評価してください。