# AI use cases for RFdiffusion (RosettaCommons/RFdiffusion)

Repo: [RosettaCommons/RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) | Use cases: 3 | Page: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/

RFdiffusion is an open source diffusion model for protein structure generation. It does unconditional monomer generation, motif scaffolding, binder design against a target chain with hotspot residues, partial diffusion around an existing design, fold conditioning, and symmetric oligomer generation. Everything runs through scripts/run_inference.py with hydra config overrides.

This file holds every use case of this repo. Each one starts with a "## " heading and ends with its URL.

- Generate new protein backbones from scratch: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/generate-de-novo-protein-backbones-with-rfdiffusion/
- Design a binder against a target protein: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/design-a-binder-to-a-target-with-rfdiffusion/
- Scaffold a functional motif into a new protein: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/scaffold-a-functional-motif-with-rfdiffusion/

## How to generate new protein backbones from scratch with RFdiffusion

Repo: [RosettaCommons/RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) | Difficulty: Advanced | Time: 3 hours | Basis: From the README

Run unconditional diffusion to design monomers of a chosen length.

**Who it is for:** A protein designer who wants fresh backbones to screen.

**The problem:** De novo backbone generation used to need bespoke code and expertise.

**The outcome:** A set of designed backbone PDB files in your output folder.

### Steps

1. Clone the repo with `git clone https://github.com/RosettaCommons/RFdiffusion.git` and download the weights into models as the README lists
2. Create the environment with `conda env create -f env/SE3nv.yml` and `conda activate SE3nv`, then install SE3Transformer and `pip install -e .` from the repo root
3. Run `./scripts/run_inference.py 'contigmap.contigs=[150-150]' inference.output_prefix=test_outputs/test inference.num_designs=10`
4. Look at the .pdb outputs and the .trb metadata file for each design

### Prompt to paste into your agent

```text
Using RosettaCommons/RFdiffusion, set up the SE3nv environment and run `./scripts/run_inference.py 'contigmap.contigs=[150-150]' inference.output_prefix=test_outputs/test inference.num_designs=10`, then summarize what each output file contains.
```

### Caveat

Every designed residue comes out as glycine because only the backbone is designed, with no sidechains.

Risk, platform: The README ships only a CUDA 11.1 environment file and says each user must adapt it to their GPU and drivers.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/generate-de-novo-protein-backbones-with-rfdiffusion/

## How to design a binder against a target protein with RFdiffusion

Repo: [RosettaCommons/RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) | Difficulty: Advanced | Time: 4 hours | Basis: From the README

Diffuse a binder against a target chain, using hotspot residues to aim it at the right surface.

**Who it is for:** A team looking for de novo binders to a receptor or antigen.

**The problem:** Binder campaigns are slow and the model will otherwise bind the wrong patch.

**The outcome:** A set of candidate binder backbones aimed at the interface you chose.

### Steps

1. Set up the repo and the SE3nv environment as in the installation section
2. Run `./scripts/run_inference.py 'contigmap.contigs=[B1-100/0 100-100]' inference.output_prefix=test_outputs/binder_test inference.num_designs=10` with your target as chain B
3. Aim the binder at the interface with hotspot residues, specified as `'ppi.hotspot_res=[A30,A33,A34]'`
4. For more diverse topologies try the beta model with `inference.ckpt_override_path=models/Complex_beta_ckpt.pt`, and see ./examples/design_ppi.sh

### Prompt to paste into your agent

```text
With RosettaCommons/RFdiffusion, design 10 binders to residues 1-100 of chain B in <my target pdb> with hotspot residues <my hotspots>, and explain how to pick the hotspots from the structure.
```

### Caveat

The beta model generates more topologies but the README says it has not been extensively experimentally validated.

Risk, platform: Diffusion is computationally intensive, so a large uncropped target makes runs very slow.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/design-a-binder-to-a-target-with-rfdiffusion/

## How to scaffold a functional motif into a new protein with RFdiffusion

Repo: [RosettaCommons/RFdiffusion](https://github.com/RosettaCommons/RFdiffusion) | Difficulty: Advanced | Time: 4 hours | Basis: From the README

Hold a motif from an input PDB fixed and let diffusion build the protein around it.

**Who it is for:** An enzyme or epitope designer who needs a motif presented in a new scaffold.

**The problem:** Grafting a motif into a stable fold by hand is slow and often fails.

**The outcome:** Designs that keep your motif geometry inside a newly built protein.

### Steps

1. Set up the repo, weights and SE3nv environment as in the installation section
2. Point the run at your structure with `inference.input_pdb=path/to/file.pdb`
3. Describe the build with a contig such as `'contigmap.contigs=[5-15/A10-25/30-40]'`, where A10-25 is the motif and the numbers are residues to build
4. For very small motifs add `inference.ckpt_override_path=models/ActiveSite_ckpt.pt`, and see ./examples/design_motifscaffolding.sh

### Prompt to paste into your agent

```text
Using RosettaCommons/RFdiffusion, scaffold residues <my motif range> of <my pdb> with contigs like 'contigmap.contigs=[5-15/A10-25/30-40]' and tell me how to check the motif stayed in place.
```

### Caveat

A chain break is written as /0 with the space included, which is easy to get wrong in a shell command.

Disclaimer: Third-party repos we don't own or vouch for. AI-generated use cases can be wrong: review everything and run at your own risk. Full text: https://dedupedai.com/disclaimer/

URL: https://dedupedai.com/use-cases/rosettacommons-rfdiffusion/scaffold-a-functional-motif-with-rfdiffusion/
