Can you run open source AlphaFold-class structure prediction without a restricted weights form and without parking 2+ TB of genetic databases on a local SSD?
Yes – with OpenFold3-preview v0.4.5 (as of tag 0.4.5 on the OpenFold consortium repo): Apache-2.0 biomolecular inference aimed at AlphaFold3-style protein/RNA/DNA/small-molecule complexes. Classic OpenFold stays the trainable AF2 PyTorch line (latest tag there: v2.2.0). This write-up is the workstation path for the AF3-generation open stack, not another AF2 Docker volume marathon.
What you’re installing (and why disk math changed)
DeepMind’s AF2 full stack still sits around a 556 GB download and ~2.62 TB unzipped databases (their GitHub README). OpenFold3 flips first run: install the package, run setup_openfold, pull ~2 GB-class checkpoints into ~/.openfold3, and use the ColabFold MSA server for alignments instead of staging BFD locally.
I stopped fighting AF2 Docker volumes last month for that reason alone. Apache 2.0 puts academic and commercial use on the table – sharp contrast to AF3’s non-commercial parameter gate discussed around the AlphaFold3 Nature paper (Abramson et al., 2024).
System requirements for OpenFold3 v0.4.5
| Resource | Minimum | Practical / tested |
|---|---|---|
| OS | Linux x86_64 or aarch64 (pixi also lists osx for base/MPS) | Ubuntu 22.04+ workstation or HPC node |
| GPU | NVIDIA, CUDA 12.1+, 32 GB device memory | A100 40 GB (official testing baseline) |
| Driver / toolkit | Driver that exposes CUDA ≥12.1; nvcc findable |
CUDA 12 or 13 matching your pixi env |
| RAM / disk | Host RAM for MSA + diffusion; tens of GB free for env + cache | Fast SSD for conda/pixi caches; checkpoints under ~/.openfold3 |
| Python | 3.10-3.13 (pip path) | Fresh env – don’t bolt this onto a random research env |
As of the OpenFold3 Installation docs for the v0.4.5 line, AMD ROCm 7 and Apple Silicon MPS show up as pixi/base paths. Long complexes still waste less time on NVIDIA cards with ≥32 GB.
Official download sources
- Code: github.com/aqlaboratory/openfold-3 (tag
0.4.5) - Docs: openfold-3.readthedocs.io Installation
- PyPI:
openfold3 - Docker Hub:
openfoldconsortium/openfold3:stable - GHCR example from docs:
ghcr.io/aqlaboratory/openfold-3/openfold3-docker:0.4.2(tag can lag – prefer:stablewhen you want the baked image the project points at) - Checkpoints:
setup_openfoldpulls ~2 GB-class weights (RODA / Hugging Face path in the docs); manual RODA/S3 copies are optional if your site blocks the helper
Cluster audits software? Pin it: git clone --branch 0.4.5 https://github.com/aqlaboratory/openfold-3.git.
Install OpenFold3 step by step (recommended: pixi + CUDA)
I burned an afternoon on a half-broken site-packages tree before switching to pixi. Start clean.
- Install pixi once:
curl -fsSL https://pixi.sh/install.sh | shthen restart the shell. - Clone and enter the repo:
git clone https://github.com/aqlaboratory/openfold-3.git cd openfold-3 git checkout 0.4.5 - Match silicon. NVIDIA CUDA 12:
pixi run -e openfold3-cuda12 setup_openfoldCUDA 13 →
openfold3-cuda13. AMD →openfold3-rocm7. CPU/MPS explorers →openfold3-base. - Kernel extras only after a plain install works: DeepSpeed needs CUTLASS; cuEquivariance via
pip install openfold3[cuequivariance]on matching CUDA. Optional pip extras also includeopenfold3[deepspeed].
Pip-only alternative (quick box, less reproducible):
conda create -n openfold3 python=3.12 -y
conda activate openfold3
pip install openfold3
setup_openfold --non-interactive
Docker when you refuse local compilers:
docker pull openfoldconsortium/openfold3:stable
# run with --gpus all; mount a host dir over the cache so weights survive the container
Pro tip: export
OPENFOLD_CACHEto shared scratch before firstsetup_openfoldif several users share a node. Default is~/.openfold3. Move it later and default checkpoint paths break.
First-time configuration that actually boots
Minimum viable shell after install:
# Point at your toolkit (module load cuda on many HPCs)
export CUDA_HOME=${CUDA_HOME:-/usr/local/cuda}
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:${LD_LIBRARY_PATH:-}
export LIBRARY_PATH=$CUDA_HOME/lib64:${LIBRARY_PATH:-}
# If you installed deepspeed/cutlass extras:
export CUTLASS_PATH=$(python - <<'PY'
import cutlass_library, pathlib
print(pathlib.Path(cutlass_library.__file__).resolve().parent.joinpath("source"))
PY
)
Accept the interactive parameter download once, or force defaults with setup_openfold --non-interactive. That path also wires the Chemical Component Dictionary through Biotite so ligands resolve.
Tight VRAM? Use the docs’ low_mem model preset. Inference gets slower. Beats an OOM mid-run on a card under the 32 GB floor.
Verify the install works
Smoke test from the repo (or anywhere the entry points are on PATH):
run_openfold predict --query_json=examples/example_inference_inputs/query_ubiquitin.json
That ubiquitin JSON is the README quick-start path through the ColabFold MSA server – no local BFD tree required.
pytest openfold3/tests/
# optional heavier gate
pytest tests/ -m "inference_verification"
No green tests, no production jobs. Inference verification fails but unit tests pass? Check checkpoint files under $OPENFOLD_CACHE before you nuke the env.
Common install errors and fixes
Error:No such file or directory: '/usr/local/cuda/bin/nvcc'
Shell never found the toolkit. Set CUDA_HOME to the real prefix (often after module load cuda) and confirm $CUDA_HOME/bin/nvcc -V. The Installation docs call this out in the environment-variables section.
Error:Unable to JIT load the evoformer_attn op
DeepSpeed evoformer extension can’t see CUTLASS. Install cutlass bindings, export CUTLASS_PATH as above, or skip deepspeed kernels. Turns out v0.4.3 changed defaults so plain inference no longer assumes deepspeed the way 0.4.2 could.
Stuck on 0.4.2 images/envs: Jump to 0.4.5. Don’t debug 0.4.2 default-kernel traps on a fresh box.
OOM on a 16-24 GB card: Official minimum is 32 GB (A100 40 GB tested). Enable low_mem, shrink complexes, or move up a class. Consumer 24 GB cards (e.g. 4090) still hit hard length walls when kernels are fine.
-lcurand linker failures: Math libs aren’t on LIBRARY_PATH. Append the CUDA math/lib dir from your site’s layout (pattern is in the install docs).
Upgrade, migrate, uninstall
Upgrade pip:pip install -U openfold3 then re-run setup_openfold so new checkpoints/CCD bits land. Pixi: git fetch && git checkout 0.4.5 && pixi update && pixi run -e openfold3-cuda12 setup_openfold.
From classic OpenFold (AF2) v2.x: Different repo, weights, entry points. Keep the AF2 env if you still need multimer-AF2 workflows. Don’t merge environment.yml into OpenFold3.
Uninstall / cleanup:
pip uninstall openfold3 -y
# or remove the pixi env / conda env entirely
rm -rf ~/.openfold3 # checkpoints + cache - only if you mean it
docker rmi openfoldconsortium/openfold3:stable
Keep the git clone only if you still want example JSONs.
Weird part of this stack? The software finally got easier than the biology questions you bring to it.
FAQ
Is OpenFold3 the same as DeepMind AlphaFold3?
No. Independent Apache-2.0 reproduction. Preview builds chase AF3-class multimolecular prediction; full parity is still listed as ongoing work by the consortium.
Do I need the multi-terabyte AlphaFold genetic databases on day one?
Not on the quick-start path. Point inference at the ColabFold MSA server (ubiquitin example) and only stage local JackHMMER/HHblits DBs if outbound MSA is forbidden or you need offline parity. Same disk contrast as the intro – one lab server, no 2.62 TB unpack.
Should I install classic OpenFold v2.2.0 instead?
Only if you need the AF2-trainable PyTorch codebase, SoloSeq, or AF2 multimer weights. That stack is Linux-first: mamba from environment.yml, CUDA 12 / PyTorch 2 defaults as of v2.2.0, then scripts/install_third_party_dependencies.sh. New “open source AlphaFold3” deploys start on OpenFold3 v0.4.5. Once you’re live, the OpenFold AF2 retrain study (Ahdritz et al., Nat Methods 2024) is still the paper people cite when generalization limits come up – plus local MSA pipelines and OpenProteinSet/RODA if you train.
Next action: clean env, setup_openfold --non-interactive, fold the ubiquitin example JSON before any production sequence.