PROTAC-Splitter ChemProp

ChemProp bond classifier used by PROTAC-Splitter to split PROTAC molecules (heterobifunctional degraders) into their E3 ligand, linker, and POI warhead substructures.

Given the intact PROTAC, a directed message-passing neural network (initialised from the CheMeleon encoder) classifies every bond as 0 = other, 1 = the POI-side ([*:1]) attachment bond, or 2 = the E3-side ([*:2]) attachment bond. A constrained decoder then picks exactly one bond of each class such that cutting them yields three connected parts.

Usage

from protac_splitter import split_protac

result = split_protac("<PROTAC SMILES>", model="chemprop")

split_protac() auto-downloads and caches the model (requires pip install 'protac-splitter[chemprop]'). It can also be loaded directly:

from protac_splitter.chemprop import ChemPropSplitter

model = ChemPropSplitter.from_pretrained("ailab-bio/PROTAC-Splitter-ChemProp")
model.split(["<PROTAC SMILES>"])  # -> ["e3.linker.poi"]

Files

  • config.json โ€” architecture: message-passing and bond-head hyperparameters, training class weights.
  • model.pt โ€” PyTorch tensor state_dict (load with torch.load(..., weights_only=True)).
  • manifest.json โ€” model metadata: training run parameters, test metrics, and library versions.

Data

Trained on the curated PROTAC-Splitter dataset: https://doi.org/10.5281/zenodo.15797309

Downloads last month
48
Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support