ML Models  /  Solubility Predictor

Solubility Predictor

Enter one or more solute SMILES strings, a temperature or a temperature range, and select the solvents. The model returns the predicted solubility as log10 of the mole fraction. It is a screening tool and does not replace measurement.

Input

Up to 10 molecules. Neutral organic molecules work best.
Carbohydrates
Polymer monomers
Temperature (°C)
Most training data lie between 0 and 100 °C. Allowed: -20 to 150 °C, up to 25 points.
1 selected (max 8). Hold Ctrl (Cmd on Mac) to select several.
Please log in to run predictions.
Limit: 60 predictions per request (solutes × solvents × temperatures).

Results

Your predictions will appear here.

Scope and limits

  • Output. log10 of the solute mole fraction in the saturated solution. Mole fraction is 10log x. mol/L and g/L are derived from it assuming the solution density equals the pure-solvent density (about 1 g/mL for water), so treat them as approximate, especially at high solubility.
  • Solvents. Pure solvents only, in five classes: water, alcohols, ketones, esters and aromatics. Mixtures are not supported.
  • Accuracy. On held-out solutes the RMSE is 0.881 log10 units (a factor of about 7 in mole fraction). Ketones are the weakest class.
  • Temperature. The model captures the temperature trend only weakly. The direction is usually right, but the size of the change is not reliable.
  • Model spread. The difference between the two models (LightGBM and Bagging). It is a rough hint, not a calibrated error.

Model validation

The prediction is the mean of a LightGBM and a Bagging model. Training used 41,518 measurements (2,861 solutes). The test set has 10,494 measurements (716 solutes). The split is by solute, so test molecules were never seen in training.

Parity plots of predicted versus experimental log10 mole fraction for the training and test sets

Parity plots: (a) training set, in-sample fit. (b) test set, held-out solutes. Colour shows the number of points per hexagon. Dashed lines mark ±1 log unit.

Regression metrics

DataNR²RMSE (log10 x)MAE (log10 x)Within 1 log unit
Train (fit, in-sample)415180.9780.2470.1570.993
Train (5-fold out-of-fold)415180.7430.8380.6330.803
Test (held-out solutes)104940.6900.8810.6170.819

The in-sample row is optimistic because the model has seen those molecules. The out-of-fold and test rows are the honest estimates.

Test-set metrics by group

GroupNR²RMSEMAEWithin 1 log unit
water28190.8340.7860.5380.849
alcohol51170.4070.8410.5920.822
ketone9620.2851.2340.8840.712
ester10740.4130.9070.6820.812
aromatic5220.5320.9280.6680.835
Handbook22360.8780.7060.4840.875
BigSolDB82580.4640.9230.6530.804

Classification view (F1 score)

The model is a regressor. To report F1, solubility is binned by log10 x into three classes (below −4, −4 to −2, and −2 or above). The bin edges are illustrative and were not used in training.

Train (fit, in-sample)PrecisionRecallF1Support
Low (log x < -4)0.9640.8980.9306547
Moderate (-4 to -2)0.9170.9480.93218218
High (log x >= -2)0.9550.9470.95116753
Macro F1 / accuracy0.938acc 0.939
Test (held-out solutes)PrecisionRecallF1Support
Low (log x < -4)0.8210.5510.6601733
Moderate (-4 to -2)0.6640.8040.7274434
High (log x >= -2)0.7980.7320.7644327
Macro F1 / accuracy0.717acc 0.733

Validated 2026-10-15 using the deployed model files. Re-running them on the original test set reproduced the saved test predictions (max difference below 1e-10).