PRISM: Prior Relational Information for Self-supervised Modeling to Enhance Solubility OOD Generalization
Organizations: Global College, Shanghai Jiao Tong University, Shanghai, China. · Digital Innovation Research Center, Duke Kunshan University, Kunshan, Jiangsu, China. · Zu Chongzhi Center, Duke Kunshan University, Kunshan, Jiangsu, China. · National Key Laboratory of Advanced Micro and Nano Manufacture Technology, Shanghai Jiao Tong University, Shanghai, China.
Abstract
Solubility depends on intermolecular interactions between solutes and solvents, and is central to drug discovery, chemical and materials process engineering. Its prediction requires out-of-distribution (OOD) generalization to unseen solutes, solvents, and solvent mixtures, where supervised methods suffer from data scarcity, and existing self-supervised methods do not explicitly learn chemically meaningful relations. Learning chemically meaningful relational information without labels can alleviate data scarcity and improve OOD generalization, but remains challenging. We introduce Prior Relational Information for Self-supervised Modeling (PRISM) and apply it to solubility OOD generalization. PRISM is a label-free pretraining framework that converts expert-defined chemical priors into relational teachers. For solubility prediction, it trains four encoders to preserve the population-level relational information from priors capturing hydrophobic, electrostatic, polarizability, and substructural effects, using Kullback-Leibler (KL) divergence to match distance-based neighborhood distributions during pretraining. Across scaffold, solute, and solvent OOD settings, PRISM matches or surpasses supervised and self-supervised baselines. Under mixed-solvent OOD, freezing the four PRISM encoders and training a lightweight fusion-and-composition head outperforms strong baselines and substantially reduces run-to-run variation. Ablations and control studies confirm that gains stem from chemically meaningful relational structures baked into the encoders by PRISM. We expect this strategy of turning relational priors into self-supervision signals to extend beyond solubility prediction to domains where chemically or biologically meaningful relational priors are available.
Figures & tables
| Relational object | Objective | Discrepancy metric | Related instances |
|---|---|---|---|
| Pairwise distance matrix | Pointwise metric matching | Distance regression | Talibart et al. [ 21 ] |
| Neighbor ordering | Rank preservation | Rank / ListMLE loss | PH-TDL [ 22 ] |
| Top- prior-space kNN graph | Neighborhood-graph alignment | InfoNCE over graph positives | Moleco [ 23 ] |
| Pair-wise distance-based distribution | Distribution matching | KL divergence | SNE-style [ 24 ] / GraphMSL [ 25 ] |
| Objective | Alignment metric | ESOL RMSE | ||||
|---|---|---|---|---|---|---|
| C1 | C2 | C3 | C1 | C2 | C3 | |
| distance | 0.968 | 0.933 | 0.851 | 0.956 | 0.865 | 0.987 |
| Rank | 0.180 | 0.109 | 0.025 | 1.023 | 1.027 | 1.022 |
| Neighborhood-graph alignment | 2.53 | 2.02 | 1.34 | 2.011 | 1.241 | 1.083 |
| Distribution matching | 0.813 | 0.736 | 0.723 | 0.844 | 0.776 | 0.772 |
| Model | ESOL | FreeSolv | Lipo |
|---|---|---|---|
| XGBoost | |||
| D-MPNN [ 20 ] | |||
| MolCLR [ 10 ] | |||
| MoAMa [ 29 ] | |||
| PRISM |
| Model | RMSE | |||
|---|---|---|---|---|
| Leeds | SolProp | Leeds | SolProp | |
| Vermeire [ 27 ] | 2.16 | 1.43 | 41.2 | 66.9 |
| MolFormer [ 27 ] | 1.07 | 0.98 | 64.1 | 70.7 |
| ChemBERTa [ 27 ] | 1.26 | 1.01 | 57.0 | 72.4 |
| Chemprop [ 27 ] | 0.99 | 0.83 | 70.9 | 76.1 |
| Fastprop [ 27 ] | 0.95 | 0.83 | 73.6 | 78.1 |
| Random split | Solvent-pair-disjoint OOD | |||||
| Model | RMSE | RMSE | ||||
| Direct-prior control | ||||||
| XGBoost | ||||||
| End-to-end D-MPNN aggregation controls | ||||||
| D-MPNN + Concat | ||||||
| D-MPNN + Weighted Sum | ||||||
| Leeds | SolProp | Mixed OOD | ||||
|---|---|---|---|---|---|---|
| Model | RMSE | RMSE | RMSE | |||
| D-MPNN w. prior | ||||||
| D-MPNN (reconstruction) | ||||||
| D-MPNN (all spaces) | ||||||
| 4 D-MPNN (scratch) | ||||||
| PRISM-Distilled | ||||||
| Dataset | Gaussian prior trained PRISM | 4 D-MPNN scratch | D-MPNN | PRISM | ||
|---|---|---|---|---|---|---|
| ESOL | 0.107 | 0.150 | ||||
| FreeSolv | 0.072 | 0.090 | ||||
| Lipo | 0.305 | 0.315 |
Appendix figures & tables41 assets
Supplementary material from the paper’s appendix.
Appendix
| Symbol | Meaning |
|---|---|
| Molecular graph input | |
| Downstream label | |
| Model prediction | |
| Unlabeled molecular graph dataset for pretraining | |
| Mini-batch of molecules | |
| Set of expert-defined prior spaces |
| Dataset | Task | #Samples | Split | Metric |
| ZINC250k | pretraining | 250k | — | — |
| BBBP | classification | 2,039 | scaffold 8:1:1 | ROC-AUC |
| BACE | classification | 1,513 | scaffold 8:1:1 | ROC-AUC |
| HIV | classification | 41,127 | scaffold 8:1:1 | ROC-AUC |
| ESOL | regression | 1,128 | scaffold 8:1:1 | RMSE |
| FreeSolv | regression | 642 | scaffold 8:1:1 | RMSE |
| Metric | Value |
|---|---|
| Total samples | 26,730 |
| Unique solutes | 125 |
| Unique solvents | 44 |
| Unique binary solvent pairs | 110 |
| Unique solute–binary-solvent systems | 377 |
| Temperature range (K) | 252.55–368.15 |
| Setting | Comparison type | Baseline group | Selection rationale | Protocol | Source |
| Single-molecule prediction | Supervised control | Supervised GNNs | Tests whether relational pretraining improves over direct supervised learning from molecular graphs. | One molecular graph as input; the full model is trained on the task-specific split. | Reported |
| Single-molecule prediction | Generic molecular SSL | 2D and geometry-aware pretrained models | Compares scientific relational supervision with established molecular pretraining paradigms. | Respective pretrained encoders with task-specific downstream training. | Reported |
| Single-molecule prediction | Direct-prior control | Traditional ML with fingerprints and VSA priors | Tests whether gains can be explained by directly supplying the informative prior features. | Concatenated raw prior features; no relational pretraining. | Reproduced |
| External pure-solvent transfer | Protocol-matched supervised | Fastprop, Chemprop, Vermeire | Compares PRISM with established supervised solute–solvent predictors under external transfer. | Trained on cleaned BigSolDB and tested directly on Leeds and SolProp. | Reported |
| External pure-solvent transfer | Large-scale pretrained | MolFormer, ChemBERTa | Tests whether generic large-scale pretraining alone explains transfer performance. | Pretrained molecular encoders are fine-tuned on BigSolDB and evaluated unchanged on Leeds and SolProp. | Reported |
| External pure-solvent transfer | Direct-prior control | XGBoost | Tests whether relational pretraining adds transfer value beyond direct access to the same priors. | Raw prior features for solute and solvent together with temperature; trained on BigSolDB and tested on Leeds and SolProp. | Reproduced |
| Level | Feature group | RDKit field | Dim. |
| Atom | Atomic number | GetAtomicNum() shifted by | |
| Atom | Total degree | GetTotalDegree() | |
| Atom | Formal charge | GetFormalCharge() | |
| Atom | Chiral tag | GetChiralTag() | |
| Atom | Total #H | GetTotalNumHs() | |
| Atom | Hybridization | GetHybridization() |
| Parameter | Value |
|---|---|
| Pretraining corpus | ZINC250k |
| Prior branches | SMR_VSA, SlogP_VSA, PEOE_VSA, Morgan FP |
| Backbone | D-MPNN |
| Encoder hidden dimension | 512 |
| Projection head | 2-layer MLP, 512–64, ReLU |
| Batch size | 512 |
| ESOL | FreeSolv | Lipo | BBBP | BACE | HIV | |
| Pretrain | 0.1 | 0.3 | 0.1 | 0.1 | 0.2 | 0.1 |
| Pretrain | 0.75 | 0.75 | 0.25 | 0.25 | 0.75 | 0.25 |
| Fusion mode | Adaptive | Adaptive | Adaptive | Static | Static | Static |
| Dropout | 0.3 | 0.3 | 0.3 | 0.1 | 0.1 | 0.1 |
| Batch size | 64 | 64 | 64 | 64 | 16 | 16 |
| Weight decay | 0 | 0 | 0 |
| Parameter | Value |
|---|---|
| Pretrain | 0.1 |
| Pretrain | 0.25 |
| Fusion mode | Static |
| Embedding dimension | 512 |
| Temperature embedding | 32 |
| Batch size | 64 |
| Parameter | Value |
|---|---|
| Embedding dimension | 512 |
| Temperature embedding | 32 |
| Fusion mode | Static weighted fusion |
| encoders | Original PRISM-pretrained branches, frozen |
| Fusion module | Initialized from pure-solvent checkpoint and trainable |
| Mixed head | Linear composition-weighted MLP |
| BBBP | BACE | ||
|---|---|---|---|
| 0.1 | 0.25 | 0.9459 | 0.8389 |
| 0.1 | 0.50 | 0.8997 | 0.8548 |
| 0.1 | 0.75 | 0.9006 | 0.8227 |
| 0.2 | 0.25 | 0.9017 | 0.8510 |
| 0.2 | 0.50 | 0.9071 | 0.8480 |
| 0.2 | 0.75 | 0.9085 | 0.8946 |
| ESOL | FreeSolv | Lipo | ||
|---|---|---|---|---|
| 0.1 | 0.25 | 0.874 | 1.835 | 0.538 |
| 0.1 | 0.50 | 0.878 | 1.831 | 0.673 |
| 0.1 | 0.75 | 0.772 | 1.812 | 0.678 |
| 0.2 | 0.25 | 0.863 | 1.820 | 0.681 |
| 0.2 | 0.50 | 0.925 | 2.067 | 0.656 |
| 0.2 | 0.75 | 0.848 | 1.828 | 0.679 |
| best val RMSE | Leeds RMSE | Leeds | SolProp RMSE | SolProp | ||
|---|---|---|---|---|---|---|
| 0.1 | 0.50 | 0.1414 | 0.9340 | 73.65 | 0.7940 | 80.71 |
| 0.1 | 0.25 | 0.1398 | 0.9099 | 75.66 | 0.7719 | 82.29 |
| 0.2 | 0.25 | 0.1393 | 0.9352 | 74.81 | 0.7853 | 81.72 |
| 0.2 | 0.75 | 0.1429 | 0.9179 | 74.65 | 0.7739 | 82.87 |
| 0.3 | 0.25 | 0.1438 | 0.9331 | 74.03 | 0.7563 | 82.73 |
| Stage | Hardware | Time per run | Notes |
|---|---|---|---|
| PRISM pretraining per branch | RTX 3090 | 7–8 hours | Batch size 512; 75% peak GPU memory |
| Pure-solvent fine-tuning | RTX 3090 | 6 hours | End-to-end |
| MoleculeNet fine-tuning | RTX 4070 | 1 hour | Per task, per seed |
| Mixed-solvent training | RTX 4070 mobile | 3 hours | Frozen encoders; trainable fusion and head |
| Objective | Lipo | FreeSolv | ESOL |
|---|---|---|---|
| Symmetric SNE | |||
| PRISM conditional KL |
| Objective | Lipo RMSE | FreeSolv RMSE | ESOL RMSE |
|---|---|---|---|
| TDL-style alignment | |||
| PRISM (conditional KL) |
| Classification (ROC-AUC %, ) | Regression (RMSE, ) | |||||
| Dataset | BBBP | BACE | HIV | ESOL | FreeSolv | Lipo |
| # Molecules | 2,039 | 1,513 | 41,127 | 1,128 | 642 | 4,200 |
| Traditional ML (fingerprints + VSA) | ||||||
| MLP | 85.1 1.6 | 85.2 0.8 | 70.0 1.7 | 1.461 0.060 | 4.942 0.084 | 0.878 0.016 |
| XGBoost | 84.7 0.0 | 88.5 0.0 | 74.7 0.8 | 0.925 0.000 | 3.398 0.000 | 0.741 0.000 |
| Supervised GNNs (without pretraining) | ||||||
| Dataset | Slice | Fastprop | PRISM | (PRISM–Fastprop) | ||||
| RMSE | pct-in-1 (%) | RMSE | pct-in-1 (%) | RMSE | pct-in-1 (pp) | |||
| Leeds | ||||||||
| All solutes are unseen; all solvents are seen; all temperatures are in-range. | ||||||||
| Leeds | Overall | 1,294 | 0.954 | 73.57 | 0.909 | 75.43 | ||
| SolProp | ||||||||
| SolProp | Overall | 5,230 | 0.833 | 78.07 | 0.773 | 82.28 | ||
| Model | Overall log-RMSE | Overall | Ternary log-RMSE |
|---|---|---|---|
| UNIFAC–PLS | 0.3061 | 0.9042 | 0.0921 |
| PRISM–Ridge | 0.2738 | 0.9217 | 0.1954 |
| UNIFAC + PRISM | 0.2502 | 0.9409 | 0.0904 |
| Protocol | Leeds RMSE | SolProp RMSE | Leeds pct-in-1 (%) | SolProp pct-in-1 (%) |
|---|---|---|---|---|
| ZINC-only pretraining (100 epochs) | ||||
| Target-only adaptation | ||||
| Target anchors, joint neighbors (100 epochs) | ||||
| Target anchors, joint neighbors (300 epochs) | ||||
| Joint anchors and neighbors (100 epochs) |
| Classification (ROC-AUC %, ) | Regression (RMSE, ) | |||||
|---|---|---|---|---|---|---|
| Init | BBBP | BACE | HIV | ESOL | FreeSolv | Lipo |
| PRISM random | ||||||
| PRISM | ||||||
| (PRISM random) | ||||||
| Dataset | Distilled encoder | Normal encoder | ||
|---|---|---|---|---|
| RMSE | RMSE | |||
| Leeds | ||||
| SolProp | ||||
| Encoder setting | Split | RMSE | |
|---|---|---|---|
| Frozen distilled encoder | Random | ||
| Frozen normal encoder | Random | ||
| Fine-tuned distilled encoder | Random | ||
| Frozen distilled encoder | Pair-disjoint | ||
| Frozen normal encoder | Pair-disjoint | ||
| Fine-tuned distilled encoder | Pair-disjoint |
| Dataset | Metric | Distilled encoder | Normal encoder |
|---|---|---|---|
| ESOL | RMSE | ||
| FreeSolv | RMSE | ||
| Lipo | RMSE | ||
| BACE | ROC-AUC | ||
| BBBP | ROC-AUC |
| Model | BBBP | BACE | ESOL | FreeSolv | Lipo |
|---|---|---|---|---|---|
| Single shared encoder | |||||
| PRISM |
| Spaces used | BBBP | BACE | HIV |
|---|---|---|---|
| all | |||
| w/o FP | |||
| w/o PEOE | |||
| w/o SlogP | |||
| w/o SMR |
| Spaces used | ESOL | FreeSolv | Lipo |
|---|---|---|---|
| all | |||
| w/o FP | |||
| w/o PEOE | |||
| w/o SlogP | |||
| w/o SMR | |||
| SMR only |
| RMSE ( ) | (%, ) | |||||
|---|---|---|---|---|---|---|
| Spaces used | Leeds | SolProp | Mixed OOD | Leeds | SolProp | Mixed OOD |
| all | ||||||
| w/o SMR | ||||||
| w/o SlogP | ||||||
| w/o PEOE | ||||||
| w/o FP | ||||||
| Setting | Task-specific weights | Instance-wise weights |
|---|---|---|
| BBBP (AUC) | ||
| BACE (AUC) | ||
| HIV (AUC) | ||
| ESOL (RMSE) | ||
| FreeSolv (RMSE) | ||
| Lipo (RMSE) |
| Head design | RMSE | |
|---|---|---|
| Direct concat head | ||
| Attention interaction head | ||
| Linear weighted-sum head |
| Solvent aggregation | Prior aggregation | Warm start | RMSE | pct-in-1 (%) |
|---|---|---|---|---|
| Weighted sum | Fusion head | Yes | ||
| Weighted sum | Fusion head | No | ||
| Weighted sum | Branch concatenation | No | ||
| Concatenation | Fusion head | Yes | ||
| Concatenation | Fusion head | No | ||
| Concatenation | Branch concatenation | No |
| Dataset | Energy (Gaussian) | PRISM + Gaussian prior | D-MPNN w/o pretraining |
|---|---|---|---|
| BBBP | 0.356 | ||
| BACE | 0.498 | ||
| HIV | 0.067 | ||
| CYP2D6 | 0.025 | ||
| KOR | 0.406 |
| Dataset | Selected priors | PRISM with selected priors | PRISM with all priors | D-MPNN w/o pretraining | |||
|---|---|---|---|---|---|---|---|
| BBBP | 0.166 | 0.096 | 0.109 | Pharm2D + FP + VSA | |||
| BACE | 0.264 | 0.109 | 0.118 | Pharm2D + FP + VSA | |||
| HIV | 0.73 | 2.87 | 2.63 | Pharm2D | |||
| CYP2D6 | 0.96 | 1.05 | 1.06 | Pharm2D | |||
| KOR | 0.48 | 0.47 | 0.56 | Pharm2D + FP + VSA |
| Model | BBBP | BACE | ESOL | FreeSolv | Lipo |
|---|---|---|---|---|---|
| Random SchNet | |||||
| PRISM + SchNet (FP prior) | |||||
| PRISM + SchNet (3D descriptor prior) |
| Pretrain size | ESOL | FreeSolv | Lipo |
|---|---|---|---|
| 25k | |||
| 50k | |||
| 250k |
| Fusion setting | Faithfulness test | Result |
|---|---|---|
| Task-specific weights | Weight–LOSO importance rank agreement | Spearman |
| Instance-wise, ESOL | Top-vs-bottom suppression probability | 0.64 |
| Instance-wise, FreeSolv | Top-vs-bottom suppression probability | 0.76 |
| Instance-wise, Lipo | Top-vs-bottom suppression probability | 0.64 |
| Prior space | Probe error |
|---|---|
| SMR_VSA (MSE) | 0.476 |
| SlogP_VSA (MSE) | 0.767 |
| PEOE_VSA (MSE) | 1.450 |
| FP ( ) | 0.377 |
| Asset | Role | License / access terms |
|---|---|---|
| RDKit | Molecular parsing, descriptors, fingerprints, and featurization | BSD-style open-source license |
| PyTorch | Neural-network implementation and training | BSD-style open-source license |
| MoleculeNet / DeepChem | Single-molecule property benchmarks and scaffold-split evaluation | Open-source benchmark resources; DeepChem/MoleculeNet code is released under the MIT license |
| BigSolDB | Training source for pure-solvent solubility transfer | Creative Commons Attribution 4.0 International (CC BY 4.0) |
| SolProp | External pure-solvent solubility test set | Creative Commons Attribution 4.0 International (CC BY 4.0) |
| Leeds | External pure-solvent solubility test set | Open Zenodo record; license marked as “Other (Open)” |
Molecular Property Prediction
Molecular property prediction estimates chemical, physical, and biological properties from molecular structure and context.
See all 202 papers