Decision
Retire AlphaFold 2 from PredictStructureApp and replace it with ESMFold2 as
the non-diffusion protein-folding option.
Rationale: https://www.nature.com/articles/d41586-026-01686-3
AlphaFold 2 is the most expensive tool we carry and the least well-behaved on
current hardware. It needs ~2 TB of genetic databases, runs 2-8h because it
builds its MSA from local DBs, is the only JAX tool in an otherwise PyTorch
stack, and has open hardware defects we chose not to fix (#8 amber relax fails
on H200, #11 GoWe serialization). Both were closed citing this deprecation —
this issue is the work those closures implied but never tracked.
Blocked by #75
ESMFold2 must actually work before AlphaFold 2 can be removed. #75 (ESMFold2
listed in UI tool selector but not yet functional) is a hard prerequisite —
removing AF2 first would leave a gap rather than a replacement.
Current footprint
| Area |
Files mentioning alphafold |
Notes |
predict_structure/ |
10 |
adapter, CLI subcommand + 4 --af2-* options, auto priority |
app_specs/ |
10 |
tool enum, af2_* params |
service-scripts/ |
1 |
App-PredictStructure.pl param mapping |
cwl/ |
9 |
tool + workflow definitions |
container/ |
15 |
/opt/conda-alphafold env, reqts-alphafold.def |
tests/ |
15 |
adapter tests, matrix cases A01/A02/N05 |
docs/ |
30 |
CLAUDE.md tables, testing guides, resource tables |
Also: AF2_DEFAULT_DATA_DIR (~2 TB of genetic DBs) and the alphafold entry in
the auto priority order (cli.py:156, cli.py:210), where it currently sits
last as the fallback for protein-only jobs with no MSA source.
Proposed scope
Open questions
- Grace period. Do we reject
tool: alphafold immediately with a message
pointing at ESMFold2, or keep accepting it for a release and warn? A hard
rejection is cleaner but breaks any saved job spec or script that names it.
- Order of operations. Remove from the UI/app_spec first (stops new jobs)
and strip the container later, or do both in one release?
- Database reclamation. Is the ~2 TB shared with anything else on the GPU
hosts, or safe to delete outright once the container stops shipping AF2?
- CWL definitions. Still used by GoWe experiments, or removable?
Related
Decision
Retire AlphaFold 2 from PredictStructureApp and replace it with ESMFold2 as
the non-diffusion protein-folding option.
Rationale: https://www.nature.com/articles/d41586-026-01686-3
AlphaFold 2 is the most expensive tool we carry and the least well-behaved on
current hardware. It needs ~2 TB of genetic databases, runs 2-8h because it
builds its MSA from local DBs, is the only JAX tool in an otherwise PyTorch
stack, and has open hardware defects we chose not to fix (#8 amber relax fails
on H200, #11 GoWe serialization). Both were closed citing this deprecation —
this issue is the work those closures implied but never tracked.
Blocked by #75
ESMFold2 must actually work before AlphaFold 2 can be removed. #75 (ESMFold2
listed in UI tool selector but not yet functional) is a hard prerequisite —
removing AF2 first would leave a gap rather than a replacement.
Current footprint
predict_structure/--af2-*options, auto priorityapp_specs/toolenum,af2_*paramsservice-scripts/App-PredictStructure.plparam mappingcwl/container//opt/conda-alphafoldenv,reqts-alphafold.deftests/docs/Also:
AF2_DEFAULT_DATA_DIR(~2 TB of genetic DBs) and thealphafoldentry inthe
autopriority order (cli.py:156,cli.py:210), where it currently sitslast as the fallback for protein-only jobs with no MSA source.
Proposed scope
alphafoldfrom theautopriority order; confirm ESMFold2 coversthe protein-only / no-MSA case AF2 was the fallback for
alphafoldfrom thetoolenum inapp_specs/PredictStructure.json--af2-*optionsAlphaFoldAdapterand its tests/opt/conda-alphafoldandreqts-alphafold.deffrom the containerbuild (a large image-size win)
them unwired
Open questions
tool: alphafoldimmediately with a messagepointing at ESMFold2, or keep accepting it for a release and warn? A hard
rejection is cleaner but breaks any saved job spec or script that names it.
and strip the container later, or do both in one release?
hosts, or safe to delete outright once the container stops shipping AF2?
Related
are generated from the adapter registry, so they stop naming AlphaFold 2
automatically once the adapter is gone