Installing block containers¶
Chaperone-authored code is MIT licensed. See the third-party notices for bundled AF3 code and example outputs. Each scientific tool, model weight, database, and external executable retains its own license and access requirements. A container recipe being present is not proof that its weights are public or that the model has been scientifically validated on your data.
Choose your site¶
Without a site file, Chaperone uses portable defaults and searches your
~/.chaperone/containers directory. Set CHAPERONE_CONTAINER_DIRS to a
colon-separated list to use another location. Supply an untracked .env.ipd
in the checkout root for existing IPD installations, or export CHAPERONE_SITE=digs
before running Python. A wheel installation also reads .env.ipd and .env.local
from the working directory. CHAPERONE_ENV_FILE can select an external dotenv file.
chaperone list-blocks
chaperone install # list available recipes and restrictions
chaperone install rfd3 --dry_run # inspect; does not clone, build, or write files
chaperone install rfd3 # builds the selected block's image
Choose CHAPERONE_CONTAINER_BACKEND=apptainer or docker in .env.local.
Build on a Linux machine compatible with your compute nodes, with enough local
scratch, internet access to the sources, and a suitable container builder.
Configure Slurm queues, account and GPU mapping separately in the
syntax guide.
Cloud (Modal) execution is available for compiled blocks; see cloud setup. Otherwise run with local or slurm using Docker or Apptainer.
Blocks default to buildable public-source recipes, including
colabfold_portable, rfdiffusion2_portable, foundry, and foundry_public.
They do not switch models or source checkouts when institutional files happen
to exist on the host. To use a prebuilt image, place it under its registered
recipe name in a directory listed in CHAPERONE_CONTAINER_DIRS. Use --force
for a deliberate rebuild.
For existing Digs installations, this also makes RFdiffusion2 default to the
public RFD_173.pt checkpoint rather than the formerly auto-selected private
RFD_140_ORI_tipatom.pt. Treat that as a model change when comparing runs;
configure ckpt_path explicitly when using another compatible checkpoint.
Recipe audit¶
The release checks render the source recipes for Docker and Apptainer, check shell syntax and local copy inputs, and exercise installer staging and site selection. That audit is static; not all images have been built or exercised. Validate one small workload on your cluster before scaling up.
| Recipes | Installation notes |
|---|---|
bindcraft2 |
Pinned PacesaLab implementation with JAX 0.11/CUDA 12 and bundled ProteinMPNN. AlphaFold2 weights use a writable cache or explicit af2_params_dir. See the binder guide for installation, supported inputs, and the upstream hosting-restricted license. |
foundry, foundry_public |
Foundry 1.0.0 at 54d188b3, AtomWorks 3.0.1 and Biotite 1.6.0 for RF3, RFD3, RFD3NA and FoundryMPNN. Configure FOUNDRY_CHECKPOINT_DIRS for predownloaded weights; otherwise registry names are used. FoundryMPNN equivalence to the mpnn block is not established here. |
rfoptimization |
Separate Foundry/Boltz2/LigandMPNN environments for iterative complex refinement, with the same Foundry 1.0.0 and AtomWorks 3.0.1 pins. See the input and checkpoint guide. |
proteina_complexa |
NVIDIA's protein binder generator with an isolated AtomWorks 2 environment. Download the two public model checkpoints and configure checkpoint_dir; see the binder guide. |
ligandmpnn |
dauparas/LigandMPNN source pinned to 26ec57ac976ade5379920dbd43c7f97a91cf82de, with all fifteen official checkpoints (every model_type and noise level, plus the side-chain packer) baked in and verified by SHA-256 at build time. The backend of the mpnn block. |
alphafold3 |
Source recipe available; model parameters require the upstream access process. |
esmfold2 |
Uses released esm==3.4.1.post1 and Torch 2.11/CUDA 13. The removed Transformers fork was unavailable. Check GPU/driver support and upstream model terms. Existing older IPD images keep their legacy import path. |
chai1 |
Blackwell recipe explicitly overrides chai_lab==0.6.1's torch<2.7 requirement with Torch 2.7.1/CUDA 12.8. Other dependencies resolve normally; the build's dependency check allows only this exact mismatch. This is not a clean pip check stack. |
rfdiffusion1 |
HTTPS source recipe; install the checkpoints and provide the configured weight path. |
rfdiffusion2_portable |
HTTPS source recipe. The RFD_173.pt checkpoint is downloaded during the build and checked against a pinned SHA-256; pass ckpt_path to use another file. |
colabfold_portable, simplefold |
Public source recipes with model downloads/caches configured separately. SimpleFold's CUDA apt repository matches its Ubuntu base. |
bindcraft, boltz2, boltzgen, disco, e1, esm2, metal3d, openfold3, protein_hunter, protenix, tmol |
Source recipes available. Consult the tool links in the block reference for checkpoints, databases, model licenses, hardware requirements, and task-specific settings. |
Docker builds use an isolated build context containing the recipe's declared scripts and source checkouts. Apptainer builds use the same declared inputs. Blocks mount configured model caches, inputs, and working directories. Explicit input mounts and mounts on supplied existing images remain required.
Upgrading an existing Foundry image¶
Updating Chaperone does not replace an already installed container. Rebuild it to move the four shared Foundry blocks to AtomWorks 3:
chaperone install foundry --force
# CPU-only installations:
# chaperone install foundry_public --force
The build checks the installed AtomWorks and Biotite versions, imports all four
model engines, and exercises RNA/DNA input parsing. RFOptimization and
Proteina-Complexa have separate recipes and dependency pins.
Native upstream RF3 inference disables the private residue-feature cache inherited
from upstream training configuration, making that behavior independent of host
filesystem contents. The pinned source also fixes RFD3NA generated contigs and
RF3 trajectory serialization with AtomWorks 3. Chaperone no longer rewrites
Foundry source or substitutes a trajectory entrypoint. These native fixes are
tracked in Foundry PR #406. Rebuild existing images
with chaperone install foundry --force (or foundry_public); for RFO use
chaperone install rfoptimization --force.
AtomWorks 3 validates ligand atom names against the Chemical Component
Dictionary (CCD). Ligands with custom atom names need their corresponding
chem_comp_atom and chem_comp_bond definitions in the input CIF. An atom-site-only
file can be usable by classic LigandMPNN yet fail this validation in Foundry.
Supply the component definitions or use a structure with canonical CCD names;
renaming atoms without a verified chemical mapping can change the model input.
For RFD3-to-FoundryMPNN chaining, Chaperone removes RFD3's virtual V0–V8
sidechain slots from UNK peptide residues in a staged CIF copy. Backbone and
real ligand atoms, custom component definitions, and the original input remain
intact; this does not disable AtomWorks' chemical-name validation.
Build on a host that permits Apptainer's build namespaces. A cluster login node
can permit Slurm submission while rejecting %post with Failed to set mount
propagation: Permission denied. On the tested CoreWeave cluster, the same
chaperone install command succeeded past this stage inside a compute allocation.
Use your site's approved build host or compute allocation and a shared
CHAPERONE_CONTAINER_DIRS directory. Changing GPU model names or adding CPU
resources does not repair a login-node namespace restriction.
Runs mount their active run directory and the working directory where the engine
was created. Launch from the project root, or set
CHAPERONE_CONTAINER_WORKSPACE=/absolute/project/root when source files and
inputs live elsewhere. Place referenced inputs beneath that root or configure
an explicit image bind for their location. Evaluation workers use their assigned
workspace instead of inferring a host project directory.
mpnn is the single LigandMPNN block. Install its image once with
chaperone install ligandmpnn; no settings are needed, because the image bakes
every official checkpoint. Within the block, model_type selects the model and
noise_level the checkpoint version (the backbone noise, in Angstrom, the model
was trained with); leaving noise_level unset uses the upstream default for the
model.
model_type |
noise_level |
Default | Checkpoints |
|---|---|---|---|
protein_mpnn |
0.02, 0.1, 0.2, 0.3 | 0.2 | proteinmpnn_v_48_{002,010,020,030}.pt |
ligand_mpnn (default) |
0.05, 0.1, 0.2, 0.3 | 0.1 | ligandmpnn_v_32_{005,010,020,030}_25.pt |
soluble_mpnn |
0.02, 0.1, 0.2, 0.3 | 0.2 | solublempnn_v_48_{002,010,020,030}.pt |
per_residue_label_membrane_mpnn |
0.2 | 0.2 | per_residue_label_membrane_mpnn_v_48_020.pt |
global_label_membrane_mpnn |
0.2 | 0.2 | global_label_membrane_mpnn_v_48_020.pt |
Requesting a combination that is not in this table is an error that lists the
valid ones. The membrane models take args.transmembrane_buried and
args.transmembrane_interface (per-residue) or args.global_transmembrane_label
(global); those options are rejected for any other model. Side-chain packing
(output_mode="structures") uses ligandmpnn_sc_v_32_002_16.pt, or a host file
given as args.checkpoint_path_sc.
mpnn stages PDB inputs for its pinned runner. It keeps the original CIF and parent links, remaps
fixed residues with chain names, and restores original chain identifiers in
compiled sequences or structures. Inputs must fit PDB's residue and component
identifier limits; coordinates use PDB precision. Residue-level bias requires
single-character input chain IDs; different per-input chain constraint mappings
require separate chunks. Integration checks do not establish scientific
equivalence between LigandMPNN and FoundryMPNN.
Some CPU blocks use host tools rather than a container. For example,
ligand_ddg needs Rosetta and, for its bundled Holes metric, DAlphaBall: set
ROSETTA_BIN and DALPHABALL_BIN. Its Rosetta protocol, flags, and bundled ligand
parameter files are included in the wheel and source distribution.
Chaperone host and agent runtime¶
containers/chaperone.def installs Chaperone with AtomWorks 3.0.1 and Biotite
1.6.0. The evaluation agent.def links to this same recipe. From the repository
root, build it with apptainer build --fakeroot chaperone.sif containers/chaperone.def.
Model containers and checkpoints are installed separately with chaperone install.
The Foundry 1.0 recipes fetch PR #404 and check out the exact revision above. Inference compatibility fixes and their regression tests live in Foundry. Chaperone installs the native source and checks its CLI contracts during the build.