Skip to content

KidderLab/DesignForge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DesignForge

DesignForge provides reproducible analysis and figure-generation pipelines for de novo protein binder design projects built on the BindCraft framework (GPL-3.0).

It includes tools for generating contact maps, residue-level energy histograms, sequence-diversity metrics, RMSD-to-native comparisons, and electrostatic surfaces for protein-protein interactions.


🧭 Overview

This repository does not modify or redistribute BindCraft source code.
Instead, DesignForge provides downstream analysis and visualization pipelines for data generated using BindCraft (Pacesa et al., 2024), as well as other diffusion-based protein design frameworks such as RFdiffusion and RFDesign.
It enables hotspot-guided evaluation, structural benchmarking, and figure generation across diverse design systems including MYC/MAX, PD-1/PD-L1, and KRAS/RAF.


📂 Repository Structure

DesignForge/
├── README.md
├── environment.yml
├── LICENSE
│
├── MOE/
│   ├── make_contact_maps_v4.py
│   ├── residue_contact_histograms_v3.py
│   ├── MYC_MAX_1NKP_MOE_contacts.csv
│   ├── PD1_PDL1_5ius_MOE_contacts.csv
│   ├── KRAS_RAF_6XHB_MOE_contacts.csv
│   ├── 1NKP.pdb
│   ├── 5IUS.pdb
│   ├── 4L8G.pdb
│   └── 6XHB.pdb
│
├── OpenMM/
│   ├── protein_contacts_openmm_v9.py
│   └── benchmark_moe_vs_designforge_v2.py
│
├── BindCraft/
│   ├── run_all_pro_v6.py
│   ├── bindcraft_extras_v2.py
│   ├── rmsd_to_native_interface.py
│   ├── bindcraft_figsuite.py
│   ├── make_mosaics_by_token.py
│   ├── render_electrostatics_headless_v5.py
│   │
│   └── Accepted/
│       └── Ranked/
│
└── notebooks/
    ├── BindCraft_MYC_MAX_DNA_1nkp.ipynb
    ├── BindCraft_KRAS_G12C_GDPbound_4l8g.ipynb
    └── BindCraft_PD1_PDL1_5ius.ipynb

⚙️ Installation

git clone https://github.com/KidderLab/DesignForge.git
cd DesignForge
conda env create -f environment.yml
conda activate DesignForge
playwright install chromium

environment.yml (summary)
Python 3.10, numpy, pandas, matplotlib, umap-learn, scikit-learn, pillow, opencv, logomaker, playwright.


📘 Usage Guide

Each folder is independent:

  • MOE/ → contact and energy-based analyses from MOE exports
  • BindCraft/ → RFdiffusion/BindCraft downstream metrics, diversity, and visualization
  • notebooks/ → interactive workflows for figure reproduction

🔹 1. Generate MOE Contact Maps and Histograms

python make_contact_maps_v4.py --pattern "*.pdb"

python residue_contact_histograms_v3.py --csv "MYC_MAX_1NKP_MOE_contacts.csv" --entity-a-side A --strong-energy -1.0 --strong-dist 3.5
python residue_contact_histograms_v3.py --csv "PD1_PDL1_5ius_MOE_contacts.csv" --entity-a-side A --strong-energy -1.0 --strong-dist 3.5
python residue_contact_histograms_v3.py --csv "KRAS_RAF_6XHB_MOE_contacts.csv"  --entity-a-side A --strong-energy -1.0 --strong-dist 3.5

Outputs are saved in MOE/plots/contact_maps/ and MOE/plots/contact_histograms/.


🔹 2. Open-Source Hotspot Mapping (OpenMM)

Computes explicit inter-chain Lennard–Jones and electrostatic interactions and aggregates them to residue-level hotspot strengths.

python OpenMM/protein_contacts_openmm_v9.py   --pdb 1NKP   --receptor A   --ligand B   --cutoff 4.5   --score-mode screened   --distance-dependent-dielectric   --outdir OpenMM_1NKP_out

Key outputs:

  • protein_contacts.csv
  • protein_contacts_hotspot_counts.csv
  • protein_contacts_hotspot_energy_weighted.csv
  • best_atom_contacts.csv
  • prepared_openmm.pdb

🔹 3. Benchmark MOE vs OpenMM Hotspot Mapping

python OpenMM/benchmark_moe_vs_designforge_v2.py   --moe-csv MOE/MYC_MAX_1NKP_MOE_contacts.csv   --df-csv OpenMM_1NKP_out/protein_contacts.csv   --receptor-chains A   --ligand-chains B   --outdir benchmark_1NKP

Outputs:

  • benchmark_summary.csv
  • moe_vs_designforge_hotspots_joined.csv
  • overlap_vs_topN.csv
  • plot_rank_scatter_shared.png
  • plot_strength_scatter_shared.png
  • plot_overlap_vs_topN.png
  • plot_top_hotspots_bars.png

🔹 4. BindCraft Analysis and Figure Generation

python run_all_pro_v6.py
python bindcraft_extras_v2.py seqdiv --csv "plots/metrics/design_metrics.csv" --no-dual

🔹 5. RMSD-to-Native Interface Comparisons (Batch Mode)

Each design system uses reference native PDBs located in MOE/:

System Native Structure Purpose
MYC/MAX 1NKP.pdb Reference interface for design validation
PD-L1 5IUS.pdb PD-1/PD-L1 immune checkpoint interface
KRAS 4L8G.pdb, 6XHB.pdb GDP-bound monomer (design) and RAF complex (hotspot)

Example Commands (batch --design-glob for all systems)

# MYC / MAX — analyze all accepted models
python rmsd_to_native_interface.py --design-glob "Accepted/Ranked/1_MYC*.pdb" --native-pdb ../../MOE/1NKP.pdb --interface-csv ../../MOE/MYC_MAX_1NKP_MOE_contacts.csv --design-chain A --native-chain A --native-side A

# PD-L1 — analyze all accepted models
python rmsd_to_native_interface.py --design-glob "Accepted/Ranked/1_PDL1*.pdb" --native-pdb ../../MOE/5IUS.pdb --interface-csv ../../MOE/PD1_PDL1_5ius_MOE_contacts.csv --design-chain A --native-chain A --native-side A

# KRAS — analyze all accepted models
python rmsd_to_native_interface.py --design-glob "Accepted/Ranked/1_KRAS*.pdb" --native-pdb ../../MOE/4L8G.pdb --interface-csv ../../MOE/KRAS_RAF_6XHB_MOE_contacts.csv --design-chain A --native-chain A --native-side A --native-partner-chain AUTO --iface-cutoff 8.0

Using --design-glob automatically finds all PDBs matching a pattern (e.g., all top-ranked or variant models), enabling consistent RMSD and interface analysis without specifying files individually.


🔹 6. Electrostatic Surface Rendering

python render_electrostatics_headless_v5.py --pymol-exe "D:\myprog\Schrodinger\PyMOL2\Scripts\pymol.exe"

Output → plots/electrostatics/<design>_coulomb.png


🔹 7. Supplementary Figures

python make_mosaics_by_token.py
python bindcraft_figsuite.py --contacts-glob "*MOE*contacts.csv"

🧾 License

DesignForge © 2025 Benjamin Kidder
Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) License.
Commercial use is not permitted.

This repository references outputs produced by BindCraft (GPL-3.0).
All BindCraft source code remains under its original license.

Full text: CC BY-NC-SA 4.0


🧠 Citation

https://www.biorxiv.org/content/10.1101/2025.10.22.683953v1

@article{Prakash2025DesignForge,
  title   = {De novo protein design enables targeting of intractable oncogenic interfaces},
  author  = {Prakash, Varshika Ram and Najy, Yusuf and Garrett, Kalel and Edwards, Brian F.P. and Kidder, Benjamin L.},
  journal = {bioRxiv},
  year    = {2025},
  doi     = {10.1101/2025.10.22.683953},
  url     = {https://doi.org/10.1101/2025.10.22.683953}
}

and cite BindCraft (Pacesa et al., 2024, Nature Communications) as the design engine.


🧩 Contact

Benjamin Kidder, PhD
Associate Professor, Department of Oncology
Karmanos Cancer Institute / Wayne State University

Lab Website: https://benjaminkidderlab.com/
Faculty Profile: https://cancerbiologyprogram.med.wayne.edu/profile/ff2646

Releases

No releases published

Packages

 
 
 

Contributors