概要
MoFlow は、可逆フローの定式化によって分子グラフを生成する研究モデルです。このリポジトリは Chengxi Zang と Fei Wang の論文に付随し、QM9 と zinc250k 向けのワークフローを提供します。分子生成と潜在空間の探索を用途とし、追加の物性回帰モデルを用いた最適化にも対応します。README で説明されているのは、ホステッドサービスや汎用化学インターフェースではなく、前処理、学習、実験のワークフローです。
文書化された入力ワークフローでは SMILES 文字列を使用し、前処理スクリプトによって分子グラフに変換します。ユーザーはデータセットごとのモデルを学習するか、リンク先の学習済みモデルを取得できます。生成と再構築には、モデルのスナップショットとハイパーパラメーター設定を使用します。文書に記載された出力には、再構築されたグラフ、サンプリングされた分子、分子画像、実験ログが含まれます。補間ワークフローでは、2つの分子間の経路や潜在空間上のグリッドを探索します。また、ランダム生成では、サンプリング温度、サンプル数、任意の妥当性補正を指定できます。
物性最適化では、潜在表現を QED または plogp に対応付ける追加の MLP を学習する方法がリポジトリに記載されています。この回帰モデルを使って、順位付けされた分子候補を生成したり、類似性制約のもとで既存の分子を最適化したりします。これらは計算による物性最適化ワークフローです。提供された根拠からは、実験的な活性や特定の創薬プログラムへの適合性は確認できません。
例は、提供されたデータセット、モデル設定、記録された依存関係の環境に基づいています。README には著者が報告した実験結果が含まれますが、他の設定でも同じ結果が得られる保証として扱うべきではありません。妥当性補正は生成時に明示的に選択できるため、評価では補正ありと補正なしの出力を区別する必要があります。現在のソフトウェア環境との互換性や、他のデータセットでの挙動は、出典の抜粋からは確認できません。
主な機能
- 文書化された QM9 および zinc250k のワークフロー向けに、SMILES 文字列を分子グラフへ前処理します。
- データセットごとのモデル学習例を提供し、学習済みモデルファイルへのリンクを掲載しています。
- 分子の再構築と潜在空間でのランダム生成に対応し、温度、サンプル数、妥当性補正を設定できます。
- 分子の可視化を伴う、2分子間およびグリッドベースの潜在空間補間ワークフローを含みます。
- QED または plogp 向けの潜在空間 MLP 回帰器を学習し、順位付けされた最適化分子候補の生成に利用します。
- 設定可能な分子類似性カットオフを用いた、制約付き物性最適化に対応します。
用途
- 評価案:QM9 または zinc250k で再構築と生成を評価し、妥当性、新規性、一意性を、補正ありと補正なしの出力について個別に記録します。
- 評価案:文書化された分子の可視化を使い、2点間またはグリッドベースの潜在空間補間に沿った構造変化を調べます。
- 評価案:QED 順位付け候補を生成するか、異なる類似性制約下で plogp の最適化を検討します。計算スコアを実験的な検証として扱わないでください。
使い方
- リポジトリの READMEとMoFlow 論文を読み、文書化されたデータセットと実験(再構築、ランダム生成、補間、最適化)を選びます。
- README に記載された環境と依存関係の手順に従います。記録されたパッケージバージョンは過去のセットアップ情報として扱い、現在の環境との互換性を示すものとは見なさないでください。
- 文書化された
data_preprocess.pyワークフローを使って QM9 または zinc250k を準備します。この処理では SMILES 文字列を分子グラフに変換します。前処理、学習、生成を通じてデータセットを統一してください。 - 該当する
train_model.pyの例で学習するか、リンク先の学習済みモデルフォルダーからファイルを取得します。スナップショットとmoflow-params.jsonの設定を、選択したモデルに合わせます。 - 該当する
generate.pyワークフローを使用します。評価する場合は、サンプリング設定、妥当性補正の有無、生成されたログや分子画像を記録します。 - 最適化では、
optimize_property.pyに従って物性回帰器を学習または選択します。順位付けされた候補や制約付き最適化の出力を解釈する前に、物性モデルのパスと類似性の設定を確認してください。