* Add initial files * add files * Move projects.aa_design -> rfd3 * Make format * Delete test files * Add configs * Mc * Fixed tests * remove test files
Open-Source Neural Networks for Biomolecular Tasks
ModelForge is a repository of open-source models for common biomolecular tasks, including structure prediction, fixed-backbone sequence design ("inverse folding"), and de novo protein design.
All models within ModelForge share a common training harness and integrate with AtomWorks – our generalized computational framework for biomolecular modeling.
For more information, please see our preprint, Accelerating Biomolecular Modeling with AtomWorks and RF3.
Warning
We fixed an inference bug on 8/29 that arose during codebase migration and impacted predictions from JSON and from mmCIF/PDB; the issue is now resolved but for the purposes of model benchmarking predictions should be re-run.
Important
We are currently finalizing some cleanup work within our repositories. Please expect the APIs (e.g., function and class names, inputs and outputs) to stabilize within the next two weeks. Thank you for your patience!
Note
Training code coming very soon, with documentation on how to fine-tune on new datasets!
RosettaFold3 (RF3)
RF3 is a structure prediction neural network that narrows the gap between closed-source AF-3 and open-source alternatives.
Tip
Complete inference instructions for RF3 are provided here.
RF3 Quick Start - Installation & Usage
Follow these steps to set up ModelForge and run a test prediction with RF3.
1. Install the source repository and the RF3 model using uv
git clone https://github.com/RosettaCommons/modelforge.git \
&& cd modelforge \
&& uv python install 3.12 \
&& uv venv --python 3.12 \
&& source .venv/bin/activate \
&& uv pip install -e ".[rf3]"
2. Download model weights for RF3
wget http://files.ipd.uw.edu/pub/rf3/rf3_latest.pt
3. Run a test prediction
rf3 fold models/rf3/tests/data/5vht_from_json.json
Details on the exact formatting of the json files are available here.
Development
Package Structure
ModelForge uses a multi-package architecture:
modelhub: Core package containing shared utilities, training infrastructure, and base classesmodels/rf3/: RF3 model package with model-specific code and dependenciesmodels/<future>/: Additional models can be added as separate packages
Installation Options
For Users (Single Model)
Use pip install modelforge[<model>] semantics (or uv pip install -e ".[<model>]" when developing locally) to pull in model-specific dependencies and the associated CLI in one step:
# Install modelforge with RF3 ready to go
uv pip install -e ".[rf3]"
# Install only the core utilities (no models)
uv pip install -e .
# Future models follow the same pattern
# uv pip install -e ".[other_model]"
For Core Developers (Multiple Packages)
Install both modelhub and models in editable mode for development:
# Install modelhub and RF3 in editable mode
uv pip install -e . -e ./models/rf3
# Or install only modelhub (no models)
uv pip install -e .
This approach allows you to:
- Modify
modelhubshared utilities and see changes immediately - Work on specific models without installing all models
- Add new models as independent packages in
models/
Adding New Models
To add a new model:
- Create
models/<model_name>/directory with its ownpyproject.toml - Add
modelhubas a dependency - Implement model-specific code in
models/<model_name>/src/ - Users can install with:
uv pip install -e ./models/<model_name>
