Skip to content
CovaSyn
Book an initial call

Use case

Generative Molecule Design That Survives ADMET

Generative molecule design is easy; ADMET filtering is the hard part. A real designed analogue run through tox screening and docking, with in-domain flags.

CovaSyn team8 min read

All Articles
Generative Molecule Design That Survives ADMET

Any generative model will hand you ten thousand molecules by lunchtime. The bottleneck was never generation. It is deciding which three of those ten thousand are worth a chemist's week, and being able to say why, including which of your own predictions you do not trust.

This article walks one designed molecule end to end: generation, druglikeness, ADMET and tox screening, then a binding check. Every number below comes unchanged from a CovaSyn analysis, and the out-of-domain flags are shown rather than hidden, because those flags are what turn a score into a decision.

Generation is cheap, filtering is expensive

A genetic algorithm over a seed scaffold, a VAE, a diffusion model over 3D pockets: all of them produce valid SMILES at essentially zero marginal cost. What they do not produce is a reason to believe. The cost sits downstream: a synthesis attempt is days of a chemist's time, an in-vitro hERG patch clamp or Ames test is real money per compound, and a false negative that reaches in-vivo is the expensive kind of mistake.

So the useful question about a generative method is not "can it invent molecules" but "what does it refuse, and on what evidence". A filter stack that passes everything is decoration.

The filter order that matters

Filters should run cheapest-first and most-decisive-first. In practice that means:

StageQuestionCost
1. ValidityIs this a real, parseable, standardisable molecule?very low
2. Property windowMW, logP, QED, synthetic accessibilityvery low
3. Nuisance substructuresPAINS, Brenk, structural alertsvery low
4. Safety and ADMEThERG, Ames, DILI, CYP, permeabilitylow
5. Applicability domainIs the model even entitled to an opinion here?low
6. Target hypothesisDoes it plausibly bind?much higher

Stage 5 is the one most pipelines skip, and it is the one that changes what you do with stages 4 and 6.

Worked example: one designed analogue, all the way through

The molecule below was designed, not curated. The generative design started from the sotorasib scaffold and returned a validated analogue.

What the design returned:

  • QED 0.77
  • Synthetic accessibility (SA) 2.44
  • MW 359
  • 6 of 6 druglikeness filters passed
  • Structure validated, PAINS 0, Brenk 0

That is a clean sheet on stages 1 to 3. On most generative-design demos, this is where the slide ends and the word "candidate" appears. It should not.

What the tox and ADMET screen returned for the same SMILES, with no edits:

EndpointPredictionDomain statusHow to read it
hERG0.0125, LOW riskin domainActionable. Deprioritise cardiac liability as a near-term concern.
Ames0.84out of domainNot actionable as a number. Treat as a prompt to test, not a result.
DILI0.90out of domainSame. A high score outside the domain is a flag on the model, not the molecule.
Structural alerts3rule-basedHalogenated aromatic, CYP pyridine / pyrimidine motifs. Known liabilities, not vetoes.

Two of the three model endpoints came back with numbers that look alarming and are, for this molecule, uninterpretable. An analysis that had reported "Ames risk 0.84: HIGH" without the domain flag would have sent a chemist chasing a mutagenicity story the model has no standing to tell.

Then the binding question.

Our docking placed the same designed SMILES into KRAS G12C (PDB 6OIM) and returned −9.44 kcal/mol, rated "strong", with 47 interactions logged including a contact at Cys26. That is a real run, and it is a non-covalent ranking score into a deposited structure, not a covalent-binding prediction and not an affinity measurement.

Three-stage pipeline for generative molecule design with ADMET filtering: 6 of 6 druglikeness filters passed, 1 of 3 tox endpoints in domain, docking score −9.44 kcal/mol into KRAS G12C.
The analogue clears every cheap filter and docks at −9.44 kcal/mol, a ranking score rather than an affinity. Only one of three tox endpoints is in domain, and that is what decides the next experiment. Source: CovaSyn generative design, ADMET screen and docking on one designed analogue, as described in this article.

What "in domain" actually buys you

The applicability domain is a statement about the training set, not about the molecule. A model is in domain when the query compound sits inside the chemical space it was fitted on. Outside that space the model still emits a number, because that is what models do, but the number is extrapolation.

In the example above: hERG in domain means our hERG model has seen chemistry like this, so 0.0125 is a call you can act on. Ames and DILI out of domain means the scaffold is unfamiliar to those models, so 0.84 and 0.90 carry no information you can calibrate.

For generative design this matters more than for library screening, because generative models are specifically good at leaving known chemical space. The better your generator, the more often your ADMET models will be out of domain. Design and filtering pull in opposite directions, and only an explicit domain check surfaces the tension.

Bar chart of ADMET filter quality for generative molecule design: scaffold-split AUC 0.932 BBB, 0.911 CYP2C9, 0.902 CYP1A2, 0.856 hERG, and Ames balanced accuracy 0.736.
Scaffold splits remove the training cores, so these are the honest numbers behind the filter stack. Read the test-set size with the score: BBB at 305 compounds is thin support next to hERG at 7500. Source: Scaffold-split holdout metrics of our models, with test-set size per endpoint. Scaffold split means the test compounds' molecular cores are absent from training.

How good are the filters themselves

Domain flags only help if the in-domain predictions are worth something. Our models are validated on a scaffold split: test compounds whose molecular cores are absent from training, which is the harder and more honest split.

EndpointMetric (scaffold split)n (test set)
hERG (cardiotox)AUC 0.8567500
CYP2C9 inhibitionAUC 0.9112419
CYP1A2 inhibitionAUC 0.9022516
Ames mutagenicitybalanced accuracy 0.7361089
BBB penetrationAUC 0.932305

Separately, on the TDC ADMET Benchmark Group official split (trained on the official train split only, 5 repeats, scored by TDC's own evaluator), our Ames model scored AUROC 0.847 +/- 0.013 with n = 1,457 in the test set. Reference: Huang et al., Nat Chem Biol 18, 1033 (2022) plus the live leaderboard at tdcommons.ai.

Two caveats worth stating plainly. First, the models in the first table and the model retrained for the TDC split are different fits, so the two tables are not directly comparable. Second, several published ADMET endpoints have very small official test sets: DILI at n = 96 and HIA at n = 117 on the TDC split, and a headline AUC on fewer than 150 compounds should not drive a portfolio decision.

What this does not tell you

  • Docking scores are not affinities. −9.44 kcal/mol ranks poses within one campaign against one structure. It does not predict Ki, and it says nothing about covalent bond formation even when the pose contacts a cysteine.
  • A LOW hERG prediction is not a clean patch clamp. It is a prior that lets you sequence your assays, nothing more.
  • Out-of-domain scores are not "probably fine". They are unknown in both directions. A 0.90 DILI out of domain is not evidence of safety either.
  • SA 2.44 is a heuristic, not a route. Whether the molecule is actually makeable is a retrosynthesis and a chemist's judgement.
  • 6 of 6 druglikeness filters is a floor, not a signal. Passing Lipinski-type rules is common among molecules that fail for other reasons.
  • None of this is a regulatory position. These are triage outputs for prioritising experiments.

Practical setup for a design campaign

1. Generate wide, then apply stages 1 to 3 as a hard gate. They cost almost nothing and they remove obvious junk. 2. Run the quick tox screen on the survivors, and keep the domain flag as a first-class column next to the score. 3. Split into three buckets: in-domain-clean, in-domain-flagged, out-of-domain. Only the first is a shortlist. The third is your assay list. 4. Spend docking only on the shortlist.

The scarce resource is not compute. It is the number of molecules a chemist will actually make.

Frequently asked questions

Does generative molecular design produce synthesisable molecules?

Not automatically. Generative models optimise the objective you give them, and validity is not tractability. A synthetic accessibility score is the cheap first check: the analogue above scored SA 2.44, which is in the tractable range. That is a heuristic based on fragment frequency, not a route. Confirm anything you intend to make with retrosynthesis planning and a chemist's review before committing bench time.

What ADMET endpoints should filter a generative design run?

At minimum hERG, Ames mutagenicity, CYP inhibition and a permeability or BBB endpoint, depending on the target compartment. On our scaffold-split holdouts these are the better-supported endpoints: hERG AUC 0.856 (n = 7,500), CYP2C9 AUC 0.911 (n = 2,419), Ames balanced accuracy 0.736 (n = 1,089). Endpoints with test sets under roughly 150 compounds should inform triage but not gate a programme.

What does "out of applicability domain" mean for a predicted tox score?

It means the query molecule sits outside the chemical space the model was trained on, so the number is extrapolation rather than prediction. In the worked example, the ADMET screen returned Ames 0.84 and DILI 0.90 but flagged both out of domain, while hERG 0.0125 was in domain. The correct response to an out-of-domain flag is to schedule an assay, not to trust or dismiss the score.

Why do generative models trigger out-of-domain flags so often?

Because that is what they are for. A generator that only produces molecules resembling the training set of your ADMET models is not adding much. The more novel the chemistry, the further it sits from the QSAR training distributions, and the more often the domain check fires. This is a structural tension in de novo design, not a model defect, which is why the domain flag has to travel with the score.

Can a docking score confirm a generatively designed molecule?

It can support a binding hypothesis and rank candidates against each other. Our docking returned −9.44 kcal/mol with 47 interactions and a Cys26 contact for the designed analogue against KRAS G12C (PDB 6OIM). That is a non-covalent ranking score into a deposited structure. It is not an affinity, not a covalent-binding prediction, and it does not replace a biochemical assay.

How many generated molecules typically survive a full filter stack?

There is no universal number: it depends entirely on the generator, the seed scaffold and how strictly you set the domain gate. The useful metric to track is not the survival rate but the composition of the survivors: how many are in-domain-clean versus out-of-domain. If almost everything is out of domain, your ADMET models and your generator are exploring different chemical spaces, and you need experimental data before the filter stack means anything.

Related reading

Computed with CovaSyn

The numbers in this article come from our tools.

  • ADME profiles, druglikeness, molecule design.
  • ICH M7, Tox21, CYP450, structural alerts, ADMET triage.

Free PDF

Results you can rely on

Our beginner's guide for chemistry, pharma and biotech: how to tell an estimate from a calculation, seven questions to ask of every result and six questions to ask every provider. 8 pages.

Get the guide

Next step

Compute it instead of guessing.

30 minutes on Microsoft Teams with the CovaSyn team. If it is not a fit, we will say so.