From 22e2ac3838ebbf1435aa9a1a284034a8c51ee9a0 Mon Sep 17 00:00:00 2001 From: Dima Molodenskiy Date: Wed, 14 Oct 2026 11:22:02 +0200 Subject: [PATCH] release: 2.11.0 - Version 2.11.0. - README synced with AlphaPulldownSnakemake's: the unified-memory formula and its two notes name structure_inference_unified_memory_margin_mb, the margin the workflow now uses in place of structure_inference_ram_bytes. - README: AlphaFold 3 images from 2.11.0 resume by default as well, and the example of an AlphaFold 2-only flag is --models_to_relax, since both backends now accept --allow_resume. - README pins the installer, environment file and image tags to 2.11.0. - Copyright headers of AlphaPulldown's own files say 2026; the submodules' notices are untouched. Co-Authored-By: Claude Opus 5.5 --- README.md | 22 +++++++++---------- alphapulldown/__init__.py | 2 +- .../analysis_pipeline/pdb_analyser.py | 2 +- .../folding_backend/alphafold2_backend.py | 2 +- .../folding_backend/alphafold3_backend.py | 2 +- .../folding_backend/alphafold3_debug.py | 2 +- .../folding_backend/alphafold3_inputs.py | 2 +- .../folding_backend/alphafold3_runner.py | 2 +- .../folding_backend/alphalink_backend.py | 2 +- .../folding_backend/folding_backend.py | 2 +- alphapulldown/objects.py | 2 +- alphapulldown/scripts/run_multimer_jobs.py | 2 +- .../scripts/run_structure_prediction.py | 2 +- 13 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 3f5153ec1..1e6ce6dbf 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ ### Quick install (recommended) ```bash -curl -O https://raw.githubusercontent.com/KosinskiLab/AlphaPulldownSnakemake/2.10.0/install.sh +curl -O https://raw.githubusercontent.com/KosinskiLab/AlphaPulldownSnakemake/2.11.0/install.sh bash install.sh conda activate snake cd AlphaPulldownSnakemake @@ -25,7 +25,7 @@ Useful options: | Option | Meaning | | --- | --- | | `-d, --dest DIR` | working directory to deploy into (default `AlphaPulldownSnakemake`) | -| `-v, --version TAG` | workflow version to deploy (default `2.10.0`) | +| `-v, --version TAG` | workflow version to deploy (default `2.11.0`) | | `-i, --image-dir DIR` | shared container image directory | | `-n, --env-name NAME` | conda environment name (default `snake`) | | `--no-pull` | skip container pre-fetch (Snakemake will fetch on first run) | @@ -43,7 +43,7 @@ Create and activate the conda environment: ```bash conda env create \ -n snake \ - -f https://raw.githubusercontent.com/KosinskiLab/AlphaPulldownSnakemake/2.10.0/workflow/envs/alphapulldown.yaml + -f https://raw.githubusercontent.com/KosinskiLab/AlphaPulldownSnakemake/2.11.0/workflow/envs/alphapulldown.yaml conda activate snake ``` @@ -55,7 +55,7 @@ Then deploy the workflow into a new processing directory for your project: snakedeploy deploy-workflow \ https://github.com/KosinskiLab/AlphaPulldownSnakemake \ AlphaPulldownSnakemake \ - --tag 2.10.0 + --tag 2.11.0 cd AlphaPulldownSnakemake ``` @@ -522,12 +522,12 @@ again of host RAM. With the default `auto`, the fraction is computed **per job a time** as ```text -1 + (allocated host RAM - structure_inference_ram_bytes) / (physical GPU VRAM) +1 + (allocated host RAM - structure_inference_unified_memory_margin_mb) / (physical GPU VRAM) ``` The GPU VRAM is read with `nvidia-smi` once the job lands on a node, and the host RAM is the job's SLURM `--mem` allocation (which scales with retry attempts). The job can thus -spill into all of its host RAM except the base inference RAM (`structure_inference_ram_bytes`, +spill into all of its host RAM except a margin (`structure_inference_unified_memory_margin_mb`, by default 8000 MB for AlphaFold 3 and 16000 MB for AlphaFold 2), which stays free for the process itself. For example, 128 GB of host RAM on an 80 GB GPU gives 1 + (128 - 8) / 80 = 2.5, a 200 GB limit with 120 GB of host spill. The fraction never goes below 1, and the chosen value @@ -579,7 +579,7 @@ structure_inference mem = safety * (structure_inference_ram_bytes + per_token_s | `alphafold3` | 40000 MB | 25 MB | 8000 MB | 0.0045 | The AF3 inference quadratic is sized to the observed GPU-VRAM demand so that, with unified - memory, the `auto` limit (GPU VRAM plus the host RAM request minus its base) covers large + memory, the `auto` limit (GPU VRAM plus the host RAM request minus the margin) covers large complexes instead of OOM-ing. - The first attempt already includes `mem_safety_factor` (default `1.25`) of head-room. **OOM retries still escalate** on top, multiplying by `..._ram_scaling ** (attempt - 1)`, @@ -693,8 +693,8 @@ batch_max_tokens: 0 # optional cap on summed residues per batch (0 = no cap) share a shape, whereas for AlphaFold3 the point is queueing once instead of once per fold. - For AlphaFold2 batches, `--allow_resume` is enabled automatically, so if a job is - interrupted a rerun skips folds whose outputs already exist (AlphaFold3 does not accept - that flag, so its batches recompute the unfinished folds on rerun). + interrupted a rerun skips folds whose outputs already exist (AlphaFold3 images from + 2.11.0 resume by default as well, keeping finished folds and seeds). - Analysis and reports are unaffected — `alphajudge` still runs per fold (one `interfaces.csv` + `report.pdf` each) and the recursive summary still aggregates them. - **Trade-off:** a batch is one SLURM job, so a failure reruns the whole batch (minus the @@ -809,7 +809,7 @@ require `pdb_seqres`, and every search requires `mmcif`. Update the relevant ID rebuilding a database, even at the same path; this invalidates finalized features. The native MSA arguments do not reach finalization because this stage replaces that search. Use a matching prediction image, such as -`docker://kosinskilab/alphafold2:2.10.0`, for AlphaFold 2. AlphaFold 2 finalization is +`docker://kosinskilab/alphafold2:2.11.0`, for AlphaFold 2. AlphaFold 2 finalization is heavier than AlphaFold 3's because template featurization dominates it — median ~1 GB and 2 min, but up to 19 GB and 90 min, set by which structures the templates come from rather than by length — so its defaults request 16 GB (times the safety factor) and 60 min. Against native @@ -861,7 +861,7 @@ You can pass backend CLI switches through `structure_inference_arguments`. Commo > against the selected `--fold_backend` and aborts the job with > `ValueError: The following flags are not supported by backend ''` if you pass one the > backend does not accept. Only use flags from **your** backend's list below — e.g. -> `--allow_resume` is AlphaFold2-only. A single wrong flag fails the job immediately +> `--models_to_relax` is AlphaFold2-only. A single wrong flag fails the job immediately > (before any prediction runs). > > When **batching** (`batch_size > 1`) the workflow adds what each backend needs — diff --git a/alphapulldown/__init__.py b/alphapulldown/__init__.py index 1c622223b..7f6646a76 100755 --- a/alphapulldown/__init__.py +++ b/alphapulldown/__init__.py @@ -1 +1 @@ -__version__ = "2.10.0" +__version__ = "2.11.0" diff --git a/alphapulldown/analysis_pipeline/pdb_analyser.py b/alphapulldown/analysis_pipeline/pdb_analyser.py index 4af83cb16..658e0c056 100644 --- a/alphapulldown/analysis_pipeline/pdb_analyser.py +++ b/alphapulldown/analysis_pipeline/pdb_analyser.py @@ -1,7 +1,7 @@ """ A script that survey all interfaces and obtain all the residues on the interface - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author:Dingquan Yu """ diff --git a/alphapulldown/folding_backend/alphafold2_backend.py b/alphapulldown/folding_backend/alphafold2_backend.py index ae299b75a..fb380a393 100644 --- a/alphapulldown/folding_backend/alphafold2_backend.py +++ b/alphapulldown/folding_backend/alphafold2_backend.py @@ -1,6 +1,6 @@ """ Implements structure prediction backend using AlphaFold. - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author: Valentin Maurer Dmitry Molodenskiy diff --git a/alphapulldown/folding_backend/alphafold3_backend.py b/alphapulldown/folding_backend/alphafold3_backend.py index cf317a0a0..b49e45809 100644 --- a/alphapulldown/folding_backend/alphafold3_backend.py +++ b/alphapulldown/folding_backend/alphafold3_backend.py @@ -1,7 +1,7 @@ """ Implements structure prediction backend using AlphaFold 3. -Copyright (c) 2024 European Molecular Biology Laboratory +Copyright (c) 2026 European Molecular Biology Laboratory Author: Dmitry Molodenskiy """ diff --git a/alphapulldown/folding_backend/alphafold3_debug.py b/alphapulldown/folding_backend/alphafold3_debug.py index 3beb13416..dc79fbdbc 100644 --- a/alphapulldown/folding_backend/alphafold3_debug.py +++ b/alphapulldown/folding_backend/alphafold3_debug.py @@ -2,7 +2,7 @@ Debug artifacts of AlphaFold 3 input preparation and inference: the MSAs translated from AF2 features with their summary, and each seed's final complex MSA. -Copyright (c) 2024 European Molecular Biology Laboratory +Copyright (c) 2026 European Molecular Biology Laboratory Author: Dmitry Molodenskiy """ diff --git a/alphapulldown/folding_backend/alphafold3_inputs.py b/alphapulldown/folding_backend/alphafold3_inputs.py index a1f0eec9e..73feb1db4 100644 --- a/alphapulldown/folding_backend/alphafold3_inputs.py +++ b/alphapulldown/folding_backend/alphafold3_inputs.py @@ -3,7 +3,7 @@ input: chain construction, monomer normalisation, region slicing of JSON chains, template mmCIF fixes, chain IDs and the job name. -Copyright (c) 2024 European Molecular Biology Laboratory +Copyright (c) 2026 European Molecular Biology Laboratory Author: Dmitry Molodenskiy """ diff --git a/alphapulldown/folding_backend/alphafold3_runner.py b/alphapulldown/folding_backend/alphafold3_runner.py index bedd00c82..47850339a 100644 --- a/alphapulldown/folding_backend/alphafold3_runner.py +++ b/alphapulldown/folding_backend/alphafold3_runner.py @@ -3,7 +3,7 @@ extraction per seed, adapted from upstream run_alphafold.py and kept close to it for diffing. Each seed's outputs are written as it finishes. -Copyright (c) 2024 European Molecular Biology Laboratory +Copyright (c) 2026 European Molecular Biology Laboratory Author: Dmitry Molodenskiy """ diff --git a/alphapulldown/folding_backend/alphalink_backend.py b/alphapulldown/folding_backend/alphalink_backend.py index 876158d97..ce8f27a9e 100644 --- a/alphapulldown/folding_backend/alphalink_backend.py +++ b/alphapulldown/folding_backend/alphalink_backend.py @@ -1,6 +1,6 @@ """ Implements structure prediction backend using AlphaLink2. - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author: Dingquan Yu Valentin Maurer diff --git a/alphapulldown/folding_backend/folding_backend.py b/alphapulldown/folding_backend/folding_backend.py index 3b5b497ee..ac1d35140 100644 --- a/alphapulldown/folding_backend/folding_backend.py +++ b/alphapulldown/folding_backend/folding_backend.py @@ -1,6 +1,6 @@ """ Implements structure prediction strategy class. - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author: Valentin Maurer """ diff --git a/alphapulldown/objects.py b/alphapulldown/objects.py index bd782d982..fd376730a 100644 --- a/alphapulldown/objects.py +++ b/alphapulldown/objects.py @@ -1,6 +1,6 @@ """ Create monomeric or multimeric objects with corresponding import features for the modelling backends - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author: Dingquan Yu """ diff --git a/alphapulldown/scripts/run_multimer_jobs.py b/alphapulldown/scripts/run_multimer_jobs.py index 3a356bbe2..66cd4dcb1 100644 --- a/alphapulldown/scripts/run_multimer_jobs.py +++ b/alphapulldown/scripts/run_multimer_jobs.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 """ A script to perform structure prediction. - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Authors: Dingquan Yu, Valentin Maurer """ diff --git a/alphapulldown/scripts/run_structure_prediction.py b/alphapulldown/scripts/run_structure_prediction.py index 9f21a4ddb..60754801e 100644 --- a/alphapulldown/scripts/run_structure_prediction.py +++ b/alphapulldown/scripts/run_structure_prediction.py @@ -2,7 +2,7 @@ """ CLI inferface for performing structure prediction. - Copyright (c) 2024 European Molecular Biology Laboratory + Copyright (c) 2026 European Molecular Biology Laboratory Author: Valentin Maurer Dmitry Molodenskiy