概要
Molecular Sets (MOSES) は、分子生成研究向けのベンチマークプラットフォームであり、参照データ、モデル実装、評価ツールを組み合わせています。生成モデルの学習、分子構造のサンプリング、生成された分子集合とホールドアウトデータとの比較を、共通のワークフローで行えます。そのため、単独のデータセットや単一の予測モデルにとどまりません。
このベンチマークには、ZINC Clean Leadsコレクションから精選された1,936,962個の分子構造が含まれます。データの準備では、分子量、回転可能結合、XlogPに上限を設け、特定の原子および環の構成を除外し、メディシナルケミストリーおよびPAINSフィルターを適用します。得られたデータは、約160万個の学習分子と、それぞれ約176,000個の分子を含む2つの評価セットに分割されます。scaffold test setには、学習セットと通常のテストセットのどちらにも含まれないBemis-Murcko骨格が保持されており、未知の骨格を生成する能力を評価するための別個の参照データとなります。
カスタムモデル向けには、文書化されたインターフェースからデータセット分割を利用でき、生成したSMILESを渡して指標を計算できます。評価対象には、妥当性、一意性、新規性、最近傍類似度、内部多様性、フラグメントおよび骨格の比較、Fréchet ChemNet Distanceが含まれます。ベースラインのワークフローでは、データセット分割、学習、生成、評価も行え、結果は metrics.csv に書き込まれます。
結果を解釈する際は、ベンチマークで対象となる化学空間がフィルタリングされている点を考慮してください。比較対象はこの参照コレクションであり、制限のない化学空間ではありません。READMEでは、少なくとも30,000個の分子を生成し、指標の分散を推定するために実験を繰り返すことを推奨しています。これらの出力は生成分子集合の特性を示すものであり、生物活性や合成可能性の実験的な確認として扱うべきではありません。
主な機能
- フィルタリング済みのZINC由来ベンチマークを提供し、`moses.get_dataset` から学習用、テスト用、骨格ホールドアウトのテスト用分割を利用できます。
- CharRNN、VAE、AAE、LatentGANなどの生成ベースラインを文書化し、JTN-VAEの実装にリンクしています。
- 生成されたSMILESから、妥当性、一意性、新規性、SNN、IntDiv、フラグメントおよび骨格の指標、Fréchet ChemNet Distanceを計算します。
- 文字列ベースの分子データをtorch DataLoader用に準備するための `CharVocab` および `StringDataset` ヘルパーを提供します。
- データ分割、モデル学習、分子生成、評価結果の `metrics.csv` への保存を行う、エンドツーエンドのベースラインワークフローを含みます。
- 学習、サンプリング、評価それぞれのインターフェースに加え、複数の乱数シードでモデルを評価するワークフローを文書化しています。
用途
- 評価案:同じ参照データの分割と指標一式を使い、新しい分子生成モデルを文書化されたベースラインと比較する。
- 評価案:構造一般化を評価する際に、通常のテストセットでの比較と骨格ホールドアウトでの比較の違いを調べる。
- 評価案:分布類似性と併せて妥当性、一意性、新規性を測定し、生成分子集合におけるトレードオフを特定する。
- 評価案:ベースラインまたはカスタムモデルの実験を繰り返し、実行ごとの評価指標のばらつきを推定する。
使い方
- 公式READMEを読み、カスタムモデルのベンチマーク評価とベースラインの再現のどちらを行うか選びます。ベンチマークの研究背景については論文を参照してください。
- RDKitのセットアップを含め、READMEのインストール手順に従います。パッケージ名は
molsetsです。LatentGANには、文書化されている追加の依存関係があります。現在の互換性を前提とせず、環境に適したインストール方法を選んでください。 moses.get_datasetからtrain、test、test_scaffoldsの各分割を取得するか、リンク先のベンチマークデータセットを確認します。ホールドアウトされた参照データは、学習用入力とは分けてください。- 生成モデルを学習するか、文書化されたベースラインのワークフローに従い、生成したSMILESを収集します。指標の計算には、少なくとも30,000個の分子をサンプリングすることがREADMEで推奨されています。
moses.get_all_metricsまたは文書化された評価インターフェースを使ってサンプルを評価します。生成サンプルと指標の出力を保存し、分散を推定するために実験を繰り返したうえで、ベンチマークのフィルタリング済み化学領域の範囲内で結果を解釈してください。