bio-admet-prediction

SkillAI & models

Predicts ADMET properties using ADMETlab 3.0 (119 platform features, including 77 prediction models with modeled-endpoint uncertainty), ADMET-AI, DeepChem MolNet, and chemprop D-MPNN with explicit handling of OECD QSAR principles, applicability domain assessment, calibration, hERG/CYP/AMES endpoints, and PAINS / Lipinski / Ro5 / Veber / BBB druglikeness filters. Use when filtering compounds for drug-likeness, prioritizing leads by predicted safety, or building an in-house ADMET QSAR model.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the bio-admet-prediction skill

What this skill tells your AI

The instructions your AI receives, as published by pku-yuangroup/openai4s in skills/bioskills/bio-chemoinformatics-admet-prediction/SKILL.md and read by ahel’s review.

Version Compatibility

Reference examples tested with: RDKit 2024.09+, requests 2.31+, DeepChem 2.8+, chemprop 2.0+ (note major API change from 1.x), admet-ai 1.3+, pandas 2.2+.

Before using code patterns, verify installed versions match. If versions differ:

  • Python: pip show <package> then help(module.function) to check signatures

If code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.

ADMET Prediction

Predict absorption, distribution, metabolism, excretion, and toxicity properties of drug candidates. ADMET prediction underpins lead selection and de-risking; calibrated, applicability-domain-aware predictions distinguish a working filter from a costly false-confidence rejection. Modern best practice combines online services (ADMETlab 3.0 with uncertainty estimates), open-source models (chemprop D-MPNN), and rule-based filters (Lipinski / Veber / BBB heuristics) -- each with known failure modes.

For PAINS / Brenk / structural alerts, see chemoinformatics/substructure-search. For QSAR model building from in-house data, see chemoinformatics/qsar-modeling.

ADMET Model Taxonomy

ToolEndpointsArchitectureUncertaintyAccessFails when
ADMETlab 3.0119 reported features: 77 prediction models, 34 computed properties, 8 rulesMulti-task DMPNN + descriptors for modeled endpointsEvidential uncertainty for modeled endpointsWeb service; hosted API documented by the authorsOutside training distribution; metals; macrocycles
ADMET-AITDC-derived ADMET tasks; inspect installed model metadataChemprop D-MPNNInspect version-specific outputs; do not assume calibrated uncertaintyPython packagev2 package predictions differ from the v1 paper/server
DeepChem MolNetDataset-dependent tasks including Tox21, ToxCast, and ClinToxModel-dependentModel-dependentPython packageCoverage and uncertainty depend on the selected dataset/model
pkCSMService-defined ADMET endpointsGraph signatures + MLInspect current service outputWeb serviceApplicability domain and service contract must be checked
SwissADMEPhyschem, pharmacokinetics, drug-likeness, and medchem outputsPublished models and rulesNone advertisedWeb service (no public API)Automated access is restricted by its terms
ProTox-3.061 toxicity models/endpointsRF/DNN + fingerprints, similarity, and pharmacophore methodsConfidence scoreWeb service / sample APIToxicity only; reports LD50 and toxicity class
ADMETpredictor (Simulations Plus)~140ProprietaryPer-predictionCommercialLicense cost
FAF-Drugs4filtersRule-basedNoneWebStatic rules
chemprop (in-house)User-definedD-MPNN ± descriptorsEnsemble and other estimators; optional calibrationPython packageRequires suitable training and calibration data

Decision: For batch screening with no in-house data, ADMETlab 3.0 provides 119 reported platform features and uncertainty for modeled endpoints through its web service and hosted API; verify the live API documentation before automating access. For a sufficiently large, relevant in-house endpoint dataset, benchmark a chemprop D-MPNN, descriptors, and simpler baselines under a deployment-relevant split rather than assuming a universal sample-size threshold. Shan et al. (2022) reported an AUC of 0.956 for a D-MPNN combined with 206 MOE descriptors on their random-split hERG benchmark.

Decision Tree by Scenario

ScenarioWorkflowReasoning
Library triage, no in-house dataADMETlab 3.0 API batchBroad platform coverage plus modeled-endpoint uncertainty
Single endpoint, adequate in-house dataBenchmark chemprop D-MPNN, descriptors, and simpler baselinesSelect by prospective or deployment-relevant validation
Need calibrated probabilitieschemprop with ensemble + PlattNative deep learning rarely calibrated
FDA / regulatory submissionOECD-compliant QSAR with ADSee OECD principles below
Quick annotation for VSLipinski, Veber, and QED reported separatelyRank or annotate; do not impose a universal QED gate
BBB penetrationSimple screen: TPSA <= 90, MW <= 500, HBD <= 3Repository heuristic; not the six-factor CNS MPO
Cardiotox liabilityADMETlab hERG + ProTox-3.0 cardiotoxicity + literature checkBoth hosted endpoints model hERG blockade; compare applicability domains and assay definitions
Drug-drug interaction (CYP)CYP1A2/2C9/2C19/2D6/3A4 inhibitor + substrateStandard set of 5 CYPs

OECD QSAR Principles (5 Pillars)

For regulatory-grade ADMET QSAR (REACH, ECHA, FDA submissions), models must satisfy:

  1. Defined endpoint -- specific bioassay, units, conditions
  2. Unambiguous algorithm -- reproducible model + code
  3. Defined applicability domain (AD) -- where the model is valid
  4. Appropriate statistical validation -- external test set, cross-validation
  5. Mechanistic interpretation -- biological / chemical rationale

For non-regulatory work, AD assessment is still critical. The OECD's applicability domain is the workhorse: predictions outside the AD are unreliable, but operational AD measures (leverage, kNN, conformal prediction) often disagree.

Applicability Domain Methods

MethodDefinitionFlags out-of-AD when
kNN distanceMean distance to k nearest neighbors in training set> training-set distribution P95
Leverage (Williams)Hat-matrix diagonal> 3p/n (p = features, n = compounds)
Density (KDE on PCA)Density in feature space< density of training set P5
Conformal predictionPer-prediction confidence intervalInterval > tolerance
Bayesian varianceEnsemble or MC-dropout variance> training-set variance P95

For deep-learning ADMET, conformal prediction can provide calibrated prediction sets or intervals when its exchangeability and calibration assumptions are appropriate (McShane et al. 2024).

ADMETlab 3.0 API

ADMETlab 3.0 reports 119 platform features: 77 prediction models, 34 computed physicochemical properties, and 8 medicinal-chemistry rules. The modeled endpoints include prediction uncertainty; do not imply that computed properties and rules have model uncertainty.

Goal: Obtain the platform's 119 features for a batch of SMILES, including uncertainty for the 77 modeled endpoints, using the hosted service.

Approach: Follow the live ADMETlab 3.0 API tutorial to wash molecules, submit batch predictions, and retrieve the returned results. The 2024 paper documents API/batch support and modeled-endpoint uncertainty. Obtain current rate limits, routes, payloads, task identifiers, and output contracts from the live official documentation rather than attributing them to the paper or hard-coding an unofficial example.

import pandas as pd

# After submitting with the current official API example, load its CSV output.
results = pd.read_csv('admetlab3_results.csv')
# Preserve the uncertainty columns and task identifier in downstream reports.

ADMETlab 3.0 endpoints (sample):

  • Absorption: Caco-2 permeability (logPapp), HIA (%), Pgp inhibitor/substrate, MDCK
  • Distribution: BBB+, PPB (%), VDss (L/kg), Fu (fraction unbound)
  • Metabolism: CYP1A2/2C9/2C19/2D6/3A4 inhibitor / substrate
  • Excretion: CL (mL/min/kg), T1/2 (h)
  • Toxicity: hERG, AMES, hepatotoxicity (DILI), carcinogenicity, immunotoxicity, mutagenicity, respiratory, skin, eye, cardiotoxicity, mitochondrial, NR-AR, NR-ER, SR-MMP
  • Drug-likeness: Lipinski, Veber, Ghose, Egan, Muegge, QED, SAscore

chemprop D-MPNN for Custom Endpoints

When in-house data is available, train a target-specific model. chemprop provides a widely used open-source D-MPNN architecture with atom/bond features and optional molecular descriptors; benchmark it against appropriate baselines on the project's data.

Goal: Train a target-specific ADMET classifier or regressor on in-house bioassay data.

Approach: Use the installed Chemprop 2.x CLI with a scaffold split, a release-supported descriptor featurizer, replicated models, and an explicit prediction-time uncertainty/calibration workflow.

# Chemprop 2.2 CLI; verify flags against the installed release.
# chemprop train --data-path data.csv --task-type classification \
#                --save-dir model_dir --split-type scaffold_balanced \
#                --molecule-featurizers v1_rdkit_2d_normalized \
#                --num-replicates 5 --ensemble-size 5
# chemprop predict --test-path test.csv --model-paths model_dir \
#                  --uncertainty-method ensemble --preds-path predictions.csv

# Or chemprop 2.x programmatic API (full programmatic API documented at chemprop.readthedocs.io)
# See chemoinformatics/qsar-modeling for the full chemprop 2.x training pipeline.

Key: Replicates and an ensemble estimator produce an uncertainty estimate, not automatic calibration. Fit and evaluate a documented calibrator on a separate calibration set when calibrated probabilities or intervals are required. Descriptor benefit must be demonstrated on the intended endpoint.

hERG Cardiotoxicity Endpoint

hERG (KCNH2) blockade can contribute to QT prolongation and Torsades de Pointes and is an important non-clinical cardiac-safety endpoint. Follow the current ICH S7B/E14 and regulator-specific guidance applicable to the program rather than treating one model output as a regulatory conclusion.

ModelArchitectureTraining dataAUCReference
Shan et al. D-MPNN + MOED-MPNN + 206 MOE descriptors7,889 compounds0.956 (random split)Shan 2022
CardioTox-netFive DL base representations + neural meta-ensembleBindingDB, ChEMBL, and literature0.930 (10-fold meta-validation)Karim 2021
ADMETlab 3.0 hERGDMPNN multi-taskInternal0.92 (reported)Fu 2024
ProTox-3.0 cardiotoxicityRF-based classifier5,252 ChEMBL compounds with hERG IC50/Ki0.86 CV; 0.95 externalBanerjee 2024

Interpretation: A single-model probability > 0.5 is NOT a kill signal. Triangulate multiple hERG-specific models and a literature search. ProTox-3.0 calls the endpoint cardiotoxicity, but its model specifically predicts small-molecule hERG blockers; it should not be treated as an independent non-hERG mechanism. Consider exposure relative to measured hERG potency and confirm important decisions experimentally rather than applying a universal safe/unsafe IC50 cutoff.

CYP Inhibition (DDI Risk)

5 CYP isoforms cover most clinically relevant DDIs:

CYPSubstrates (drugs)Inhibitor flag if predicted probAction
CYP3A4many drug classesModel-specific thresholdInterpret inhibitor and substrate assays separately
CYP2D6beta-blockers, antidepressantsModel-specific thresholdInclude polymorphism and exposure context
CYP2C9warfarin, NSAIDsModel-specific thresholdEvaluate clinical substrate/exposure context
CYP2C19PPIs, clopidogrelModel-specific thresholdInclude polymorphism and assay context
CYP1A2caffeine, theophyllineModel-specific thresholdInclude induction, diet, and smoking context

PAINS, BRENK, REOS Filters

ADMET prediction is separate from structural alerts; combine. See chemoinformatics/substructure-search for PAINS/BRENK/REOS pattern catalogs.

from rdkit.Chem.FilterCatalog import FilterCatalog, FilterCatalogParams

def alerts(mol, catalogs=('PAINS_A', 'BRENK', 'ZINC')):
    params = FilterCatalogParams()
    for cat in catalogs:
        params.AddCatalog(getattr(FilterCatalogParams.FilterCatalogs, cat))
    catalog = FilterCatalog(params)
    hits = catalog.GetMatches(mol)
    return [h.GetDescription() for h in hits]

Lipinski / Veber / Drug-Likeness

See chemoinformatics/molecular-descriptors for full physchem table. Quick filter:

from rdkit.Chem import Descriptors, Lipinski, QED

def druglike_score(mol):
    mw = Descriptors.MolWt(mol)
    logp = Descriptors.MolLogP(mol)
    hbd = Lipinski.NumHDonors(mol)
    hba = Lipinski.NumHAcceptors(mol)
    tpsa = Descriptors.TPSA(mol)
    rotbonds = Lipinski.NumRotatableBonds(mol)
    qed = QED.qed(mol)

    lipinski_violations = sum([mw > 500, logp > 5, hbd > 5, hba > 10])
    veber_pass = rotbonds <= 10 and tpsa <= 140
    bbb_simple_screen = tpsa <= 90 and mw <= 500 and hbd <= 3

    return {'MW': mw, 'LogP': logp, 'HBD': hbd, 'HBA': hba,
            'TPSA': tpsa, 'RotBonds': rotbonds, 'QED': qed,
            'Lipinski_violations': lipinski_violations,
            'Veber_pass': veber_pass, 'BBB_simple_screen': bbb_simple_screen}

Per-Tool Failure Modes

ADMETlab 3.0 -- out-of-distribution prediction

Trigger: Chemistry materially unlike the service's documented training/applicability domain, such as metal-containing complexes, many peptides, PROTACs, or unusual macrocycles.

Mechanism: ADMETlab training set is drug-like organic molecules. Predictions on PROTACs, macrocycles, peptides extrapolate.

Symptom: High reported uncertainty, disagreement with neighbors or orthogonal models, or unstable conclusions under reasonable preprocessing.

Fix: Check uncertainty band; if interval is broad, do not trust point estimate. For PROTACs / macrocycles, prefer literature-derived experimental data.

hERG D-MPNN -- training data bias

Trigger: Compound is novel chemotype not in training set (drug-like but in unexplored region).

Mechanism: D-MPNN learns local chemical features; for genuinely new scaffolds, extrapolation is unreliable.

Symptom: Model predicts hERG- (false negative) for compound that experimentally inhibits.

Fix: Use ensemble + applicability-domain assessment (kNN distance, ensemble variance). If kNN distance to training set > P95, treat prediction as low-confidence.

CYP3A4 inhibitor + substrate ambiguity

Trigger: Model trained on either inhibitor OR substrate; predictions confused.

Mechanism: CYP3A4 inhibitors and substrates have similar SAR; many compounds are both.

Symptom: Both classes report > 0.5.

Fix: Two separate models (inhibitor model, substrate model); compounds that score high in both are flagged for in vitro confirmation.

SwissADME -- no API

Trigger: Wanting to batch programmatically.

Mechanism: SwissADME's terms restrict automated crawler/data-retrieval access, and no public API is documented.

Symptom: No programmatic access; manual web upload only.

Fix: Use a currently documented programmatic service and follow its access policy; for ADMETlab 3.0, verify the live API tutorial before writing a client.

PAINS as a kill filter

Trigger: Treating PAINS_A match as a categorical exclusion.

Mechanism: PAINS is calibrated against HTS assay-interference; matches do NOT predict failed drug development.

Symptom: Library purged of valid leads (curcumin analogs, polyphenol natural products).

Fix: Flag PAINS for orthogonal-assay confirmation; do not exclude pre-emptively. See substructure-search for details.

Class-imbalanced AMES dataset

Trigger: Training/predicting AMES mutagenicity.

Mechanism: Public AMES datasets can be imbalanced and differ in assay definition and curation; aggregate accuracy can therefore be misleading.

Symptom: Model reports high accuracy but predicts negative for all.

Fix: Report class balance and use suitable metrics such as PR-AUC, ROC-AUC, MCC, or balanced accuracy. Compare class weighting or resampling inside training folds without leaking validation/test data.

Reconciliation Across Models

When ADMETlab, ProTox-3.0, and an independently trained chemprop model disagree on hERG:

  • All predict hERG+ -> higher concern; plan in vitro patch-clamp
  • Results disagree -> inspect applicability domains, activity thresholds, and assay definitions before deciding
  • All predict hERG- -> lower concern, but still consider in vitro screening for clinical candidates and novel chemotypes
  • Do not count correlated models as independent evidence merely because they are hosted by different services

Common Errors

SymptomCauseFix
ADMETlab API timeoutService load, payload, or current quotaFollow live batch limits; retry with backoff and record failures
chemprop training overfitsRandom splitUse scaffold split (--split scaffold_balanced)
hERG prediction 50/50Out-of-distributionCheck applicability domain
QED calculation failsMolecule is missing, unsanitized, or unsupportedReject parse failures; sanitize inputs and handle calculation exceptions
ProTox endpoints missingWeb scrape uses CSS selectorUse formal API
BBB+ true but TPSA > 90Different BBB modelUse the simple physicochemical screen as an orthogonal heuristic
Predictions inconsistent across runsRandom seed for chemprop ensemble--seed 42 and reuse model
Calibration mismatchDL native probabilities not calibratedApply Platt scaling on validation set

References

  • Fu et al., Nucleic Acids Res. 52:W422-W431 (2024) -- ADMETlab 3.0 (DOI 10.1093/nar/gkae236).
  • Shan M, Jiang C, Chen J, Qin L-P, Qin J-J, Cheng G. RSC Adv. 12:3423-3430 (2022) -- D-MPNN/MOE hERG benchmark (DOI 10.1039/D1RA07956E).
  • Karim A, Lee M, Balle T, Sattar A. J. Cheminformatics 13:60 (2021) -- CardioTox-net (DOI 10.1186/s13321-021-00541-z).
  • Banerjee P, Kemmler E, Dunkel M, Preissner R. Nucleic Acids Res. 52:W513-W520 (2024) -- ProTox-3.0 (DOI 10.1093/nar/gkae303).
  • McShane SA et al. J. Cheminformatics 16:75 (2024) -- conformal prediction for molecular-property models (DOI 10.1186/s13321-024-00870-9).
  • Heid E et al., J. Chem. Inf. Model. 64:9-17 (2024) -- Chemprop redesign (DOI 10.1021/acs.jcim.3c01250).
  • Chemprop documentation, training, descriptors, and uncertainty: https://chemprop.readthedocs.io/
  • ADMET-AI official repository and version notes: https://github.com/swansonk14/admet_ai
  • SwissADME Terms of Use: https://www.swissadme.ch/termsofuse.php
  • OECD, "Principles for the Validation, for Regulatory Purposes, of (Q)SAR Models" (agreed 2004).
  • OECD, Guidance Document on the Validation of (Q)SAR Models, OECD Series on Testing and Assessment No. 69 (2007).
  • OECD, "(Q)SAR Assessment Framework" (2023).
  • Capuzzi et al., J. Chem. Inf. Model. 57:417 (2017) -- PAINS reality check.
  • Wager et al., ACS Chem. Neurosci. 1:435 (2010) -- Pfizer CNS MPO.
  • Bickerton et al., Nat. Chem. 4:90 (2012) -- QED.

Related Skills

  • chemoinformatics/molecular-descriptors - Compute drug-likeness physchem
  • chemoinformatics/substructure-search - PAINS / BRENK / REOS filter
  • chemoinformatics/qsar-modeling - Build custom QSAR for in-house data
  • chemoinformatics/molecular-standardization - Canonicalize before prediction
  • machine-learning/biomarker-discovery - Adjacent ML approaches
  • clinical-databases/pharmacogenomics - Patient genotype overlay

Signals

GitHub stars
404
Forks
48
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bio-admet-prediction-pku-yuangroup
Source
github.com/pku-yuangroup/openai4s