Skip to content

Decommission AlphaFold 2, replace with ESMFold2 — deferred, review 2026-11-13 #85

Description

@wilke

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

  • Land Verify ESMFold2 end-to-end on BV-BRC (works locally; scheduling + VRAM fixed in #92) #75 so ESMFold2 is functional and selectable
  • Remove alphafold from the auto priority order; confirm ESMFold2 covers
    the protein-only / no-MSA case AF2 was the fallback for
  • Remove alphafold from the tool enum in app_specs/PredictStructure.json
  • Remove the UI tool-selector entry
  • Remove the CLI subcommand and the --af2-* options
  • Remove AlphaFoldAdapter and its tests
  • Remove matrix cases A01/A02/N05; verify nothing else depends on them
  • Drop /opt/conda-alphafold and reqts-alphafold.def from the container
    build (a large image-size win)
  • Reclaim the ~2 TB genetic-database volume
  • Update CLAUDE.md, README, and the docs resource/tool tables
  • Decide the CWL story — remove the AF2 tool/workflow definitions or leave
    them unwired

Open questions

  1. 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.
  2. Order of operations. Remove from the UI/app_spec first (stops new jobs)
    and strip the container later, or do both in one release?
  3. 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?
  4. CWL definitions. Still used by GoWe experiments, or removable?

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    deferredIntentionally postponed; carries a review date

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions