Designing molecules that control protein fate. SynGlue is a computational platform for decoding and designing PROTACs generative AI, interaction modelling, and degradation prediction in one end-to-end toolkit.
Why do apparently similar PROTACs produce very different degradation outcomes — and how can we design the molecule that creates the right interaction?
SynGlue approaches PROTAC design as a coupled molecular-design problem:
Target ligand + E3-ligase ligand + linker + ternary-complex geometry + degradation behaviour
rather than treating the warhead as the sole determinant of degrader activity. The platform supports molecular generation, linker reasoning, degradation modelling (DC₅₀, Dmax) and structure-informed prioritisation for PROTACs and multitarget molecules.
Two complementary workflows:
- Data-driven — map input molecules, annotate types and targets, generate optimised molecules
- Structure-guided — use structural inputs (PDB, AlphaFold, Rosetta) for warhead mapping and molecule generation
- Generative AI models for de novo PROTAC and multitarget molecular design
- Integrated warhead–E3 ligand-linker design and optimization
- TRIE-based fragment storage and rapid molecular retrieval
- Polypharmacology-aware — Type 1-4 molecular classification
- Machine-learning prediction of degradation activity, DC50 and Dmax
- Integrated ADMET, drug-likeness and multi-objective candidate ranking
- End-to-end deployable platform with RDKit utilities, REST API and Python client
Predictions of degradation potency (DC50, Dmax) and design-prioritisation benchmarks accompany the forthcoming manuscript; the platform ships with interactive Colab tutorials for reproducing the design and screening workflows.
pip install synglue requestsOptional: clone the repository for the full source.
from synglue import SynGlue
client = SynGlue()
print(client.health_check())
# Submit a design job
design_result = client.submit_design(target="EGFR", threshold=80)
job_id = design_result["job_id"]
print(client.design_status(job_id))Screen molecules (list):
molecules = [
{"name": "Aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
{"name": "Imatinib", "smiles": "CC1=CC=CC=C1"},
]
screen_result = client.submit_screen(molecules=molecules)
job_id = screen_result["job_id"]
print(client.screen_status(job_id))Screen molecules (CSV):
screen_result = client.submit_screen_csv("query.csv")
job_id = screen_result["job_id"]
print(client.screen_status(job_id))If you use SynGlue in your research, please cite:
Solanki S, Mohanty SK, Satija S, Chauhan S, Bandaru NVMR, Dukare S, Tiwari NK, Kumar RN, Aravind AB, Mukherjee S, Chikkanna D, Balasubramanian WR, Sammeta SR, Gautam V, Arora S, Kumar S, Duari S, Sharma A, Shome R, Sengupta D, Abbineni C, Samajdar S, Ahuja G. Generative AI Framework SynGlue for the Rational Design of Clinically Relevant Protein Degraders. bioRxiv (2025), 2025.08.28.672835. https://doi.org/10.1101/2025.08.28.672835
MIT — see LICENSE.txt.
