概要
GuacaMolは分子を生成するモデルそのものではなく、分子生成モデルのベンチマークフレームワークを提供します。2種類の評価に対応しています。生成された分子が学習分布に類似しているかを評価する方法と、スコアリング目標に対する生成結果を評価する方法です。また、リポジトリから標準化されたChEMBL由来データセットにもリンクされており、評価ソフトウェアとベンチマークデータのソースの両方として利用できます。
分布学習ベンチマークでモデルを評価するには、DistributionMatchingGeneratorを実装し、そのインスタンスと学習セットのファイルの場所をassess_distribution_learningに渡します。目標指向型評価では、指定されたスコアリング関数に基づいて高スコアの分子を指定個数生成する役割を担うGoalDirectedGeneratorを実装し、assess_goal_directed_generationを呼び出します。これらのワークフローではベンチマーク評価が得られますが、出典の抜粋には結果ファイルの形式は記載されていません。別のベースラインリポジトリには、実装例とDocker環境の例があります。
データワークフローでは、公開済みのMD5ハッシュ値がある、あらかじめ構築された学習、検証、テスト、および統合データセットを利用できます。また、リポジトリにはChEMBLデータをダウンロードして準備する手順も含まれており、指定されたホールドアウトセットと非常によく似た分子を除外します。READMEでは、パッケージのバージョン差によって生成データセットが変わり、準備に失敗する可能性があると警告し、標準化データを再現するためのDockerベースの方法を説明しています。依存関係にはRDKitとFCDがあり、FCDはFréchet ChemNet Distanceの計算に使われます。提供されたドキュメントで確認できるのはベンチマークのワークフローであり、生成分子の前向きな検証や、特定モデルの性能を示す証拠ではありません。
主な機能
- モデルアダプターと学習セットファイルを用い、`DistributionMatchingGenerator`と`assess_distribution_learning`を通じて分布学習評価を実施。
- `GoalDirectedGenerator`と`assess_goal_directed_generation`を通じて目標指向型評価を実施し、与えられたスコアリング関数に対する分子生成に対応。
- 公開済みのMD5チェックサムがある、あらかじめ構築されたChEMBL由来の学習、検証、テスト、および統合データセット。
- 指定されたホールドアウトセットと非常によく似た分子を除外しながら、ChEMBLをダウンロードして処理するデータセット準備機能。
- FCD依存関係を通じたFréchet ChemNet Distanceの計算。
- ベンチマーク開発と標準化データセットの準備に使える、ベースラインモデルの実装とDocker環境へのリンク。
用途
- 評価案:同じ標準化学習データセットを使い、分布学習ベンチマークで分子生成器を比較する。
- 評価案:目標指向型のスコアリング目標のもとで、指定個数の分子を生成する能力を評価する。
- 評価案:標準化されたChEMBL由来データセットを準備し、環境間でベンチマーク結果を比較する前に公開済みのハッシュ値を確認する。
使い方
- 公式READMEを読み、評価したい問いに応じて分布学習または目標指向型評価を選択します。ベンチマークの考え方とベースラインスコアの背景については、リンク先のベンチマーク論文を参照してください。
- READMEのインストール手順に従ってパッケージをインストールします。setup.pyと照らし合わせて依存関係を確認してください。依存関係の記載はREADMEと異なるため、両者が同一の環境を示すと想定しないでください。
- GuacaMolデータプロジェクトから該当するデータ分割を入手し、公開済みのMD5ハッシュ値を確認します。データを再生成する場合は、READMEの準備手順とDockerに関する案内に従ってください。
- モデル用に
DistributionMatchingGeneratorまたはGoalDirectedGeneratorを実装します。ベースラインリポジトリは実装の参考として利用し、モデルの一部として扱わないでください。 - 対応する評価関数を呼び出します。分布学習の場合は、学習セットの場所を指定します。結果とともにデータセットの識別情報と環境を記録してください。READMEには、インストールを確認するためのユニットテストについても説明があります。