| name | rfdiffusion |
| description | Generate protein backbones using RFdiffusion, a diffusion-based generative model for de novo protein structure generation. Use this skill when: (1) Designing binder scaffolds for a target protein, (2) Generating novel protein backbones from scratch, (3) Scaffolding functional motifs into new proteins, (4) Specifying hotspot residues for interface design, (5) Creating symmetric oligomers.
For sequence design after backbone generation, use proteinmpnn. For structure validation, use alphafold or chai. For QC thresholds, use protein-qc.
|
| license | MIT |
| category | design-tools |
| tags | ["structure-design","diffusion","backbone","binder"] |
| proteinbase_slug | rfdiffusion |
| proteinbase_url | https://proteinbase.com/design-methods/rfdiffusion |
| biomodals_script | modal_rfdiffusion.py |
RFdiffusion Backbone Generation
Prerequisites
| Requirement | Minimum | Recommended |
|---|
| Python | 3.9+ | 3.10 |
| CUDA | 11.7+ | 12.0+ |
| GPU VRAM | 16GB | 24GB (A10G) |
| RAM | 16GB | 32GB |
How to run
First time? See Installation Guide to set up Modal and biomodals.
Option 1: Modal (recommended)
git clone https://github.com/hgbrian/biomodals && cd biomodals
modal run modal_rfdiffusion.py \
--pdb target.pdb \
--contigs "A1-150/0 70-100" \
--hotspot "A45,A67,A89" \
--num-designs 100
GPU=A100 TIMEOUT=60 modal run modal_rfdiffusion.py \
--pdb target.pdb \
--contigs "A1-150/0 70-100" \
--num-designs 100
GPU: A10G (24GB) | Timeout: 30min default
Option 2: Local installation
git clone https://github.com/RosettaCommons/RFdiffusion.git
cd RFdiffusion && pip install -e .
wget http://files.ipd.uw.edu/pub/RFdiffusion/models/Complex_base_ckpt.pt
python run_inference.py \
inference.input_pdb=target.pdb \
contigmap.contigs=[A1-150/0 70-100] \
ppi.hotspot_res=[A45,A67,A89] \
inference.num_designs=100
Config Schema (Hydra)
Contigmap Syntax
contigmap.contigs=[50-100]
contigmap.contigs=[A1-150/0 70-100]
contigmap.contigs=[20-40/0 A10-30/0 20-40]
contigmap.contigs=[A1-100/0 B1-100/0 60-80]
contigmap.contigs=[A1-150/0 50-100]