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 .
&& uv pip install -e ./models/rf3
Note
Installing
rf3automatically installsmodelhub(shared utilities) as a dependency.
2. Download model weights for RF3
wget http://files.ipd.uw.edu/pub/rf3/rf3_latest.pt
3. Run a test prediction
rf3 fold 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)
Install only the model you need. Dependencies (including modelhub) are automatically installed:
# Install RF3 (includes modelhub automatically)
uv pip install -e ./models/rf3
# Future: Install other models
# uv pip install -e ./models/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>
