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:
| Stage | Question | Cost |
|---|---|---|
| 1. Validity | Is this a real, parseable, standardisable molecule? | very low |
| 2. Property window | MW, logP, QED, synthetic accessibility | very low |
| 3. Nuisance substructures | PAINS, Brenk, structural alerts | very low |
| 4. Safety and ADMET | hERG, Ames, DILI, CYP, permeability | low |
| 5. Applicability domain | Is the model even entitled to an opinion here? | low |
| 6. Target hypothesis | Does 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:
| Endpoint | Prediction | Domain status | How to read it |
|---|---|---|---|
| hERG | 0.0125, LOW risk | in domain | Actionable. Deprioritise cardiac liability as a near-term concern. |
| Ames | 0.84 | out of domain | Not actionable as a number. Treat as a prompt to test, not a result. |
| DILI | 0.90 | out of domain | Same. A high score outside the domain is a flag on the model, not the molecule. |
| Structural alerts | 3 | rule-based | Halogenated 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.

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.

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.
| Endpoint | Metric (scaffold split) | n (test set) |
|---|---|---|
| hERG (cardiotox) | AUC 0.856 | 7500 |
| CYP2C9 inhibition | AUC 0.911 | 2419 |
| CYP1A2 inhibition | AUC 0.902 | 2516 |
| Ames mutagenicity | balanced accuracy 0.736 | 1089 |
| BBB penetration | AUC 0.932 | 305 |
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.
