mcpField
T
tooluniverse-admet-prediction

tooluniverse-admet-prediction

github.com/mims-harvardデータ・データベース1.8k238 回インストール2 日前に更新
リポジトリ

tooluniverse-admet-prediction について

創薬研究者向けに、化合物の同定、薬物らしさ、薬物動態予測、毒性評価を進めるADMET分析スキルです。計算予測と実験データを根拠レベルで整理し、最後にリスク評価表を作成します。

主な機能

  1. 01化合物の同定とSMILES確認
  2. 02物理化学的性質と薬物らしさの評価
  3. 03吸収・分布・代謝・排泄の予測
  4. 04毒性根拠のグレード分け
  5. 05合格・警告・不合格の評価表

活用シーン

  1. 01候補化合物の経口バイオアベイラビリティ評価
  2. 02血液脳関門通過性とCYPリスクの確認
  3. 03化合物の毒性と薬物らしさの比較

MCP 対応

PubChem、ADMETAI、SwissADMEなどのToolUniverseツールを連携し、化合物同定とADMET分析を行うスキルです。ADMETAIツールには`tooluniverse[ml]`の追加インストールが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-admet-prediction

インストール後、Claude Code で/tooluniverse-admet-predictionを入力して読み込まれたか確認します。

詳細

ADMET予測と薬物候補のプロファイリング

ADMETの考え方:吸収されない、誤った組織に分布する、安全に代謝されない、または排泄されない薬物は失敗します。各特性を個別に評価してください。吸収性が良くても、肝毒性を補うことはできません。ADME特性は、化合物が治療濃度で標的に到達できるかどうかを決定し、毒性はそれが安全かどうかを決定します。計算予測(T3)よりも実験データ(T2)を優先してください。ADMETAIの予測はスクリーニングツールであり、決定的な判定ではありません。毒性カテゴリ(hERG、AMES、DILI)のいずれかでFAILが示された場合、ウェットラボデータで否定されるまでは、開発計画を制限する要因として扱ってください。

推測せずに調べる:SMILES、CID、実験的なLD50値を決して推測しないでください。ADMETAIまたはPubChemToxを呼び出す前に、必ずPubChemを呼び出して化合物の同一性を確認してください。

AIベースのADMET予測、ルールベースの薬物類似性フィルター、キュレーションされたデータベースの実験的ベンチマークを統合した、包括的な薬物動態・毒性プロファイリングです。

このスキルを使う場面

トリガー:

  • 「[化合物]のADMET特性は何ですか?」
  • 「[薬物]は血液脳関門を通過しそうですか?」
  • 「このSMILESの毒性を予測してください:...」
  • 「[化合物]はリピンスキーのルール・オブ・ファイブに違反しますか?」
  • 「[分子]の薬物類似性を評価してください」
  • 「[薬物]のCYP相互作用は何ですか?」
  • 「[化合物]の薬物動態プロファイル」
  • 「[化合物]は経口バイオアベイラビリティを有しますか?」
  • 「[分子]のLD50/hERGリスクは何ですか?」

入力:薬物名(例:「ibuprofen」)またはSMILES文字列(例:「CC(C)Cc1ccc(cc1)C(C)C(=O)O」)

実行前に

ADMETAIツールはローカルモデルを実行するため、mlエクストラが必要です:

uv pip install 'tooluniverse[ml]'

これがなくても、ツールはtu listに表示されます(設定は読み込まれます)が、呼び出し時に ADMETModel requires 'admet-ai' packageというエラーが発生します。 tooluniverse-doctorを実行して、インストールされているオプショナルグループを確認してください。

想定されるコンソール出力であり、エラーではありません。 最初のADMETAI呼び出しではPyTorchが読み込まれ、 GPUがないことを示す警告や、PyTorch LightningのTrainerに関するメッセージ、 PyTorchのTypedStorage is deprecatedなどが表示されます。これらは通常のCPU推論中に 基盤ライブラリが出力するものです。予測に影響はありません。失敗としてユーザーに報告したり、 これを理由に呼び出しを再試行したりしないでください。ツールがerrorフィールドを返す場合、 または予測を返さない場合に限り、出力を失敗として扱ってください。


説明せずに計算する

分析に計算(統計、データ処理、スコアリング、エンリッチメント)が必要な場合は、Bash経由でPythonコードを作成して実行してください。実行する内容を説明するのではなく、実際に実行して結果を報告してください。ToolUniverseツールでデータを取得してから、Python(pandas、scipy、statsmodels、matplotlib)で分析してください。

主な原則

  1. まず同一性を確認する - ADMETAIツールを呼び出す前に、必ず薬物名をSMILESに変換してください
  2. ADMETAIツールにはtooluniverse[ml]が必要 - インポートに失敗した場合は、SwissADME/PubChemToxの代替手段に切り替えてください
  3. すべてのADMETAIツールはsmiles: list[str]を受け取る - 化合物が1つだけの場合も、必ずリストに入れてください
  4. SwissADMEはsmiles: strを受け取る - リストではなく単一の文字列です(operationパラメーターを使うSOAP形式)
  5. PubChemToxツールはcidまたはcompound_nameを受け取る - 信頼性を高めるため、利用可能な場合はCIDを使ってください
  6. エビデンスのグレード付けは必須 - 予測(T3)、実験データ(T2)、規制情報(T1)に分類してください
  7. スコアカードを出力する - すべての分析の最後に、合格/注意/不合格のスコアカードを付けてください
  8. 意義を説明する - 各特性が薬物開発にとって重要な理由を述べてください

エビデンスのグレード

Tierラベル情報源
T1規制/臨床FDAの添付文書、ChEMBLの臨床開発段階の最高値
T2実験PubChemToxのLD50/LC50、in vitro AMES、動物実験
T3計算ADMETAIの予測、SwissADMEの計算
T4アノテーションデータベースの相互参照、テキストマイニング

ワークフロー:5段階のADMETプロファイリング

User Query (drug name or SMILES)
|
+-- PHASE 1: Compound Identity Resolution
|   PubChem name->CID->SMILES, or validate input SMILES
|
+-- PHASE 2: Physicochemical & Drug-Likeness
|   ADMETAI physicochemical + SwissADME druglikeness -> Lipinski/Veber
|
+-- PHASE 3: ADME Predictions
|   BBB, bioavailability, CYP interactions, clearance, solubility
|
+-- PHASE 4: Toxicity Assessment
|   ADMETAI tox + PubChemTox experimental + nuclear receptor + stress
|
+-- PHASE 5: Scorecard & Clinical Context
|   ChEMBL max phase, aggregate pass/warn/fail, final recommendation

PHASE 1: 化合物の識別情報の解決

目標:クエリ対象の化合物について、SMILES、PubChem CID、および基本的な識別情報を取得します。

手順:

  1. 入力が医薬品名の場合:

    • PubChem_get_CID_by_compound_name(name=<drug_name>) を呼び出して CID を取得します
    • PubChem_get_compound_properties_by_CID(cid=<CID>) を呼び出して SMILES と MW を取得します
    • 応答から ConnectivitySMILES を抽出します(CanonicalSMILES ではありません)
  2. 入力が SMILES 文字列の場合:

    • PubChem_get_CID_by_SMILES(smiles=<SMILES>) を呼び出して CID を取得します
    • PubChem_get_compound_properties_by_CID(cid=<CID>) を呼び出して化合物名と MW を取得します
    • 以降のすべての ADMETAI 呼び出しで、入力された SMILES を使用します
  3. 記録する情報:

    • 化合物名、CID、SMILES、分子式、分子量、IUPAC 名
    • CID の検索に失敗した場合は、SMILES のみで続行します(ADMETAI では CID は不要です)

重要な理由:ADMETAI ツールでは SMILES 入力が必要です。PubChemTox ツールは CID を使用すると最適に機能します。両方を解決することで、後続のすべてのツールを呼び出せます。PubChem は SMILES の標準化における信頼できる情報源です。

フォールバック:PubChem にエントリがない場合、ユーザーが SMILES を直接指定する必要があります。SMILES がない場合は続行できません。


フェーズ 2:物理化学的性質と医薬品らしさ

目標:この化合物が医薬品らしい物理化学的性質を持つかどうかを評価します。

手順:

  1. ADMETAI の物理化学的性質(主要):

    ADMETAI_predict_physicochemical_properties(smiles=["<SMILES>"])
    

    返される値:MW、logP、TPSA、HBD、HBA、回転可能結合数

  2. SwissADME の医薬品らしさ(補足):

    SwissADME_check_druglikeness(operation="check_druglikeness", smiles="<SMILES>")
    SwissADME_calculate_adme(operation="calculate_adme", smiles="<SMILES>")
    

    返される値:Lipinski、Veber、Ghose、Egan、Muegge の各ルールへの適合状況、PAINS アラート、Brenk アラート

  3. ADMETAI の溶解性:

    ADMETAI_predict_solubility_lipophilicity_hydration(smiles=["<SMILES>"])
    

    返される値:水溶解度(LogS)、親油性、水和自由エネルギー

解釈とスコアリング:

特性理想範囲重要な理由
MW< 500 Da分子が大きいほど膜透過性が低くなります(Lipinski)
LogP-0.4 ~ 5.6疎水性が高すぎると溶解性が低くなり、親水性が高すぎると透過性が低くなります
HBD<= 5ドナーが多すぎると膜を通過しにくくなります(Lipinski)
HBA<= 10アクセプターが多すぎると膜を通過しにくくなります(Lipinski)
TPSA< 140 A^2PSA が高いと経口吸収性が低い傾向があります
回転可能結合数<= 10分子の柔軟性はバイオアベイラビリティに影響します(Veber)
LogS> -6-6 未満は実質的に不溶で、製剤化が課題になります
PAINS アラート0アッセイに干渉する化合物は、スクリーニングで偽陽性を引き起こします

判定:Lipinski 違反が 1 以下で PAINS アラートがなければ PASS、違反が 2 つなら WARN、違反が 3 つ以上、または PAINS アラートがあれば FAIL です。

フォールバック:ADMETAI のインポートに失敗した場合(tooluniverse[ml] が未インストールの場合)は、SwissADME のみを使用してください。SwissADME は Lipinski の記述子をすべて独立して提供します。

ローカル TDC オラクルスコアリング(ML 追加パッケージ不要、PubChem との往復不要):TDC_predict_oracle_score(smiles=..., oracle=...) は、PyTDC パッケージを介して SMILES 文字列から直接、医薬品らしさや特性のスコアをローカルで計算します。tooluniverse[ml] がインストールされていない場合や、独立した高速なクロスチェックに便利です。オラクルは 6 種類あります。QED(医薬品らしさ、0~1)、SA(合成容易性、1=容易、10=困難)、LogP、および標的結合可能性を予測する 3 種類のオラクル(GSK3B、JNK3、DRD2)です。これらは、特定の標的に対する候補化合物の初期選別に役立ちます。実際に動作を検証し、相互確認済み:TDC_predict_oracle_score(smiles="CC(=O)Oc1ccccc1C(=O)O", oracle="SA") と、独立した Chem_sa_score(smiles=...) ツールはどちらも、アスピリンについて 1.580 を返しました。同じ基盤の RDKit SA_Score アルゴリズムを、別々の 2 つのラッパーツールで実行しています。どちらを引用してもかまいませんが、同一の計算結果であるため、独立した裏付けとして両方を報告しないでください。

TDC_load_dataset(problem=..., name=...) / TDC_list_datasets(problem=...) を使うと、TDC の ADME/毒性/HTS ベンチマークデータセットにアクセスできます。これは、公開ベンチマークを用いてカスタム予測モデルを検証する場合に関係するもので、単一化合物の ADMET プロファイル評価には含まれません。TDC_list_datasets は動作します(実際に動作を検証済み:problem="ADME" では 27 個の実在するデータセット名が返されます)。TDC_load_dataset は現在動作しません。実際に動作を検証し、異なる 2 つのデータセット(Caco2_Wang、hERG)で再現しました。ダウンロード自体は成功しますが、その後ローダーがデータではなく HTML エラーページを受け取り、Please report this error to [email protected] というエラーが発生します。これを前提にワークフローを構築しないでください。データセットの検索には TDC_list_datasets を使用し、ユーザーが特定のデータセットの取得を必要としている場合は、読み込みに失敗することを伝えてください。

フェーズ 3:ADME 予測

目標:吸収、分布、代謝、排泄の挙動を予測します。

手順:

  1. 血液脳関門の透過性:

    ADMETAI_predict_BBB_penetrance(smiles=["<SMILES>"])
    
    • BBB+ = 化合物が通過できる、BBB- = 通過できない
    • 中枢神経系(CNS)薬(通過する必要があります)と末梢作用薬(CNS の副作用を避けるため、通過すべきではありません)にとって重要です
  2. 経口バイオアベイラビリティ:

    ADMETAI_predict_bioavailability(smiles=["<SMILES>"])
    
    • F20% = 経口バイオアベイラビリティが少なくとも 20%、F30% = 少なくとも 30%
    • バイオアベイラビリティが低い場合、薬物が広範に代謝されているか、吸収されにくいことを意味します
    • F < 20% の場合、通常は経口以外の投与経路(IV、吸入、外用)が必要です
  3. CYP450 相互作用:

    ADMETAI_predict_CYP_interactions(smiles=["<SMILES>"])
    
    • CYP1A2、2C9、2C19、2D6、3A4 に対する基質/阻害剤としての状態を報告します
    • CYP が重要な理由:薬物の約 75% は CYP 酵素によって代謝されます。薬物の約 50% を代謝する CYP3A4 を阻害すると、危険な薬物間相互作用(DDI)が生じます。CYP2D6 の多型は薬物の約 25% に影響し、代謝が遅い人では毒性レベルまで蓄積します
    • CYP2D6 の基質 = 薬理ゲノム学上のリスク(代謝が遅い/超高速な人)
    • CYP3A4 の阻害剤 = DDI の高リスク(併用薬が蓄積します)
  4. クリアランスと分布:

    ADMETAI_predict_clearance_distribution(smiles=["<SMILES>"])
    
    • VDss(分布容積):低値(<0.7 L/kg)= 血漿内にとどまる、高値(>1 L/kg)= 組織に分布する
    • クリアランス:高い場合は半減期が短く、頻繁な投与が必要です
    • 血漿タンパク結合率(PPB):結合率が >95% = 治療域が狭く、置換による DDI のリスクがあります
  5. SwissADME 薬物動態(交差検証):

    • 消化管吸収(高/低)、P-gp 基質の状態、皮膚透過性(logKp)

主なフラグ:非 CNS 薬で BBB+(警告:CNS の副作用);CNS 薬で BBB-(失敗:標的に到達しません);F < 20%(警告:経口バイオアベイラビリティが低い);CYP3A4 阻害剤(警告:DDI のリスクが高い);CYP2D6 基質(警告:薬理ゲノム学的なばらつき);PPB > 99%(警告:治療域が狭い);クリアランスが高く、バイオアベイラビリティが低い(失敗)。

フォールバック:ADMETAI を利用できない場合、SwissADME で消化管吸収、血液脳関門の透過性(はい/いいえ)、P-gp 基質、CYP 阻害の予測を確認できます。


PHASE 4:毒性評価

目標:予測データと実験データの両方から安全性リスクを評価します。

手順:

  1. ADMETAI による毒性予測 [T3]:

    ADMETAI_predict_toxicity(smiles=["<SMILES>"])
    

    主要な評価項目:

    • AMES:変異原性(細菌を用いた復帰突然変異試験)。陽性の場合、発がん性の可能性があります。規制当局はすべての新薬に AMES 試験を求めています
    • DILI:薬物性肝障害のリスク。医薬品の販売中止の主な原因です(例:トログリタゾン)。陽性の場合、肝毒性が懸念されるため、肝機能のモニタリングが必要です
    • hERG:hERG カリウムチャネルの阻害。QT 延長や致死性の不整脈を引き起こします。hERG 陽性は心毒性のリスクを示します。このために販売中止となった医薬品も複数あります(例:テルフェナジン、シサプリド)
    • ClinTox:臨床試験での毒性/FDA による販売中止のリスク。臨床試験で失敗した、または毒性を理由に販売中止となった医薬品を用いて学習されています
    • LD50_Zhu:推定致死量(mg/kg、ラットへの経口投与)。値が低いほど急性毒性が高くなります
    • Skin_Reaction:皮膚感作性の可能性。外用薬では重要です
    • Carcinogens_Lagunin:発がん性の予測
  2. 核内受容体活性 [T3]:

    ADMETAI_predict_nuclear_receptor_activity(smiles=["<SMILES>"])
    
    • AR(アンドロゲン受容体)、ER(エストロゲン受容体)、AhR、PPAR-gamma の活性
    • 陽性の場合、内分泌かく乱の可能性があります。長期使用する医薬品や環境化学物質では特に重要です
  3. ストレス応答経路 [T3]:

    ADMETAI_predict_stress_response(smiles=["<SMILES>"])
    
    • p53 の活性化 = DNA 損傷応答(遺伝毒性の兆候)
    • MMP のかく乱 = ミトコンドリア毒性
    • ATAD5 = DNA 修復ストレス
    • HSE = 熱ショック/タンパク質ミスフォールディングストレス
  4. PubChemTox の実験データ [T2](すべて並列で呼び出します):

    PubChemTox_get_toxicity_values(cid=<CID>)
    PubChemTox_get_ghs_classification(cid=<CID>)
    PubChemTox_get_acute_effects(cid=<CID>)
    PubChemTox_get_carcinogen_classification(cid=<CID>)
    PubChemTox_get_target_organs(cid=<CID>)
    PubChemTox_get_toxicity_summary(cid=<CID>)
    
    • 実際の動物試験データ(LD50、LC50、NOAEL)を用いて、計算による予測の妥当性を確認します
    • GHS 分類により、国際的に調和された危険有害性カテゴリーを確認できます
    • IARC(Group 1/2A/2B)、NTP、EPA による発がん性分類

主要な判定基準:AMES 陽性(FAIL:変異原性あり);DILI 陽性(WARN:肝毒性);hERG 陽性(FAIL:心毒性、多くの場合プログラム中止につながる);ClinTox 陽性(WARN);LD50 < 50 mg/kg(FAIL:GHS 1~2);LD50 50~300 mg/kg(WARN:GHS 3);NR-ER/AR が活性(WARN:内分泌かく乱);p53 が活性(WARN:遺伝毒性);IARC Group 1/2A(FAIL:発がん性が確認または推定される)。

フォールバック:ADMETAI を利用できない場合、既知化合物については PubChemTox から実験毒性データを取得します。PubChem に登録のない新規化合物については、「利用可能な実験毒性データなし――計算予測のみ」としてフラグを付けます。


PHASE 5:スコアカードの作成と臨床的背景

目標:すべての知見を pass/warn/fail の判定付きの構造化された ADMET スコアカードにまとめます。

手順:

  1. ChEMBL の臨床ステータス [T1](医薬品に ChEMBL ID がある場合):

    ChEMBL_get_molecule(chembl_id="<CHEMBL_ID>")
    
    • 最大フェーズ:4 = 承認済み、3 = Phase III、2 = Phase II、1 = Phase I、0 = 前臨床
    • ChEMBL による Ro5 違反(Lipinski の独立した検証)
    • 初回承認年、適応症の分類、枠付き警告の有無
  2. ADMET スコアカードの作成:13 のカテゴリー(物理化学的性質、溶解性、吸収、分布、代謝、排泄、毒性:変異原性/肝毒性/心毒性/発がん性/急性毒性、内分泌、臨床毒性)を含む表を作成し、それぞれに PASS/WARN/FAIL の判定と主要な知見を記載します。化合物の識別情報を示すヘッダーと総合判定も含めます。各知見にエビデンスレベル [T1-T3] を付けます。

  3. 解釈の要約:スコアカードの後に、3~5 文で要約します:

    • 最も重要な知見(FAIL または WARN)を強調します
    • 化合物が経口投与に適しているかを示します
    • CYP 相互作用による DDI リスクがあれば記載します
    • 薬理ゲノム学的な懸念(CYP2D6 基質)にフラグを付けます
    • 次のステップを提案します(例:「計算予測を確認するため、hERG パッチクランプ試験を推奨します」)

完全性チェックリスト(報告前に必須)

最終スコアカードを提出する前に、以下を確認してください。

  • 化合物の識別情報を確認済み(名称、CID、SMILESがすべて記載されているか、入手不可と明記されている)
  • 物理化学的特性を報告し、リピンスキー判定を記載済み
  • 各ADME特性について少なくとも1つの情報源を記載済み(ADMETAIまたはSwissADME)
  • ADMETAIの毒性エンドポイント7項目すべてを報告済み(または理由を示してN/Aと記載済み)
  • PubChemToxの実験データを確認済み(「データが見つからなかった」場合も含む)
  • 核内受容体およびストレス応答を確認済み(またはN/Aと記載済み)
  • すべての所見にエビデンスレベルを付記済み
  • 13項目すべての判定を記載したスコアカード表を完成済み
  • 総合判定を記載済み
  • 実行可能な次のステップを含む解釈の説明を記載済み

コメント