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.
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
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.
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
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:
Compound identity resolved (name, CID, SMILES all present or explicitly noted as unavailable)
Physicochemical properties reported with Lipinski verdict
At least one source for each ADME property (ADMETAI or SwissADME)
All 7 ADMETAI toxicity endpoints reported (or marked N/A with reason)
PubChemTox experimental data checked (even if "no data found")
Nuclear receptor and stress response checked (or marked N/A)
Evidence tier tagged for every finding
Scorecard table complete with verdicts for all 13 categories
Overall verdict stated
Interpretation narrative provided with actionable next steps