license: mit
tags:
- PROTAC
- drug-discovery
- cheminformatics
- regression
- graph-neural-network
- chemprop
library_name: chemprop
pipeline_tag: graph-ml
PROTAC Synthesizability — CheMeleon GNN
A graph neural network that predicts the heavy-atom-count weighted synthesizability
score (hac_weighted_score) of PROTAC molecules from SMILES. Built on the
CheMeleon foundation model (a pretrained
D-MPNN) fine-tuned via ChemProp — graph-only, no engineered features.
Nested 5×5 scaffold cross-validation, Optuna tuning. Mean CV R² = 0.643.
Files
gnn_v3_final.ckpt— fine-tuned model checkpoint (weights + target scaler)gnn_v3_hparams.yaml— hyperparameters
Usage
Requires the project code: https://github.com/ribesstefano/PROTAC-Synthesizability
Install the package (editable) so protac_synth is importable, then:
from protac_synth.models.gnn.model import CheMeleonRegressor
model = CheMeleonRegressor.load("gnn_v3_final") # base path, no extension
smiles = ["O=C(O)c1ccccc1"]
preds = model.predict(smiles) # graph-only: SMILES in, prediction out
The GNN is graph-only: it builds the molecular graph internally, so no
fingerprints or descriptors are passed to predict.
Dependencies
The model loads from a torch/ChemProp checkpoint (no .skops/scikit-learn), so
loading is sensitive to the ChemProp / Lightning / torch versions rather than
scikit-learn. Pin the versions the model was fine-tuned with:
chemprop>=2.2.0(pin the exact training version for reproducible checkpoint loading)lightning,torch— pin to the training environment (checkpoint format is torch/Lightning-version dependent)rdkit,numpy— pin to the training environment
License
MIT