Katharina Julia BrennerAll open-source projects ↗
Research software / Molecular AI

From molecules
to better decisions.

Three working research prototypes. Explore chemical representations, challenge a model's predictions, and choose what to measure next.

Download the complete source ↓

Loading reproducible research assets…

01 / Representations

Molecular Similarity Explorer

RDKit · 24 curated structures

How much does a small structural change matter? Rank a curated molecular library by Morgan fingerprint similarity, inspect physicochemical descriptors, and export your comparison.

Method, contribution and limits

RDKit calculates eight descriptors and 2,048-bit Morgan fingerprints with radius 2. Similarity is the Tanimoto intersection-over-union of fingerprint bits. This project adds a ranked, filterable comparison workflow and a reproducible asset generator on top of RDKit. Structures and descriptors are precomputed, so the demo works without sending molecular inputs to a server.

The curated library is deliberately small. Some structures omit stereochemistry. Similarity does not establish biological activity, safety, efficacy or synthetic accessibility. cLogP is a calculated descriptor. No drug-discovery model is trained in this explorer.

02 / Model reliability

Solubility Validation Lab

Measured ESOL data · held-out evaluation

A model should earn trust on unfamiliar chemistry. Compare a random split with a scaffold-group split, check a simple baseline, and inspect whether prediction intervals actually cover the held-out measurements.

Y: predicted log₁₀ solubility · mol/LX: measured log₁₀ solubility

Descriptor importance

Random-forest impurity importance, not causal attribution.

What the benchmark tests

A 250-tree random forest uses eight RDKit descriptors. A training-mean predictor supplies the baseline. Canonical SMILES duplicates are removed before splitting, keeping the first measurement. Calibration data determine 90% split-conformal intervals; the test set is used only for final evaluation.

Scaffold groups use Bemis–Murcko structures, with all acyclic compounds in one group. Group splits target 60/20/20% of groups, not exact molecule counts. Scaffold separation deliberately changes the chemical distribution: nominal conformal coverage is not guaranteed under this shift. This is a fixed-seed baseline study, not evidence of state-of-the-art performance or prospective validation.

Data provenance and reproducibility

Source: Delaney's ESOL dataset as distributed through DeepChem. Original publication: Delaney, 2004. The Python script accepts a locally supplied CSV, records its SHA-256 checksum and package versions, and rebuilds the displayed evaluation. Raw benchmark data are not bundled in the source package.

03 / Experimental design

Active Learning Sandbox

Synthetic simulation · runs in your browser

Spend the next experiment where it can help. A Gaussian process updates after each observation. Change the exploration weight to balance predicted performance against uncertainty.

Y: synthetic objective scoreX: abstract candidate coordinate

Blue: posterior mean and pointwise 95% model bands. Dark dots: observed experiments. Maximum 25 observations per run.

Experiment log

StepCandidate xObserved score
Acquisition rule and simulation assumptions

Choose the unmeasured candidate with the highest upper confidence bound: μ(x) + βσ(x). The Gaussian process has a zero mean, unit-amplitude RBF kernel with length scale 1.1, and diagonal numerical jitter 10⁻⁶. It starts with observations at x = 0, 5 and 10 and chooses from 81 equally spaced candidates.

The hidden objective is sin(0.8x) + 0.45cos(1.9x) − 0.08x, without measurement noise. This is an illustrative one-dimensional simulation, not molecular property prediction. The kernel settings are fixed; the bands describe this model's uncertainty and are not experimentally calibrated. The original browser implementation includes numerical tests.