ADMET Prediction & Drug Candidate Profiling
ADMET reasoning: a drug fails if it can't be absorbed, distributes to wrong tissues, isn't metabolized safely, or isn't excreted. Evaluate each property independently — good absorption doesn't compensate for liver toxicity. The ADME properties determine whether a compound reaches its target at therapeutic concentrations; toxicity determines whether it's safe to do so. Prioritize experimental data (T2) over computational predictions (T3) — ADMETAI predictions are screening tools, not definitive verdicts. When a FAIL is flagged in any toxicity category (hERG, AMES, DILI), treat it as program-limiting until wet-lab data refutes it.
LOOK UP DON'T GUESS: never assume SMILES, CID, or experimental LD50 values — always call PubChem to resolve compound identity before any ADMETAI or PubChemTox call.
Comprehensive pharmacokinetic and toxicity profiling integrating AI-based ADMET predictions, rule-based drug-likeness filters, and experimental benchmarks from curated databases.
When to Use This Skill
Triggers:
- "What are the ADMET properties of [compound]?"
- "Is [drug] likely to cross the blood-brain barrier?"
- "Predict the toxicity of this SMILES: ..."
- "Does [compound] violate Lipinski's rule of five?"
- "Assess the drug-likeness of [molecule]"
- "What are the CYP interactions for [drug]?"
- "Pharmacokinetic profile of [compound]"
- "Is [compound] orally bioavailable?"
- "What is the LD50 / hERG liability of [molecule]?"
Input: Drug name (e.g., "ibuprofen") OR SMILES string (e.g., "CC(C)Cc1ccc(cc1)C(C)C(=O)O")
Before You Run
ADMETAI tools run a local model, so they need the ml extra:
uv pip install 'tooluniverse[ml]'
Without it the tools still appear in tu list (the config loads) but fail at
call time with ADMETModel requires 'admet-ai' package. Run
tooluniverse-doctor to confirm which optional groups are installed.
Expected console noise — not errors. The first ADMETAI call loads PyTorch
and prints warnings such as missing-GPU / Trainer messages from
PyTorch Lightning, and TypedStorage is deprecated from PyTorch. These are
emitted by the underlying libraries during normal CPU inference. Predictions
are unaffected — do not report them to the user as failures and do not retry
the call because of them. Only treat output as a failure if the tool returns an
error field or no predictions.
COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
KEY PRINCIPLES
- Resolve identity first - Always convert drug name to SMILES before calling ADMETAI tools
- ADMETAI tools require
tooluniverse[ml] - If import fails, skip to SwissADME/PubChemTox fallbacks
- All ADMETAI tools take
smiles: list[str] - Always wrap in a list, even for one compound
- SwissADME takes
smiles: str - Single string, NOT a list (SOAP-style with operation param)
- PubChemTox tools accept
cid or compound_name - Use CID when available for reliability
- Evidence grading mandatory - Predictions (T3), experimental data (T2), regulatory (T1)
- Scorecard output - Every analysis must end with a pass/warn/fail scorecard
- Explain significance - State WHY each property matters for drug development
Evidence Grading
| Tier |
Label |
Source |
| T1 |
Regulatory/Clinical |
FDA labels, ChEMBL max clinical phase |
| T2 |
Experimental |
PubChemTox LD50/LC50, in vitro AMES, animal studies |
| T3 |
Computational |
ADMETAI predictions, SwissADME calculations |
| T4 |
Annotation |
Database cross-references, text-mined |
Workflow: 5-Phase ADMET Profiling
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: Compound Identity Resolution
Goal: Obtain SMILES, PubChem CID, and basic identifiers for the query compound.
Steps:
If input is a drug name:
- Call
PubChem_get_CID_by_compound_name(name=<drug_name>) to get CID
- Call
PubChem_get_compound_properties_by_CID(cid=<CID>) to get SMILES and MW
- Extract
ConnectivitySMILES from the response (NOT CanonicalSMILES)
If input is a SMILES string:
- Call
PubChem_get_CID_by_SMILES(smiles=<SMILES>) to get CID
- Call
PubChem_get_compound_properties_by_CID(cid=<CID>) for compound name and MW
- Use the input SMILES for all subsequent ADMETAI calls
Record:
- Compound name, CID, SMILES, molecular formula, molecular weight, IUPAC name
- If CID lookup fails, proceed with SMILES only (ADMETAI does not need CID)
Why this matters: ADMETAI tools require SMILES input. PubChemTox tools work best with CID. Resolving both ensures all downstream tools can be called. PubChem is the authoritative source for SMILES canonicalization.
Fallback: If PubChem has no entry, the user must provide SMILES directly. Cannot proceed without SMILES.
PHASE 2: Physicochemical Properties & Drug-Likeness
Goal: Evaluate whether the compound has drug-like physicochemical properties.
Steps:
ADMETAI physicochemical (primary):
ADMETAI_predict_physicochemical_properties(smiles=["<SMILES>"])
Returns: MW, logP, TPSA, HBD, HBA, rotatable bonds
SwissADME drug-likeness (complementary):
SwissADME_check_druglikeness(operation="check_druglikeness", smiles="<SMILES>")
SwissADME_calculate_adme(operation="calculate_adme", smiles="<SMILES>")
Returns: Lipinski, Veber, Ghose, Egan, Muegge rule compliance; PAINS alerts; Brenk alerts
ADMETAI solubility:
ADMETAI_predict_solubility_lipophilicity_hydration(smiles=["<SMILES>"])
Returns: Aqueous solubility (LogS), lipophilicity, hydration free energy
Interpret & Score:
| Property |
Ideal Range |
Why It Matters |
| MW |
< 500 Da |
Larger molecules have poor membrane permeability (Lipinski) |
| LogP |
-0.4 to 5.6 |
Too hydrophobic = poor solubility; too hydrophilic = poor permeability |
| HBD |
<= 5 |
Excess donors reduce membrane crossing (Lipinski) |
| HBA |
<= 10 |
Excess acceptors reduce membrane crossing (Lipinski) |
| TPSA |
< 140 A^2 |
High PSA correlates with poor oral absorption |
| Rotatable bonds |
<= 10 |
Molecular flexibility affects bioavailability (Veber) |
| LogS |
> -6 |
Below -6 = practically insoluble, formulation challenge |
| PAINS alerts |
0 |
Pan-assay interference compounds give false positives in screens |
Verdict: PASS if Lipinski <= 1 violation and no PAINS alerts; WARN if 2 violations; FAIL if 3+ violations or PAINS+.
Fallback: If ADMETAI import fails (missing tooluniverse[ml]), rely on SwissADME alone. SwissADME provides all Lipinski descriptors independently.
PHASE 3: ADME Predictions
Goal: Predict absorption, distribution, metabolism, and excretion behavior.
Steps:
Blood-brain barrier penetration:
ADMETAI_predict_BBB_penetrance(smiles=["<SMILES>"])
- BBB+ = compound can cross; BBB- = cannot
- Critical for CNS drugs (must cross) and peripherally-acting drugs (should NOT cross to avoid CNS side effects)
Oral bioavailability:
ADMETAI_predict_bioavailability(smiles=["<SMILES>"])
- F20% = at least 20% oral bioavailability; F30% = at least 30%
- Low bioavailability means the drug is extensively metabolized or poorly absorbed
- F < 20% generally requires non-oral routes (IV, inhaled, topical)
CYP450 interactions:
ADMETAI_predict_CYP_interactions(smiles=["<SMILES>"])
- Reports substrate/inhibitor status for CYP1A2, 2C9, 2C19, 2D6, 3A4
- Why CYP matters: ~75% of drugs are metabolized by CYP enzymes. Inhibiting CYP3A4 (which metabolizes ~50% of drugs) causes dangerous drug-drug interactions (DDIs). CYP2D6 polymorphisms affect ~25% of drugs -- poor metabolizers accumulate toxic levels
- Substrate of CYP2D6 = pharmacogenomic risk (poor/ultra-rapid metabolizers)
- Inhibitor of CYP3A4 = high DDI risk (co-administered drugs accumulate)
Clearance and distribution:
ADMETAI_predict_clearance_distribution(smiles=["<SMILES>"])
- VDss (volume of distribution): low (<0.7 L/kg) = confined to plasma; high (>1 L/kg) = distributed to tissues
- Clearance: high clearance = short half-life, frequent dosing needed
- Plasma protein binding (PPB): >95% bound = narrow therapeutic window, DDI risk from displacement
SwissADME pharmacokinetics (cross-validation):
- GI absorption (high/low), P-gp substrate status, skin permeation (logKp)
Key flags: BBB+ for non-CNS drug (WARN: CNS side effects); BBB- for CNS drug (FAIL: won't reach target); F < 20% (WARN: poor oral bioavailability); CYP3A4 inhibitor (WARN: high DDI); CYP2D6 substrate (WARN: pharmacogenomic variability); PPB > 99% (WARN: narrow window); high clearance + low bioavailability (FAIL).
Fallback: If ADMETAI unavailable, SwissADME provides GI absorption, BBB permeation (yes/no), P-gp substrate, and CYP inhibition predictions.
PHASE 4: Toxicity Assessment
Goal: Evaluate safety liabilities from both predicted and experimental sources.
Steps:
ADMETAI toxicity predictions [T3]:
ADMETAI_predict_toxicity(smiles=["<SMILES>"])
Key endpoints:
- AMES: Mutagenicity (bacterial reverse mutation test). Positive = potential carcinogen; regulatory agencies require AMES testing for all new drugs
- DILI: Drug-induced liver injury risk. Leading cause of drug withdrawal (e.g., troglitazone). Positive = hepatotoxicity concern requiring liver function monitoring
- hERG: hERG potassium channel inhibition. Causes QT prolongation and fatal cardiac arrhythmia. hERG+ = cardiotoxicity liability; multiple drugs withdrawn for this (e.g., terfenadine, cisapride)
- ClinTox: Clinical trial toxicity / FDA withdrawal risk. Trained on drugs that failed trials or were withdrawn for toxicity
- LD50_Zhu: Predicted lethal dose (mg/kg, rat oral). Lower = more acutely toxic
- Skin_Reaction: Dermal sensitization potential. Important for topical drugs
- Carcinogens_Lagunin: Carcinogenicity prediction
Nuclear receptor activity [T3]:
ADMETAI_predict_nuclear_receptor_activity(smiles=["<SMILES>"])
- AR (androgen receptor), ER (estrogen receptor), AhR, PPAR-gamma activity
- Positive = potential endocrine disruption; critical for chronic-use drugs and environmental chemicals
Stress response pathways [T3]:
ADMETAI_predict_stress_response(smiles=["<SMILES>"])
- p53 activation = DNA damage response (genotoxicity signal)
- MMP disruption = mitochondrial toxicity
- ATAD5 = DNA repair stress
- HSE = heat shock / protein misfolding stress
PubChemTox experimental data [T2] (call all in parallel):
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>)
- Real animal study data (LD50, LC50, NOAEL) anchors computational predictions
- GHS classification provides internationally harmonized hazard categories
- Carcinogen classification from IARC (Group 1/2A/2B), NTP, EPA
Key flags: AMES positive (FAIL: mutagenic); DILI positive (WARN: hepatotox); hERG positive (FAIL: cardiac, often program-killing); ClinTox positive (WARN); LD50 < 50 mg/kg (FAIL: GHS 1-2); LD50 50-300 mg/kg (WARN: GHS 3); NR-ER/AR active (WARN: endocrine disruption); p53 active (WARN: genotoxicity); IARC Group 1/2A (FAIL: known/probable carcinogen).
Fallback: If ADMETAI unavailable, PubChemTox provides experimental toxicity data for known compounds. For novel compounds without PubChem entries, flag as "no experimental toxicity data available -- computational predictions only."
PHASE 5: Scorecard Assembly & Clinical Context
Goal: Aggregate all findings into a structured ADMET scorecard with pass/warn/fail verdicts.
Steps:
ChEMBL clinical status [T1] (if drug has ChEMBL ID):
ChEMBL_get_molecule(chembl_id="<CHEMBL_ID>")
- Max phase: 4 = approved, 3 = Phase III, 2 = Phase II, 1 = Phase I, 0 = preclinical
- Ro5 violations from ChEMBL (independent validation of Lipinski)
- First approval year, indication class, black box warning flag
Build the ADMET Scorecard: produce a table with 13 categories (Physicochemical, Solubility, Absorption, Distribution, Metabolism, Excretion, Tox: Mutagenicity/Hepatotoxicity/Cardiotoxicity/Carcinogenicity/Acute, Endocrine, Clinical Tox), each with PASS/WARN/FAIL verdict and key finding. Include compound identity header and overall verdict. Tag each finding with evidence tier [T1-T3].
Interpretation narrative: After the scorecard, provide a 3-5 sentence summary:
- Highlight the most critical findings (any FAILs or WARNs)
- State whether the compound is suitable for oral administration
- Note any DDI risks from CYP interactions
- Flag pharmacogenomic concerns (CYP2D6 substrate)
- Recommend next steps (e.g., "hERG patch clamp assay recommended to confirm computational prediction")
Completeness Checklist (MANDATORY before reporting)
Before delivering the final scorecard, verify:
1---2name: tooluniverse-admet-prediction3description: Comprehensive ADMET (Absorption, Distribution, Metabolism, Excretion, Toxicity) profiling for drug candidates. Integrates ADMET-AI predictions, SwissADME drug-likeness, PubChemTox experimental toxicity, ChEMBL clinical data, Lipinski rule-of-five, and CYP interaction data. Use for drug-likeness assessment, BBB penetration, bioavailability, hepatotoxicity prediction, ADME/PK profiling, or screening compound libraries before lab testing.4---5
6# ADMET Prediction & Drug Candidate Profiling
7
8**ADMET reasoning**: a drug fails if it can't be absorbed, distributes to wrong tissues, isn't metabolized safely, or isn't excreted. Evaluate each property independently — good absorption doesn't compensate for liver toxicity. The ADME properties determine whether a compound reaches its target at therapeutic concentrations; toxicity determines whether it's safe to do so. Prioritize experimental data (T2) over computational predictions (T3) — ADMETAI predictions are screening tools, not definitive verdicts. When a FAIL is flagged in any toxicity category (hERG, AMES, DILI), treat it as program-limiting until wet-lab data refutes it.
9
10**LOOK UP DON'T GUESS**: never assume SMILES, CID, or experimental LD50 values — always call PubChem to resolve compound identity before any ADMETAI or PubChemTox call.
11
12Comprehensive pharmacokinetic and toxicity profiling integrating AI-based ADMET predictions, rule-based drug-likeness filters, and experimental benchmarks from curated databases.
13
14## When to Use This Skill
15
16**Triggers**:
17- "What are the ADMET properties of [compound]?"
18- "Is [drug] likely to cross the blood-brain barrier?"
19- "Predict the toxicity of this SMILES: ..."
20- "Does [compound] violate Lipinski's rule of five?"
21- "Assess the drug-likeness of [molecule]"
22- "What are the CYP interactions for [drug]?"
23- "Pharmacokinetic profile of [compound]"
24- "Is [compound] orally bioavailable?"
25- "What is the LD50 / hERG liability of [molecule]?"
26
27**Input**: Drug name (e.g., "ibuprofen") OR SMILES string (e.g., "CC(C)Cc1ccc(cc1)C(C)C(=O)O")
28
29## Before You Run
30
31ADMETAI tools run a local model, so they need the `ml` extra:
32
33```bash
34uv pip install 'tooluniverse[ml]'
35```
36
37Without it the tools still appear in `tu list` (the config loads) but fail at
38call time with `ADMETModel requires 'admet-ai' package`. Run
39`tooluniverse-doctor` to confirm which optional groups are installed.
40
41**Expected console noise — not errors.** The first ADMETAI call loads PyTorch
42and prints warnings such as missing-GPU / `Trainer` messages from
43PyTorch Lightning, and `TypedStorage is deprecated` from PyTorch. These are
44emitted by the underlying libraries during normal CPU inference. Predictions
45are unaffected — do not report them to the user as failures and do not retry
46the call because of them. Only treat output as a failure if the tool returns an
47`error` field or no predictions.
48
49---
50
51## COMPUTE, DON'T DESCRIBE
52When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
53
54## KEY PRINCIPLES
55
561. **Resolve identity first** - Always convert drug name to SMILES before calling ADMETAI tools
572. **ADMETAI tools require `tooluniverse[ml]`** - If import fails, skip to SwissADME/PubChemTox fallbacks
583. **All ADMETAI tools take `smiles: list[str]`** - Always wrap in a list, even for one compound
594. **SwissADME takes `smiles: str`** - Single string, NOT a list (SOAP-style with `operation` param)
605. **PubChemTox tools accept `cid` or `compound_name`** - Use CID when available for reliability
616. **Evidence grading mandatory** - Predictions (T3), experimental data (T2), regulatory (T1)
627. **Scorecard output** - Every analysis must end with a pass/warn/fail scorecard
638. **Explain significance** - State WHY each property matters for drug development
64
65---
66
67## Evidence Grading
68
69| Tier | Label | Source |
70|------|-------|--------|
71| **T1** | Regulatory/Clinical | FDA labels, ChEMBL max clinical phase |
72| **T2** | Experimental | PubChemTox LD50/LC50, in vitro AMES, animal studies |
73| **T3** | Computational | ADMETAI predictions, SwissADME calculations |
74| **T4** | Annotation | Database cross-references, text-mined |
75
76## Workflow: 5-Phase ADMET Profiling
77
78```
79User Query (drug name or SMILES)
80|
81+-- PHASE 1: Compound Identity Resolution
82| PubChem name->CID->SMILES, or validate input SMILES
83|
84+-- PHASE 2: Physicochemical & Drug-Likeness
85| ADMETAI physicochemical + SwissADME druglikeness -> Lipinski/Veber
86|
87+-- PHASE 3: ADME Predictions
88| BBB, bioavailability, CYP interactions, clearance, solubility
89|
90+-- PHASE 4: Toxicity Assessment
91| ADMETAI tox + PubChemTox experimental + nuclear receptor + stress
92|
93+-- PHASE 5: Scorecard & Clinical Context
94| ChEMBL max phase, aggregate pass/warn/fail, final recommendation
95```
96
97---
98
99### PHASE 1: Compound Identity Resolution
100
101**Goal**: Obtain SMILES, PubChem CID, and basic identifiers for the query compound.
102
103**Steps**:
104
1051. **If input is a drug name**:
106 - Call `PubChem_get_CID_by_compound_name(name=<drug_name>)` to get CID
107 - Call `PubChem_get_compound_properties_by_CID(cid=<CID>)` to get SMILES and MW
108 - Extract `ConnectivitySMILES` from the response (NOT `CanonicalSMILES`)
109
1102. **If input is a SMILES string**:
111 - Call `PubChem_get_CID_by_SMILES(smiles=<SMILES>)` to get CID
112 - Call `PubChem_get_compound_properties_by_CID(cid=<CID>)` for compound name and MW
113 - Use the input SMILES for all subsequent ADMETAI calls
114
1153. **Record**:
116 - Compound name, CID, SMILES, molecular formula, molecular weight, IUPAC name
117 - If CID lookup fails, proceed with SMILES only (ADMETAI does not need CID)
118
119**Why this matters**: ADMETAI tools require SMILES input. PubChemTox tools work best with CID. Resolving both ensures all downstream tools can be called. PubChem is the authoritative source for SMILES canonicalization.
120
121**Fallback**: If PubChem has no entry, the user must provide SMILES directly. Cannot proceed without SMILES.
122
123---
124
125### PHASE 2: Physicochemical Properties & Drug-Likeness
126
127**Goal**: Evaluate whether the compound has drug-like physicochemical properties.
128
129**Steps**:
130
1311. **ADMETAI physicochemical** (primary):
132 ```
133 ADMETAI_predict_physicochemical_properties(smiles=["<SMILES>"])
134 ```
135 Returns: MW, logP, TPSA, HBD, HBA, rotatable bonds
136
1372. **SwissADME drug-likeness** (complementary):
138 ```
139 SwissADME_check_druglikeness(operation="check_druglikeness", smiles="<SMILES>")
140 SwissADME_calculate_adme(operation="calculate_adme", smiles="<SMILES>")
141 ```
142 Returns: Lipinski, Veber, Ghose, Egan, Muegge rule compliance; PAINS alerts; Brenk alerts
143
1443. **ADMETAI solubility**:
145 ```
146 ADMETAI_predict_solubility_lipophilicity_hydration(smiles=["<SMILES>"])
147 ```
148 Returns: Aqueous solubility (LogS), lipophilicity, hydration free energy
149
150**Interpret & Score**:
151
152| Property | Ideal Range | Why It Matters |
153|----------|-------------|----------------|
154| MW | < 500 Da | Larger molecules have poor membrane permeability (Lipinski) |
155| LogP | -0.4 to 5.6 | Too hydrophobic = poor solubility; too hydrophilic = poor permeability |
156| HBD | <= 5 | Excess donors reduce membrane crossing (Lipinski) |
157| HBA | <= 10 | Excess acceptors reduce membrane crossing (Lipinski) |
158| TPSA | < 140 A^2 | High PSA correlates with poor oral absorption |
159| Rotatable bonds | <= 10 | Molecular flexibility affects bioavailability (Veber) |
160| LogS | > -6 | Below -6 = practically insoluble, formulation challenge |
161| PAINS alerts | 0 | Pan-assay interference compounds give false positives in screens |
162
163**Verdict**: PASS if Lipinski <= 1 violation and no PAINS alerts; WARN if 2 violations; FAIL if 3+ violations or PAINS+.
164
165**Fallback**: If ADMETAI import fails (missing `tooluniverse[ml]`), rely on SwissADME alone. SwissADME provides all Lipinski descriptors independently.
166
167---
168
169### PHASE 3: ADME Predictions
170
171**Goal**: Predict absorption, distribution, metabolism, and excretion behavior.
172
173**Steps**:
174
1751. **Blood-brain barrier penetration**:
176 ```
177 ADMETAI_predict_BBB_penetrance(smiles=["<SMILES>"])
178 ```
179 - BBB+ = compound can cross; BBB- = cannot
180 - Critical for CNS drugs (must cross) and peripherally-acting drugs (should NOT cross to avoid CNS side effects)
181
1822. **Oral bioavailability**:
183 ```
184 ADMETAI_predict_bioavailability(smiles=["<SMILES>"])
185 ```
186 - F20% = at least 20% oral bioavailability; F30% = at least 30%
187 - Low bioavailability means the drug is extensively metabolized or poorly absorbed
188 - F < 20% generally requires non-oral routes (IV, inhaled, topical)
189
1903. **CYP450 interactions**:
191 ```
192 ADMETAI_predict_CYP_interactions(smiles=["<SMILES>"])
193 ```
194 - Reports substrate/inhibitor status for CYP1A2, 2C9, 2C19, 2D6, 3A4
195 - **Why CYP matters**: ~75% of drugs are metabolized by CYP enzymes. Inhibiting CYP3A4 (which metabolizes ~50% of drugs) causes dangerous drug-drug interactions (DDIs). CYP2D6 polymorphisms affect ~25% of drugs -- poor metabolizers accumulate toxic levels
196 - Substrate of CYP2D6 = pharmacogenomic risk (poor/ultra-rapid metabolizers)
197 - Inhibitor of CYP3A4 = high DDI risk (co-administered drugs accumulate)
198
1994. **Clearance and distribution**:
200 ```
201 ADMETAI_predict_clearance_distribution(smiles=["<SMILES>"])
202 ```
203 - VDss (volume of distribution): low (<0.7 L/kg) = confined to plasma; high (>1 L/kg) = distributed to tissues
204 - Clearance: high clearance = short half-life, frequent dosing needed
205 - Plasma protein binding (PPB): >95% bound = narrow therapeutic window, DDI risk from displacement
206
2075. **SwissADME pharmacokinetics** (cross-validation):
208 - GI absorption (high/low), P-gp substrate status, skin permeation (logKp)
209
210**Key flags**: BBB+ for non-CNS drug (WARN: CNS side effects); BBB- for CNS drug (FAIL: won't reach target); F < 20% (WARN: poor oral bioavailability); CYP3A4 inhibitor (WARN: high DDI); CYP2D6 substrate (WARN: pharmacogenomic variability); PPB > 99% (WARN: narrow window); high clearance + low bioavailability (FAIL).
211
212**Fallback**: If ADMETAI unavailable, SwissADME provides GI absorption, BBB permeation (yes/no), P-gp substrate, and CYP inhibition predictions.
213
214---
215
216### PHASE 4: Toxicity Assessment
217
218**Goal**: Evaluate safety liabilities from both predicted and experimental sources.
219
220**Steps**:
221
2221. **ADMETAI toxicity predictions** [T3]:
223 ```
224 ADMETAI_predict_toxicity(smiles=["<SMILES>"])
225 ```
226 Key endpoints:
227 - **AMES**: Mutagenicity (bacterial reverse mutation test). Positive = potential carcinogen; regulatory agencies require AMES testing for all new drugs
228 - **DILI**: Drug-induced liver injury risk. Leading cause of drug withdrawal (e.g., troglitazone). Positive = hepatotoxicity concern requiring liver function monitoring
229 - **hERG**: hERG potassium channel inhibition. Causes QT prolongation and fatal cardiac arrhythmia. hERG+ = cardiotoxicity liability; multiple drugs withdrawn for this (e.g., terfenadine, cisapride)
230 - **ClinTox**: Clinical trial toxicity / FDA withdrawal risk. Trained on drugs that failed trials or were withdrawn for toxicity
231 - **LD50_Zhu**: Predicted lethal dose (mg/kg, rat oral). Lower = more acutely toxic
232 - **Skin_Reaction**: Dermal sensitization potential. Important for topical drugs
233 - **Carcinogens_Lagunin**: Carcinogenicity prediction
234
2352. **Nuclear receptor activity** [T3]:
236 ```
237 ADMETAI_predict_nuclear_receptor_activity(smiles=["<SMILES>"])
238 ```
239 - AR (androgen receptor), ER (estrogen receptor), AhR, PPAR-gamma activity
240 - Positive = potential endocrine disruption; critical for chronic-use drugs and environmental chemicals
241
2423. **Stress response pathways** [T3]:
243 ```
244 ADMETAI_predict_stress_response(smiles=["<SMILES>"])
245 ```
246 - p53 activation = DNA damage response (genotoxicity signal)
247 - MMP disruption = mitochondrial toxicity
248 - ATAD5 = DNA repair stress
249 - HSE = heat shock / protein misfolding stress
250
2514. **PubChemTox experimental data** [T2] (call all in parallel):
252 ```
253 PubChemTox_get_toxicity_values(cid=<CID>)
254 PubChemTox_get_ghs_classification(cid=<CID>)
255 PubChemTox_get_acute_effects(cid=<CID>)
256 PubChemTox_get_carcinogen_classification(cid=<CID>)
257 PubChemTox_get_target_organs(cid=<CID>)
258 PubChemTox_get_toxicity_summary(cid=<CID>)
259 ```
260 - Real animal study data (LD50, LC50, NOAEL) anchors computational predictions
261 - GHS classification provides internationally harmonized hazard categories
262 - Carcinogen classification from IARC (Group 1/2A/2B), NTP, EPA
263
264**Key flags**: AMES positive (FAIL: mutagenic); DILI positive (WARN: hepatotox); hERG positive (FAIL: cardiac, often program-killing); ClinTox positive (WARN); LD50 < 50 mg/kg (FAIL: GHS 1-2); LD50 50-300 mg/kg (WARN: GHS 3); NR-ER/AR active (WARN: endocrine disruption); p53 active (WARN: genotoxicity); IARC Group 1/2A (FAIL: known/probable carcinogen).
265
266**Fallback**: If ADMETAI unavailable, PubChemTox provides experimental toxicity data for known compounds. For novel compounds without PubChem entries, flag as "no experimental toxicity data available -- computational predictions only."
267
268---
269
270### PHASE 5: Scorecard Assembly & Clinical Context
271
272**Goal**: Aggregate all findings into a structured ADMET scorecard with pass/warn/fail verdicts.
273
274**Steps**:
275
2761. **ChEMBL clinical status** [T1] (if drug has ChEMBL ID):
277 ```
278 ChEMBL_get_molecule(chembl_id="<CHEMBL_ID>")
279 ```
280 - Max phase: 4 = approved, 3 = Phase III, 2 = Phase II, 1 = Phase I, 0 = preclinical
281 - Ro5 violations from ChEMBL (independent validation of Lipinski)
282 - First approval year, indication class, black box warning flag
283
2842. **Build the ADMET Scorecard**: produce a table with 13 categories (Physicochemical, Solubility, Absorption, Distribution, Metabolism, Excretion, Tox: Mutagenicity/Hepatotoxicity/Cardiotoxicity/Carcinogenicity/Acute, Endocrine, Clinical Tox), each with PASS/WARN/FAIL verdict and key finding. Include compound identity header and overall verdict. Tag each finding with evidence tier [T1-T3].
285
2863. **Interpretation narrative**: After the scorecard, provide a 3-5 sentence summary:
287 - Highlight the most critical findings (any FAILs or WARNs)
288 - State whether the compound is suitable for oral administration
289 - Note any DDI risks from CYP interactions
290 - Flag pharmacogenomic concerns (CYP2D6 substrate)
291 - Recommend next steps (e.g., "hERG patch clamp assay recommended to confirm computational prediction")
292
293---
294
295## Completeness Checklist (MANDATORY before reporting)
296
297Before delivering the final scorecard, verify:
298
299- [ ] Compound identity resolved (name, CID, SMILES all present or explicitly noted as unavailable)
300- [ ] Physicochemical properties reported with Lipinski verdict
301- [ ] At least one source for each ADME property (ADMETAI or SwissADME)
302- [ ] All 7 ADMETAI toxicity endpoints reported (or marked N/A with reason)
303- [ ] PubChemTox experimental data checked (even if "no data found")
304- [ ] Nuclear receptor and stress response checked (or marked N/A)
305- [ ] Evidence tier tagged for every finding
306- [ ] Scorecard table complete with verdicts for all 13 categories
307- [ ] Overall verdict stated
308- [ ] Interpretation narrative provided with actionable next steps