概要
REINVENTは単一の予測モデルではなく、コマンドラインで使用する分子設計ツールキットです。ドキュメントに記載された用途には、de novo設計、スキャフォールドホッピング、R基置換、リンカー設計、分子最適化が含まれます。生成モデルと強化学習を組み合わせ、多成分スコアで表現されたユーザー定義の特性プロファイルに向けて分子生成を誘導します。転移学習は、与えられた分子セットに向けてモデルを調整または事前学習するための、別の方法を提供します。
ワークフローは、モデルと実行モードの選択から始まり、主にTOMLで設定します。JSONとYAMLにも対応しています。リポジトリには設定例とそれに付随するガイダンスがあり、公開されている事前学習済みモデルへのリンクはZenodo経由で提供されています。ユーザーは、ローカル環境に合わせてサンプルのファイルパスを調整する必要があります。出力には生成分子と診断ログが含まれ、ログの出力先にはファイルまたは標準エラーを指定できます。スコアリングサブシステムはカスタムPythonプラグインにも対応しており、REINVENTのコアコードを変更する必要はありません。
READMEではPython 3.11以降を指定し、CPUまたはGPUでの実行に対応しています。GPUがインストールされていない場合は、自動的にCPUへ切り替わります。READMEは特に転移学習とモデル学習でGPUを推奨する一方、多くの強化学習スコアリングコンポーネントはCPUで動作すると記載しています。プラットフォームの検証状況は情報源に基づく記述です。Linuxは十分に検証済みとされ、Windowsはテストが少なく、サポートも限定的です。OpenEye機能の利用には別途ライセンスが必要です。出典の抜粋からは、生成分子のベンチマーク性能や実験的成功は確認できません。そのため、評価では、設定されたスコアリング目標と独立して実証された化学的成果を区別してください。
主な機能
- 多成分スコアで表現されたユーザー定義の特性プロファイルに対し、強化学習で最適化。
- 転移学習により、入力分子セットに向けた生成モデルの作成または事前学習が可能。
- ドキュメントに記載された対応範囲には、de novo設計、スキャフォールドホッピング、R基置換、リンカー設計、分子最適化が含まれます。
- TOML、JSON、YAMLで設定するコマンドラインワークフローに対応し、すべての実行モードにサンプル設定を用意。
- REINVENTのコアコードを変更せずに、Python名前空間パッケージのプラグインを通じてスコアリングを拡張可能。
- CPUとGPUでの実行に対応し、デバイス選択、乱数シード、ログ記録のコマンドライン制御機能を提供。
用途
- 評価の想定:プロジェクト固有の多成分特性スコアに照らしてde novo分子生成を評価し、その後、生成された候補を個別に検討する。
- 評価の想定:小分子研究課題に対し、適切なドキュメント記載済みモデルと実行モードを用いて、スキャフォールドホッピング、R基置換、またはリンカー設計のワークフローを比較する。
- 評価の想定:転移学習を通じて生成モデルを与えられた分子セットに適応させ、生成候補がその入力セットとどのように関連するかを評価する。
- 評価の想定:プラグイン機構を通じてプロジェクト固有のスコアリングコンポーネントを統合し、最適化に使用する前にその動作を検証する。
使い方
- 公式READMEを読み、設計タスク、モデル、実行モードを選択してください。設定を準備する前に、リポジトリ内の
configs/の例と、それに付随するMarkdownのガイダンスを確認してください。 - ドキュメントに記載された手順に従い、隔離されたPython環境でPython 3.11以降を使用してインストールしてください。ハードウェアに合わせて、リンク先のPyTorchガイダンスを参照し、プロセッサのバックエンドを選択してください。READMEではuvを使う方法は実験的とされています。
- Zenodoから適切な公開事前学習済みモデルを入手するか、ドキュメントに記載された内部事前学習済みモデルのレジストリを確認してください。モデルの利用条件とリポジトリのコードライセンスは、それぞれ別に確認してください。
- ローカルのファイルパスを調整し、該当するスコアリングプロファイルまたは転移学習用の入力を設定してください。OpenEyeに依存する機能を使用する場合は、別途必要なライセンスを確認してください。
- ドキュメントに記載されたコマンドラインインターフェースから設定済みのワークフローを実行し、評価のために設定、乱数シード、ログを保存してください。生成分子とスコアリングの挙動を確認し、化学的適性は、実証済みの結果ではなく別途評価すべき項目として扱ってください。