Skip to content

the-ahuja-lab/SynGlue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SynGlue: A Generative AI Toolkit for PROTACs Decoding and Designing

SynGlue is a powerful Python-based platform for the generation, analysis, and optimization of PROTACs (Proteolysis Targeting Chimeras), and multitarget molecules. Built for researchers in cheminformatics, structural biology, and drug discovery. SynGlue uses data-driven AI to accelerate the design of small molecules, predict degradation potency (DC₅₀, Dmax), and guide rational linker selection. SynGlue offers an end-to-end suite of tools for generating PROTACs and their prioritising.


SynGlue architecture for PROTACs and molecular glue design via data-driven and structure-guided methods


🚀 Features

  • Generative AI Models for PROTAC and multitarget molecule design
  • TRIE-based fragment storage algorithm for fast retrieval
  • Polypharmacology classification
  • REST API integration via SynGlue client
  • RDKit-powered cheminformatics utilities

Installation

📦 Install API Client

pip install synglue requests

🧩 Clone Repository (Optional)

git clone https://github.com/the-ahuja-lab/SynGlue.git
cd SynGlue

🔌 SynGlue API Usage

from synglue import SynGlue

client = SynGlue()

# Health check
print(client.health_check())

🚀 Design Workflow

# Submit design job
design_result = client.submit_design(target="EGFR", threshold=80)
print(design_result)

# Check status
job_id = design_result["job_id"]
print(client.design_status(job_id))

# client.download_design(job_id, "design_results.zip")

🔍 Target Mapping Workflow (List)

molecules = [
    {"name": "Aspirin", "smiles": "CC(=O)Oc1ccccc1C(=O)O"},
    {"name": "Imatinib", "smiles": "CC1=CC=CC=C1"}
]

screen_result = client.submit_screen(molecules=molecules)
print(screen_result)

job_id = screen_result["job_id"]
print(client.screen_status(job_id))

# client.download_screen(job_id, "screen_results.zip")

📂 Target Mapping Workflow (CSV)

csv_path = "query.csv"

screen_result = client.submit_screen_csv(csv_path)
print(screen_result)

job_id = screen_result["job_id"]
print(client.screen_status(job_id))

📡 API Endpoints (Client Methods)

🔹 Core

  • health_check()

🔹 Design

  • submit_design(target, threshold=75.0)
  • design_status(job_id)
  • download_design(job_id, out_path)

🔹 Screening

  • submit_screen(molecules)
  • submit_screen_csv(csv_path)
  • screen_status(job_id)
  • download_screen(job_id, out_path)

SynGlue Workflow

SynGlue offers a two-part approach:

  • Data-Driven

    • Map input molecules, annotate types and targets, and generate optimized molecules.
  • Structure-Guided

    • Use structural inputs (PDB, AlphaFold, Rosetta)
    • Perform warhead mapping and molecule generation

📊 Type Analysis


Type Analysis


Classification Type
Monovalent, Monotarget Type 1
Monovalent, Multitarget Type 2
Multivalent, Monotarget Type 3
Multivalent, Multitarget Type 4

Tutorials

Tutorial Description Colab Link
PROTAC Generation Generate PROTAC molecules Open in Colab
Target Mapping Screen and map targets Open in Colab

Summary

SynGlue enables:

  • PROTAC design and prioritization
  • Target mapping and screening
  • Integration into automated drug discovery pipelines

Dependencies

  • Python ≥ 3.7
  • requests
pip install requests

License

SynGlue is licensed under the MIT License. See LICENSE for more details.