T-06ADMET

BBBScope: blood–brain barrier

Predict BBB permeability from SMILES, with each compound’s distance from the training data and the accuracy that distance implies.

Runs locally, nothing is uploaded · checked against the BBBScope Python app · v1.0, updated ·

BBBScope

Predicts blood-brain barrier permeability from structure, and reports how far each compound sits from the data the model was trained on.

That distance is the point. On held-out compounds, accuracy runs from about 76 % for structures unlike anything in training to about 94 % for close analogues. A prediction without that context is not interpretable, so BBBScope returns it with every result.

Input

Descriptor

Recommended. Best overall and at the edge of scope.

Pick an example or paste SMILES in the sidebar, then press Predict.

How the scope is defined

Scope is the Tanimoto similarity between a query and its nearest neighbour in the training partition, on 2048-bit Morgan fingerprints. Measured on held-out compounds:

SimilarityScopeAccuracy
≥ 0.5In scope~94 %
0.3 – 0.5Edge of scope~88 %
< 0.3Out of scope~76 %

A leverage-based domain was also evaluated. It behaves for MACCS keys but degenerates for wider fingerprints, flagging 63 % of a test set at 1 951 descriptors, because the usual warning leverage assumes far fewer descriptors than compounds. The similarity domain has no such failure mode.

Which descriptor to use

The four are not interchangeable, and the differences appear where they matter most. Matthews correlation coefficient on the held-out partition, by distance from training:

DescriptorIn scopeEdge of scopeOut of scope
MACCS keys0.8600.6960.405
Avalon0.8110.6140.458
Topological torsion0.8520.5470.383
Morgan (ECFP4)0.8580.5120.231

Morgan matches MACCS on close analogues and then collapses, which is the opposite of what a richer descriptor is usually assumed to do. Morgan encodes specific atom environments, so a novel chemotype sets bits the model has never seen. MACCS encodes generic features — counts of oxygens, hydrogen-bond donors, simple connectivity — which transfer across chemotypes.

MACCS is the default. Avalon is worth trying for compounds far outside the training set.

Model details and performance
{
  "trained_on": "B3DB, scaffold-split training partition only",
  "n_training": 6235,
  "n_held_out": 1559,
  "resampling": "random oversampling of the minority class, training partition only",
  "seed": 42,
  "fingerprints": {
    "morgan": {
      "n_bits": 2048,
      "n_retained": 1951,
      "model_mb": 3
    },
    "maccs": {
      "n_bits": 167,
      "n_retained": 118,
      "model_mb": 2.6
    },
    "avalon": {
      "n_bits": 1024,
      "n_retained": 893,
      "model_mb": 2.3
    },
    "topological_torsion": {
      "n_bits": 2048,
      "n_retained": 1244,
      "model_mb": 2.9
    }
  },
  "applicability_domain": {
    "representation": "Morgan ECFP4, 2048 bits, packed",
    "n_reference": 6235,
    "metric": "maximum Tanimoto similarity to the training partition",
    "warn_below": 0.5,
    "note": "accuracy on held-out compounds falls from 94 % above 0.5 to 76 % below 0.3"
  }
}

Across ten repeated scaffold partitions, random forest on MACCS keys: AUC 0.934 (0.923–0.948), MCC 0.693 (0.666–0.734). On compounds genuinely external to the training data, AUC 0.954.

Earlier releases, under the name EnsembleBBB, reported substantially higher figures. Those were inflated by two faults: the minority class was oversampled before the data were partitioned, and the partition was random over a dataset in which roughly half the molecules share a descriptor vector with another molecule, because the fingerprints ignore stereochemistry. Both are corrected here.

What this is

A browser port of BBBScope by Yassir Boulaamane and Amal Maurady (MIT), whose original runs as a Streamlit app at bbbscope.streamlit.app. The same four random forests, the same applicability domain and the same text, now computed on your machine: structures are never sent anywhere.

The models are trained on B3DB (Meng et al., Sci Data 8 (2021) 289), 7 794 molecules after curation: 4 948 BBB+ and 2 846 BBB−. The scope is the Tanimoto similarity of a query to its nearest neighbour among the 6 235 training molecules, on 2048-bit Morgan fingerprints (radius 2).

Read the labels with care

Binary labels derived from brain-to-plasma ratios conflate passive permeability with active efflux. Atenolol and loratadine, both poorly brain-penetrant in practice, are labelled permeable in B3DB. No classifier trained on these labels can distinguish a compound that does not cross from one that crosses and is pumped back out.

The 2023 Research Square preprint reports the uncorrected EnsembleBBB figures and is superseded; a manuscript reporting the corrected analysis is in preparation. The repository README sets out what was wrong and how it was fixed.

How it runs here

Fingerprints, descriptors and drawings come from RDKit.js 2026.9.1 (BSD-3-Clause), and Avalon fingerprints from the Avalon Toolkit (BSD, Novartis) compiled to WebAssembly with the settings RDKit uses. The forests are exported from the app's scikit-learn models and evaluated in JavaScript. The engine, about 3 MB compressed, loads the first time you use the tool and is cached after that; Avalon loads only if you pick it.

Checked against the Python app running RDKit 2026.09.1 and scikit-learn 1.8.0 on all 1 559 held-out and 407 external compounds, the examples and a set of edge cases, for all four descriptors: identical fingerprint bits, identical nearest neighbours and similarities, probabilities within 2.2 × 10−16, no change of label, and a CSV download that matches pandas byte for byte.

Results are for research and education and are not a substitute for checking against the primary literature. See the disclaimer. Found a bug? Report it.

Newsletter · twice a month at most

The Run Log

One email when a pinned version changes, a tutorial is re-run, or a new tool ships.

Sign-ups open soon. Until then, new and re-run tutorials go out on the RSS feed.
About the newsletter →