Files
foundry/models/rfd3/README.md
Rachel Clune 76e61e0c2d docs: update RFD3 README (#714)
* Added more explanation and fixed small issues in demo commands in RFD3 README

* fix github actions grepping ruff

---------

Co-authored-by: Rohith Krishna <rohith@localhost>
2025-12-02 16:42:04 -08:00

4.7 KiB

De novo Design of Biomolecular Interactions with RFdiffusion3

All-atom diffusion with RFD3

Installation, Setup, and a Basic Design

A. Installation using uv

git clone https://github.com/RosettaCommons/foundry.git \
  && cd foundry \
  && uv python install 3.12 \
  && uv venv --python 3.12 \
  && source .venv/bin/activate \
  && uv pip install -e ".[rfd3]"

Note

optionally make installed venv available as ipynb kernel (helpful for running examples in examples/all.ipynb) python -m ipykernel install --user --name=foundry --display-name "foundry"

B. Download model weights for RFD3

wget http://files.ipd.uw.edu/pub/rfd3/rfd3_foundry_2025_12_01.ckpt

You can store these weights anywhere you would like, but if you do not store them in the root directory you will need to change the cur_ckpt variable discussed later on.

Setup

export PROJECT_PATH="$(pwd)/models/rfd3/src:$(pwd)/src:$(pwd)/lib/atomworks/src"

If your virtual environment is not already active you will also need to run:

source .venv/bin/activate

Files for RFD3 exist under this folder (models/rfd3), and wrap around the components of RF3 under src/foundry/.

chmod +x src/foundry/*.py

Inference:

cur_ckpt=rfd3_foundry_2025_12_01.ckpt

To run inference

python ./models/rfd3/src/rfd3/run_inference.py out_dir=logs/inference_outs/demo/0 ckpt_path=$cur_ckpt inputs=./models/rfd3/docs/demo.json verbose=True dump_trajectories=True

Note

This demo will take a very long amount of time if run on a CPU instead of a GPU. On a GPU, this should take on the order of 10 minutes.

Additional args here are added for verbosity, aligning trajectory structures, printing the config and dumping trajectories are turned off by default.

The output directory will automatically be created.

For full details on how to specify inputs, see the input specification documentation. You can also see models/rfd3/configs/inference_engine/rfdiffusion3.yaml.

Further example jsons for different applications

Nucleic acid binder design

Small molecule binder design

Protein binder design

Enzyme design

Symmetric design

Training (w & w/o WandB): #TODO make sure correct

Add export PROJECT_PATH=$(pwd)/models/rfd3 to scripts/slurm/launch.sh, where $(pwd) is the repositories' absolute path You will also want to add your atomworks and foundry ($(pwd)) paths to launch.sh.

To launch a training run, use:

sbatch -J rfd3-full-sparse launch.sh

Optionally ensure your WANDB_API_KEY is an environment variable. You can disable wandb by including the following at the top of your experiment config:

defaults:
  - override /logger: csv  # turns off wandb logger

Citation

If you use this code or data in your work, please cite:

@article {butcher2025_rfdiffusion3,
	author = {Butcher, Jasper and Krishna, Rohith and Mitra, Raktim and Brent, Rafael Isaac and Li, Yanjing and Corley, Nathaniel and Kim, Paul T and Funk, Jonathan and Mathis, Simon Valentin and Salike, Saman and Muraishi, Aiko and Eisenach, Helen and Thompson, Tuscan Rock and Chen, Jie and Politanska, Yuliya and Sehgal, Enisha and Coventry, Brian and Zhang, Odin and Qiang, Bo and Didi, Kieran and Kazman, Maxwell and DiMaio, Frank and Baker, David},
	title = {De novo Design of All-atom Biomolecular Interactions with RFdiffusion3},
	elocation-id = {2025.09.18.676967},
	year = {2025},
	doi = {10.1101/2025.09.18.676967},
	publisher = {Cold Spring Harbor Laboratory},
	URL = {https://www.biorxiv.org/content/early/2025/11/19/2025.09.18.676967},
	eprint = {https://www.biorxiv.org/content/early/2025/11/19/2025.09.18.676967.full.pdf},
	journal = {bioRxiv}
}