* Starting to put together the foundry and RFD3 external documentation Set up the foundation for Sphinx to be able to build the external docs, first draft of a ppi_design_tutorial has been completed. * Add RFdiffusion3 documentation and update toctree Added initial documentation for RFdiffusion3 under models/rfd3/docs/index.rst and linked it in the main docs toctree. Updated toctree maxdepth for better navigation and added a symlink for the rfd3 model documentation. * Update and expand RFdiffusion3 documentation Added introductory and reference documentation files, improved the index structure with general information and examples, and enhanced the PPI design tutorial with additional notes, figures, and clarifications. Also fixed a typo in a PDB filename. * Update RFD3 documentation and tutorial content Expanded the Sphinx static path to include RFD3 assets and made minor formatting and clarity improvements in the main and RFD3-specific documentation. The PPI design tutorial was revised for clarity, improved step-by-step instructions, and better separation of setup and execution steps. * Update RFD3 documentation and tutorials Added source_suffix to Sphinx conf.py for Markdown support. Updated index.rst to include new documentation sections. Expanded intro_inference_calculations.md with detailed instructions on inference input formats, job configuration, and output files. Improved input.md formatting for appendices and FAQs. Revised ppi_design_tutorial.md for clarity, added details on settings, and expanded explanations for hotspots and batch inference. * Update RFD3 docs: clarify input specs and file formats Expanded and clarified the documentation for RFdiffusion3 input specifications, including more detailed explanations of the 'contig' string, input file types, and example YAML/JSON formats. Improved the intro to inference calculations to better explain the structure and usage of settings files, and updated descriptions for job configuration and output files. Added a placeholder for configuration options documentation. * Update RFdiffusion3 input documentation and examples Expanded and clarified the documentation for RFdiffusion3 input specification, including detailed explanations of CLI arguments, InputSpecification fields, the InputSelection mini-language, contig string formatting, and advanced options such as partial diffusion and CIF parser arguments. Added more examples, debugging recommendations, and an updated FAQ. Also updated the output file naming explanation for clarity. Removed the obsolete configuration_options.md file. Note that images are still not being rendered correctly in many of the md files. Fix will be in future commit. * PPI tutorial and RFD3 docs update Created output files for PPI tutorial and listed their locations. Made edits to files to add labels to sections to remove sphinx warnings. * Delete docs/source/conf.py~ This is an auto-save file from emacs - it does not need to be in the repo. * Delete docs/source/index.rst~ This is an auto-saved copy of index.rst, it does not need to be in the repo * Adding missing images and fixing docs symlink * Fix grammatical error in RFdiffusion3 documentation Fixed typo, clarified enzyme design language. * Fix typos and enhance clarity in inference docs Corrected typos and improved clarity in the documentation regarding inference settings and file formats.
Protein design with Foundry
Foundry provides tooling and infrastructure for using and training all classes of models for protein design, including design (RFD3), inverse folding (ProteinMPNN) and protein folding (RF3).
All models within Foundry rely on AtomWorks - a unified framework for manipulating and processing biomolecular structures - for both training and inference.
Note
We have a slack now! Join for updates and to get your questions answered here.
Getting Started
Quickstart guide
Installation
pip install "rc-foundry[all]"
Downloading weights Models can be downloaded to a target folder with:
foundry install base-models --checkpoint-dir <path/to/ckpt/dir>
where checkpoint-dir will be ~/.foundry/checkpoints by default. Foundry always searches ~/.foundry/checkpoints plus any colon-separated entries in $FOUNDRY_CHECKPOINT_DIRS during inference or subsequent commands to find checkpoints. base-models installs the latest RFD3, RF3 and MPNN variants - you can also download all of the models supported (including multiple checkpoints of RF3) with all, or by listing the models sequentially (e.g. foundry install rfd3 rf3 ...).
To list the registry of available checkpoints:
foundry list-available
To check what you already have downloaded (searches ~/.foundry/checkpoints plus $FOUNDRY_CHECKPOINT_DIRS if set):
foundry list-installed
See
examples/all.ipynbfor how to run each model and design proteins end-to-end in a notebook.
Google Colab
For an interactive Google Colab notebook walking through a basic design pipeline with RFD3, MPNN, and RF3, please see the IPD Design Pipeline Tutorial.
RFdiffusion3 (RFD3)
RFdiffusion3 is an all-atom generative model capable of designing protein structures under complex constraints.
See models/rfd3/README.md for complete documentation.
RosettaFold3 (RF3)
RF3 is a structure prediction neural network that narrows the gap between closed-source AF-3 and open-source alternatives.
See models/rf3/README.md for complete documentation.
ProteinMPNN
ProteinMPNN and LigandMPNN are lightweight inverse-folding models which can be use to design diverse sequences for backbones under constrained conditions.
See models/mpnn/README.md for complete documentation.
Development
Code Organization
Strict dependency flow: foundry → atomworks
- atomworks: Structure I/O, preprocessing, featurization
- foundry: Model architectures, training, inference endpoints
- models/<model>: Released models.
For Core Developers (Multiple Packages)
Install both foundry and models in editable mode for development:
uv pip install -e '.[all,dev]'
This approach allows you to:
- Modify
foundryshared utilities and see changes immediately - Work on specific models without installing all models
- Add new models as independent packages in
models/
Note
Running tests is not currently supported, test files may be missing.
Adding New Models
To add a new model:
- Create
models/<model_name>/directory with its ownpyproject.toml - Add
foundryas a dependency - Implement model-specific code in
models/<model_name>/src/ - Users can install with:
uv pip install -e ./models/<model_name>
Pre-commit Formatting
We ship a .pre-commit-config.yaml that runs make format (via ruff format) before each commit. Enable it once per clone:
pip install pre-commit # if not already installed
pre-commit install
After installation the hook automatically formats the repo whenever you git commit. Use pre-commit run --all-files to apply it manually.
Citation
If you use this repository code or data in your work, please cite the relavant work as below:
@article{corley2025accelerating,
title={Accelerating biomolecular modeling with atomworks and rf3},
author={Corley, Nathaniel and Mathis, Simon and Krishna, Rohith and Bauer, Magnus S and Thompson, Tuscan R and Ahern, Woody and Kazman, Maxwell W and Brent, Rafael I and Didi, Kieran and Kubaney, Andrew and others},
journal={bioRxiv},
year={2025}
}
@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}
}
@article{dauparas2022robust,
title={Robust deep learning--based protein sequence design using ProteinMPNN},
author={Dauparas, Justas and Anishchenko, Ivan and Bennett, Nathaniel and Bai, Hua and Ragotte, Robert J and Milles, Lukas F and Wicky, Basile IM and Courbet, Alexis and de Haas, Rob J and Bethel, Neville and others},
journal={Science},
volume={378},
number={6615},
pages={49--56},
year={2022},
publisher={American Association for the Advancement of Science}
}
@article{dauparas2025atomic,
title={Atomic context-conditioned protein sequence design using LigandMPNN},
author={Dauparas, Justas and Lee, Gyu Rie and Pecoraro, Robert and An, Linna and Anishchenko, Ivan and Glasscock, Cameron and Baker, David},
journal={Nature Methods},
pages={1--7},
year={2025},
publisher={Nature Publishing Group US New York}
}
Acknowledgments
We thank Rachel Clune and Hope Woods from the RosettaCommons for their collaboration on the codebase, documentation, tutorials and examples.

