RFdiffusion
Denoising-diffusion generation for de novo protein backbones, motif scaffolding, inpainting, interfaces, and binder design.
Disclaimer
This is an unofficial OFoldX implementation of De novo design of protein structure and function with RFdiffusion by Joseph L. Watson, David Juergens, Nathaniel R. Bennett, Brian L. Trippe, Jason Yim, Helen E. Eisenach, and Woody Ahern. The upstream authors did not write, review, or endorse this implementation or model card. The official repository is RosettaCommons/RFdiffusion.
Model Details
RFdiffusion generates protein backbones by reversing diffusion over residue frames. A RoseTTAFold-style denoiser combines sequence, MSA, pair, template, and timestep features with SE(3)-equivariant structure updates. Its sampler couples Gaussian C-alpha translation diffusion with IGSO(3) rotation diffusion. The same architecture supports de novo generation, motif scaffolding, sequence inpainting, symmetric oligomers, interfaces, and target-conditioned binder design through model-specific conditioning. The family generates protein backbones, not all-atom sequence-complete designs; pair it with a sequence design family such as ProteinMPNN to obtain a complete sequence.
Variants
| Released checkpoint | OFoldX repository | Scientific use |
|---|---|---|
Base_ckpt.pt |
oteam/rfdiffusion-base |
De novo generation and motif scaffolding |
Base_epoch8_ckpt.pt |
oteam/rfdiffusion-base-epoch8 |
Earlier released base checkpoint |
Complex_base_ckpt.pt |
oteam/rfdiffusion-complex-base |
Complex and binder design |
Complex_beta_ckpt.pt |
oteam/rfdiffusion-complex-beta |
Topology-diverse, beta-rich binder design |
Complex_Fold_base_ckpt.pt |
oteam/rfdiffusion-complex-fold-base |
Fold-conditioned complex design |
InpaintSeq_ckpt.pt |
oteam/rfdiffusion-inpaint-seq |
Sequence-conditioned inpainting |
InpaintSeq_Fold_ckpt.pt |
oteam/rfdiffusion-inpaint-seq-fold |
Fold-conditioned sequence inpainting |
ActiveSite_ckpt.pt |
oteam/rfdiffusion-active-site |
Active-site motif scaffolding |
The RoseTTAFold pretraining file RF_structure_prediction_weights.pt is not an
RFdiffusion denoising checkpoint and is not supported by this converter.
Model Specification
| Main Blocks | Extra Blocks | Refinement Blocks | MSA Size | Pair Size | Diffusion Timesteps | Num Parameters (M) |
|---|---|---|---|---|---|---|
| 32 | 4 | 4 | 256 | 128 | 50 | 59.808 |
Links
- Code: ofoldx.models.rfdiffusion
- Paper: De novo design of protein structure and function with RFdiffusion
- Developed by: Joseph L. Watson, David Juergens, Nathaniel R. Bennett, Brian L. Trippe, Jason Yim, Helen E. Eisenach, Woody Ahern, Andrew J. Borst, Robert J. Ragotte, Lukas F. Milles, Basile I. M. Wicky, Nikita Hanikel, Samuel J. Pellock, Alexis Courbet, William Sheffler, Jue Wang, Preetham Venkatesh, Isaac Sappington, Susana Vázquez Torres, Anna Lauko, Valentin De Bortoli, Emile Mathieu, Sergey Ovchinnikov, Regina Barzilay, Tommi S. Jaakkola, Frank DiMaio, Minkyung Baek, and David Baker
- Model type: SE(3)-equivariant protein backbone diffusion model
- Original Repository: RosettaCommons/RFdiffusion
Construct and output contract
One candidate is one realised output topology. Each declaration group becomes an output protein chain whose rows are
either copies of source components (existing spans) or generated rows of the unknown amino acid UNK: the model
predicts no sequence, so a generated identity stays unknown. A copied row keeps the coordinates, the coordinate
evidence the source states — a motif copied from a predicted model stays predicted — and the source frame; a generated
row starts without coordinates. Under point-group symmetry the output instances are the
symmetry units of one entity, so every unit holds the same sequence.
Generation regenerates the generated and diffused rows only. The fixed motif keeps the coordinates it was copied with, and decode writes the predicted N, CA, C and O of every regenerated row; side-chain atoms of such a row are left unobserved and counted, because a reconstructed side chain of a masked identity is not a prediction. Rows whose coordinates the model reads as placed need complete N, CA and C — the frame they are diffused around.
Identities and positions are addressed by the canonical target: a source position by its ComponentRef (or, in the
released contig grammar, by the author numbering the source states), a generated row by its placement and offset. A new
SymbolicBond selects one occurrence per endpoint; a source AtomSite with several output copies is refused, and a
SymbolicAtomSite names the copy. Junctions between neighbouring rows are those the output declares: a generated row
or a placement boundary always joins the next row, two copied rows of one placement join exactly when the source joins
them.
Usage
The model depends on the ofoldx
library. Install it with pip:
pip install ofoldx
Backbone Design
Load the RFdiffusion design pipeline:
import ofoldx
from ofoldx.models.conditions import GeneratedSegment
from ofoldx.models.rfdiffusion import RfDiffusionPlacements
placement = RfDiffusionPlacements({"binder": {"binder": GeneratedSegment("protein", 100, 100)}})
pipeline = ofoldx.pipeline("design", model="oteam/rfdiffusion-base")
output = pipeline.design(None, placement=placement)
Training Details
Training Data
RFdiffusion fine-tunes a RoseTTAFold-style structure network as a denoising diffusion model over PDB protein structures. Refer to the RFdiffusion paper for the authoritative upstream data construction. OFoldX does not redistribute the training set.
Training Procedure
The training procedure adds Gaussian C-alpha translation noise and rotational Brownian motion to residue frames, then trains the network to denoise toward the true frames with self-conditioning across timesteps. OFoldX exposes the differentiable denoiser for training and fine-tuning; it does not by itself reproduce the coupled translation, rotation, timestep, and self-conditioning training procedure.
Citation
@article{watson2023denovo,
author = {Watson, Joseph L. and Juergens, David and Bennett, Nathaniel R. and others},
title = {De novo design of protein structure and function with RFdiffusion},
journal = {Nature},
volume = {620},
number = {7976},
pages = {1089--1100},
year = {2023},
doi = {10.1038/s41586-023-06415-8}
}
If OFoldX supports your research, also cite the OFoldX software:
@software{chen2026ofoldx,
author = {Chen, Zhiyuan},
title = {OFoldX},
year = {2026},
url = {https://github.com/OTeam-AI4S/OFoldX},
}
Contact
Please use OFoldX GitHub issues for questions about this implementation or model card. Questions about the original model should be directed to the RFdiffusion authors.
License
This model implementation is licensed under the GNU Affero General Public License.
SPDX-License-Identifier: AGPL-3.0-or-later
The Pipeline is callable and supports staged execution with prepare, forward,
and postprocess. Prepared values retain the source and correspondence needed by
the scientific result; the concrete signatures describe each stage's controls.
Converted checkpoint
This repository contains converted model parameters under bsd-3-clause; the original terms and notices are preserved in LICENSE. OFoldX implementation licensing is described separately in license.md and license-faq.md. Conversion changes parameter names and native tensor layout; the upstream authors do not endorse this implementation.