SolPredict

Predict aqueous solubility of organic molecules using Random Forest and Neural Network models trained on the ESOL dataset. Enter a SMILES string or try one of the examples.


History

Browse recent predictions, see which model versions are active, and inspect how the latest outputs are distributed.

Showing 0-0 of 0 recorded predictions
Active Model
Random Forest
missing
Unavailable
No active version registered yet
Loading model metrics...
Active Model
Neural Network
missing
Unavailable
No active version registered yet
Loading model metrics...

Prediction Distribution

Solubility bands across the current history page.

Recent 0 rows

Loading prediction distribution...

Prediction History

Recent molecules, timestamps, predictions, and model version tags.

Loading history...


Loading results...


Methodology

How SolPredict works, from data to predictions.

Dataset

The ESOL dataset (Delaney, 2004) contains experimentally measured aqueous solubility for 1,128 small organic molecules. Target variable is log(S) in mol/L. We use an 80/20 train/test split with random seed 42.

Features

Each molecule is converted to a 2048-bit Morgan fingerprint (ECFP4, radius=2) using RDKit. Each bit encodes the presence of a circular substructure, producing a fixed-length binary vector that standard ML algorithms can consume directly.

# RDKit pipeline
from rdkit import Chem
from rdkit.Chem import AllChem
mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")
fp = AllChem.GetMorganFingerprintAsBitVect(mol, radius=2, nBits=2048)

Models

Random Forest

Ensemble of 100 decision trees via bootstrap aggregation. Averages predictions to reduce variance.

  • Library: scikit-learn
  • Input: 2048-bit fingerprint
Neural Network

Feed-forward MLP (2048 → 512 → 128 → 1) with ReLU and dropout (p=0.2). Trained with Adam, MSE loss, 100 epochs.

  • Library: PyTorch
  • LR: 0.001, Batch: 64

Evaluation

Models are evaluated with R\u00B2 (variance explained, higher is better), RMSE (root mean squared error, penalizes outliers), and MAE (mean absolute error, robust to outliers). All error metrics are in log mol/L units.