本文へスキップ

DeepMol

BioSystems group contributor team / BioSystems group, Centre of Biological Engineering, University of Minho

DeepMolは、化合物の標準化と特徴量化から、モデルの学習、評価、解釈、再利用可能なパイプラインまでをつなぐ、分子機械学習向けのPythonツールキットです。

掲載情報の更新 ·

概要

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ケーススタディのモデルを使った新規化合物の予測を検討します。使用前に、各モデルの要件と適用可能性を確認してください。

使い方

  1. DeepMolドキュメントとリポジトリREADMEを参照してください。文書化されたインストール方法を選び、前処理、機械学習、深層学習に必要な依存関係を確認します。環境を設定する前に、CUDA、JAX、macOSに関する注意事項を確認してください。
  2. 代表性のある小規模なデータセットを準備します。任意のラベルと識別子を付けたSMILESにはREADMEのCSVLoader例を、構造ファイルにはSDFLoader例を使用します。生成されたデータセットの次元とラベルフィールドを確認してください。
  3. 文書化された選択肢から標準化方針と分子表現を選びます。ワークフローをデータセット全体に拡張する前に、変換後の分子と特徴量の次元を確認してください。
  4. 学習、検証、テストの分割を定義し、ラップされたモデルを選ぶかパイプラインを組み立てます。タスク別の例を参照する場合は、READMEにリンクされた分類、回帰、マルチタスクAutoMLのnotebookを確認してください。
  5. タスクに適した指標で予測を評価し、関連する場合はSHAPまたはフィンガープリントによる説明を調べ、モデルまたはパイプラインを保存します。代わりにデプロイ済みモデルを利用する場合は、ツールキット自体を事前学習済み予測器とみなさず、別途提供されているケーススタディのリポジトリを参照してください。

関連リソース

ChemBERTa

モデル

ChemBERTa は、化学 SMILES 向けの BERT 類似モデルを提供します。RoBERTa によるマスク言語モデリングのチェックポイントと、事前学習、ファインチューニング、分子特性予測の研究向けノートブックが含まれます。

オープンソースPython

分子特性予測

ChemML

オープンソース

ChemMLは、化学・材料データの分析、マイニング、モデリングを行うPythonツールスイートです。モジュール型設計を採用し、グラフニューラルネットワーク、AutoML、説明可能性に関する取り組みが記載されています。

オープンソースPython

分子特性予測 · 材料探索

Chemprop

モデル

Chemprop は、分子特性予測のためのメッセージパッシングニューラルネットワークを学習・評価する PyTorch ベースのツールキットです。CLI ワークフロー、Python モジュール、タスク別ノートブックを備えています。

オープンソースPython

分子特性予測

DGL-LifeSci

オープンソース

DGL-LifeSci は DGL と PyTorch に基づくツールキットで、化学・生物分野のグラフ学習用部品と例を提供します。

オープンソースPython

分子特性予測

DimeNet

モデル

DimeNetは、分子グラフ上の方向性メッセージパッシングに用いるDimeNetおよびDimeNet++の参照実装を提供し、学習ノートブック、テストセット予測ワークフロー、事前学習済みモデルを含みます。

Python

分子特性予測 · 量子化学

DrugAgent (Liu et al.)

エージェント

DrugAgentは、LLMによる計画立案とドメイン知識に基づくコード生成を組み合わせ、創薬分野の機械学習ワークフローを構築・評価する研究用マルチエージェントフレームワークです。

分子特性予測 · 創薬

関連ガイド