RxCubedAI-guided. AI-curated. AI-modelled.
Test version
← All docsRxCubed tools

Drug-likeness filters

Runs a compound through Lipinski's rule of five, Veber's rule, and PAINS, returning one pass/fail verdict per rule set. Use as the routine first-pass triage on a candidate before carrying it further.

Drug-likeness filters

What it does

Takes one saved compound and runs it through three independent checks used to triage candidates before investing more effort in them:

  • Lipinski's rule of five — is this the size and polarity of an orally-absorbed small molecule?
  • Veber's rule — is this flexible and polar enough to have a shot at oral bioavailability?
  • PAINS — does this contain a substructure known to interfere with assays rather than through genuine binding?

Each comes back as a pass or fail, with the specific numbers or alert names behind that verdict.

How each rule works

Lipinski's rule of five flags a compound if it breaks more than one of: molecular weight ≤ 500, LogP ≤ 5, hydrogen-bond donors ≤ 5, hydrogen-bond acceptors ≤ 10. One broken rule is normal — plenty of real oral drugs violate exactly one — which is why the pass line is drawn at more than one, not at zero.

Veber's rule flags a compound if it has more than 10 rotatable bonds, or a topological polar surface area (TPSA) over 140 Ų. Both matter for the same reason: a molecule that is too floppy or too polar tends not to cross a cell membrane efficiently, however well it binds its target in a test tube.

PAINS (Pan-Assay Interference Compounds) checks the structure against a published library of substructures — certain quinones, rhodanines, and similar — that have a track record of showing up as hits in unrelated assays for reasons that have nothing to do with the biology being tested. A PAINS alert names which substructure matched.

Reading the result

A fail on any rule set is a flag to look closer, not a rejection. All three are heuristics built from known drugs and known problem compounds, and each has documented exceptions — real marketed drugs that fail Lipinski, useful leads that carry a PAINS-flagged group deliberately. Use this as a routine first pass, the same triage a medicinal chemist would do by eye, rather than as a final answer.

Input

One compound, saved as an SDF. If the file has more than one structure in it, only the first is used, and the result says how many records the file had.

Important limitations

No numeric detail beyond what backs the verdict. For the full property profile — including numbers this tool doesn't surface, like the exact TPSA value — run Molecular properties on the same compound.

Fixed thresholds. The cutoffs are the published ones and are not adjustable here; a different bar is a different question than "does this clear the standard triage." The saved JSON echoes them back under a thresholds object on each rule set, so the exact numbers a run was judged against are on the record even when everything passes and detail has nothing to name.

Drug-likeness filters — RxCubed