FiltraNex a NexCo screening tool github.com/abinittio

Stimulant candidate screening,
in seconds.

A five-stage cascade that scores a compound for monoamine-transporter activity, CNS penetration, drug-likeness and cardiac safety — and tells you, at every stage, whether the number came from a trained model or a documented heuristic.

This is a demonstration page. The cascades below replay real output captured from the pipeline for three compounds — not live inference, and not invented numbers. Every stage here is tagged heuristic because the pipeline was run without trained weights loaded, which is exactly what it reports in that configuration. The scoring code is not public; see the repository README for what is and is not shared.

Replay a screen:
How to read a stage pass threshold cascade floor model heuristic

The cascade

A compound is rejected at the first gate it fails: activity floor, then the cardiac gate, then the composite threshold. Stages downstream of a failed gate are reported as not evaluated rather than silently scored.

1 · Activity

Structural similarity to known monoamine-transporter ligands.

2 · Blood–brain barrier

CNS permeability, with an applicability-domain check.

3 · Drug quality

Lipinski/Veber drug-likeness and CYP450 liability flags.

4 · Cardiac safety

hERG / structural cardiac liability — a hard gate.

5 · Composite

Weighted aggregate scored against the pass threshold.

Why there is an applicability gate

Under leakage control, the blood–brain barrier stage's accuracy is largely a function of how close a compound sits to the training set. On genuinely novel chemistry every architecture tested — random forest, GNN, ChemBERTa, CNN, LSTM — falls to near chance. So every result carries its nearest-neighbour similarity and a confidence tier, rather than a confident-looking number.

External AUC by nearest-neighbour Tanimoto similarity to the training set: 0.621 on the most novel slice rising to 0.984 on near-duplicates

Provenance, not vibes

Every stage carries a model or heuristic tag, and a stage is only tagged model when a trained model for that endpoint was actually loaded. With no weights present the pipeline runs on documented heuristics and says so on every card. Nothing is dressed up as a prediction it did not make.