BoltzMaker

Step 1 · Prepare

Describe the campaign and choose how hard to push your hardware. You get back one self-extracting file carrying the spec, a pinned environment and the scripts that run it. Nothing is predicted here — that happens on your machine, where the GPU is.

Start from an existing bundle

A bundle is the only file you need to keep. It runs the campaign on your machine, and uploading it back here brings this whole page back as it was — add a ligand, change a pocket, retune the run, download a new one. Nothing is stored: the file is read for the page inside it and discarded.

Campaign

Names the bundle, the folder it unpacks into, and the results file. Anything outside letters, numbers, dots, dashes and underscores is replaced.

Settings

The summary table ranks on pIC50; without this its ranking column is empty. Rank on pIC50 rather than binder probability, which has measured near-zero correlation with it.

Off, ligands can dock onto a co-folded partner instead of your protein — in one campaign 6 of 27 did. It picks the protein, not the site. Not Boltz's force flag: every pocket constraint sets that anyway, and this decides whether a target with no pocket is restrained at all.

How close the ligand must sit to the pocket residues. Tight matters: on one test the same residues at 8 Å left the ligand 9.5 Å from its crystal pose, and at 4 Å reproduced it to 2.6 Å. Set the holo reference per ligand below — a pocket belongs to the ligand, not the protein.

Restarts boltz predict every N targets. On Apple unified memory the allocator never gives everything back, so a long campaign starves itself; only process exit frees it. 0 disables recycling.

Landlord narration

A plain-English summary of the finished campaign. On an Apple Silicon Mac with Apple Intelligence on, it is written on-device by the Neural Engine — nothing leaves the machine and the GPU stays free for folding. Everywhere else the same summary comes from a template. auto uses whichever works; template forces the template, which makes the output reproducible; off writes none.

Proteins (at least one required)

Partners (optional — co-folded chains the proteins above can reference)

Constraints (optional — reference a protein short name from above)

Ligands (at least one required)

Prediction settings

Boltz's FK steering and physical-guidance coordinate update, which keep predicted geometry physically sensible. On by default, matching Boltz's own recommendation. Switch it off if a target's diffusion diverges (a NaN coordinate failure), since the guidance update is one of the places that can happen.

auto picks your GPU (CUDA or Apple MPS) when there is one. cpu works but is slow enough that it is really only for checking a campaign runs at all.

Boltz's own default is 2, but each worker duplicates large in-memory structures, and on unified-memory hardware that comes out of the same pool the model is using. 0 is what a 26-target GPCR campaign (~1300 tokens per target) actually needed on a 64GB M1 Max.

How many diffusion samples Boltz holds in memory at once. 1 is the safe default on unified-memory hardware; raising it multiplies peak memory and buys no throughput on an M1 Max, where this stage is compute-bound rather than memory-bound.

Apple Silicon only (PYTORCH_MPS_HIGH_WATERMARK_RATIO). Caps how much unified memory PyTorch will claim before it errors instead of swap-thrashing. It is a hard allocation ceiling, not a swap-avoidance dial: 0.7 on a 64GB M1 Max caps allocation at 36GB against a ~34GB requirement, and every batch then OOMs immediately. Lower it only above a measured peak. Ignored elsewhere.

Leave blank for Boltz's own default. More steps is slower and usually only marginally better.

Leave blank for Boltz's own default.

Leave blank for one sample per target. Each extra sample costs roughly its own share of diffusion time, and analysis only ever reads the first one (model_0) -- so raise it to inspect pose variability yourself, not to improve the report.

Leave blank for Boltz's own default. Only matters for targets with affinity prediction switched on.

Leave blank for Boltz's own default.

Boltz's own default is 8192. 4096 halves the co-evolution feature block and is one of the few levers that measurably cuts peak memory on large complexes. Raise it back to 8192 if you have the headroom -- it is a quality/memory trade, not a free win.

A target that fails (typically an out-of-memory kill) is retried in isolation, one target at a time. 0 disables retrying.

Preflight warns when a target's combined residue/atom count exceeds this. It is a warning, not a limit -- it only blocks a run if you also tick "Treat preflight warnings as failures". Raised from 1000 because a GPCR + G-protein campaign runs at 1307-1333 tokens, so 1000 warned on every target and separated nothing; 1500 still catches a genuinely oversized complex, which is what the heuristic is for.

Scope and safety

Leave blank to run the whole campaign. Setting it to 1 or 2 is the cheapest way to prove the pipeline works before committing hours of GPU time.

Stops the run before any GPU time is spent if preflight raises any warning at all.

Analysis

Leave off. PLIP is what produces the per-target interaction fingerprints the Analysis step shows; skipping it saves minutes but empties that panel.

Left off, every protein gets an apo reference so the comparison can run: an experimental structure if you gave a PDB id above, otherwise an extra ligand-free prediction of that protein. Those extra targets cost GPU time -- one more target per protein. Tick this to skip the comparison and predict nothing extra.

Nothing about this run is kept on the server: the bundle is not archived, and the results file you upload later is recognised as private and not archived either. Leave it off and the run is listed under Runs, where you can download the bundle and results again later.

Run summary

Proteins0
Co-folded partners0 Chains folded alongside every protein.
Ligands0 Each is run against every protein.
Pocket references0 No pocket constraint; ligands fold freely.
Apo structure references0 Predicted apo structures, for the apo-vs-holo comparison.
Predictions0

Build the bundle

The spec is validated and the target list generated before the bundle is written, so a problem with the campaign surfaces here rather than an hour into a run at your end.

Then, on the machine with the GPU

  1. Move the downloaded boltzmaker_<campaign>.command file to that machine, wherever you want the campaign to live. It unpacks into a folder beside itself.
  2. Run it. Double-click it in Finder, or from a terminal in that folder:
    sh ./boltzmaker_<campaign>.command
    It installs a pinned environment (a few GB the first time, cached afterwards), then generates, preflights, predicts and analyses the whole campaign. Boltz-2's model weights download on first use.
  3. When it finishes it writes one <campaign>.bmz file in that folder. Bring it back here for Step 2.

Safe to re-run: completed targets are skipped, so an interrupted campaign resumes rather than starting over. If it stops early it still packs whatever finished.

Go to Step 2 · Analysis →

The bundle is the only file you need to keep. It runs the campaign on your machine, and uploading it back at the top of this page brings the form back exactly as it is now — so you can add a ligand, change a pocket and download a new one without retyping anything. Everything you type here is also kept in this browser, so downloading a bundle, visiting Step 2 or reloading will not lose it. Step 2 is where you come back once the campaign has finished and you have a .bmz results file.