概要
DeepMolは、創薬と計算化学向けのPython機械学習・深層学習フレームワークです。RDKitによる分子操作と、Scikit-Learn、Keras、DeepChemのモデルを利用するラッパーを通じて、分子データの準備と予測モデリングを結び付けます。単一の予測モデルではなく、ワークフロー用ツールキットです。ユーザーは前処理とモデリングのコンポーネントを組み合わせることも、文書化されたpipelineインターフェースを使って統合することもできます。
入力には、SMILESと任意の識別子、ラベル、既存の特徴量を含むCSVデータセットや、分子構造を含むSDFファイルがあります。準備オプションには、基本的なサニタイズ、設定可能な標準化、ChEMBL標準化が含まれます。分子表現には、複数のフィンガープリント系列、DeepChem featurizer、Mol2Vec埋め込みがあります。ワークフローでは、特徴量行列、変換済みデータセット、学習済みモデル、予測、評価指標を生成できます。また、モデルとパイプラインの保存および読み込みにも対応します。
モデル開発について、READMEではランダム分割と層化分割、交差検証、特徴選択、不均衡データへの対処、ハイパーパラメータ探索、パイプライン最適化を紹介しています。探索手法にはPCA、tSNE、KMeans、UMAPがあります。SHAPベースの説明とフィンガープリントビットの描画は、特徴量の寄与を調べる際に利用できます。別途リンクされたケーススタディのリポジトリでは、ADMETの例を含むデプロイ済みモデルが提供されています。これらはコアツールキットとは別のものです。
READMEでは依存関係の制約について注意を促しています。GPUを使うには、TensorFlowとDGLのバージョンをハードウェアのCUDAドライバーに合わせる必要があります。JAXは依存関係の競合を引き起こす場合があり、macOSでTensorFlowモデルを読み込む際には文書化された問題があります。Seq2Seqとtransformerベースの分子埋め込みは開発中とされており、利用可能な機能ではありません。提供された根拠からは、ユーザーのデータセットに対する予測性能は確認できません。
主な機能
- SMILESと任意のラベル、識別子、特徴量を含むCSVファイル、および分子構造を含むSDFファイルから分子データセットを読み込みます。
- 基本、設定可能、ChEMBLの各標準化を提供し、電荷の中和、同位体の除去、立体化学情報の除去、フラグメント選択などのオプションに対応します。
- Morgan、MACCS、Layered、RDK、AtomPairフィンガープリントを計算し、DeepChem featurizerとMol2Vec埋め込みも利用できます。
- Scikit-Learn、Keras、DeepChemのモデルをラップし、学習、予測、指標に基づく評価、交差検証、モデルの永続化に対応します。
- 特徴選択、ランダム分割と層化分割、不均衡データのサンプリング、ハイパーパラメータ探索、複数ステップのパイプライン最適化をサポートします。
- SHAPによる説明、フィンガープリントビットの可視化、PCA、tSNE、KMeans、UMAPによる教師なし探索を提供します。
用途
- 評価案:ラベル付きSMILESから分子特性の分類または回帰ワークフローを構築し、ホールドアウトデータで表現方法とモデルを比較します。
- 評価案:標準化の選択肢と不均衡データのサンプリングが、分子活性分類ワークフローに与える影響を評価します。
- 評価案:SHAPの寄与と対応するフィンガープリントビットを調べ、予測に影響する構造特徴を検討します。
- 評価案:別途リンクされたADMETケーススタディのモデルを使った新規化合物の予測を検討します。使用前に、各モデルの要件と適用可能性を確認してください。
使い方
- DeepMolドキュメントとリポジトリREADMEを参照してください。文書化されたインストール方法を選び、前処理、機械学習、深層学習に必要な依存関係を確認します。環境を設定する前に、CUDA、JAX、macOSに関する注意事項を確認してください。
- 代表性のある小規模なデータセットを準備します。任意のラベルと識別子を付けたSMILESにはREADMEのCSVLoader例を、構造ファイルにはSDFLoader例を使用します。生成されたデータセットの次元とラベルフィールドを確認してください。
- 文書化された選択肢から標準化方針と分子表現を選びます。ワークフローをデータセット全体に拡張する前に、変換後の分子と特徴量の次元を確認してください。
- 学習、検証、テストの分割を定義し、ラップされたモデルを選ぶかパイプラインを組み立てます。タスク別の例を参照する場合は、READMEにリンクされた分類、回帰、マルチタスクAutoMLのnotebookを確認してください。
- タスクに適した指標で予測を評価し、関連する場合はSHAPまたはフィンガープリントによる説明を調べ、モデルまたはパイプラインを保存します。代わりにデプロイ済みモデルを利用する場合は、ツールキット自体を事前学習済み予測器とみなさず、別途提供されているケーススタディのリポジトリを参照してください。