Files
Jungfraujoch/tools/battery/site.example.json
T
leonarski_fandClaude Opus 5.5 f99ed0b5ac battery.py timing: a three-set benchmark placed by molecular replacement, checked and timed per step
`battery.py timing --rugnux BIN` runs myob_x10sa and cytc_x10sa from their AlphaFold DB
predictions (AF-P68082-F1 and AF-P62894-F1, v6, committed verbatim with their predicted
aligned error under tools/battery/models/, CC BY 4.0) and 4nwv from its deposited model with
strict NCS expanded and moved by a fixed rigid-body transform (30 deg about (0.36, 0.48, 0.80)
through the centroid, shift (12, -18, 25) A), made at run time from the site's pdb_cache. Each set
runs the battery's own command for its arm, in an ordinary run directory, so the site config,
results.json, report, table and compare all apply.

A set passes when the battery's own verdict passes, MODEL_PLACEMENT is MR, MR_SPACE_GROUP is the
expected group with its hand, R_FREE is under its limit, CC_MODEL_CONFIRMED_TO_D_MIN is not NONE,
and the placed model's intensities correlate with the reference model's (|F|^2, shell-normalised,
10-4 A, best over the lattices' changes of basis) at 0.30 or more. That last check is independent
of rugnux's scores: correct placements give 0.55 / 0.90 / 0.96; the myoglobin placement turned by
30 deg with rugnux's report unchanged gives 0.035, the unplaced 4nwv start model 0.011, a
placement relabelled to the other hand 0.18. Rows carry the checks and the per-step times from the
TIMING step lines; the report gets a Timing benchmark section; the run exits 1 on any failure.

On the workstation (RTX 5080, rc175 8eacce): myoglobin passes in 10 s (R-free 0.44), 4nwv in 106 s
(MR 34 s, R-free 0.315 against 0.297 for the deposited placement). Cytochrome c fails: MR places
three copies of the monomer in both P 32 2 1 and P 31 2 1 within 0.03 in R-free and so places
neither (MR_DECISION UNDECIDED), where the three-copy reference model decides the hand at once.

battery.py now imports fcntl only for the full-run lock, falls back to Popen.kill where there are
no process groups, and keeps the binary's extension in the run directory, so a timing run can work
on Windows (untried there).

Licence and credit: licenses/alphafold-db.txt (from models/LICENSE.txt via COLLECT.sh), a new
"Data files in the repository" table in THIRD_PARTY_NOTICES.md, and the AlphaFold DB with Jumper
et al. 2021 and Varadi et al. 2022 and 2024 in docs/ACKNOWLEDGEMENT.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 09:01:46 +02:00

17 lines
709 B
JSON

{
"_comment": "Copy to site.json beside battery.py (not committed), or anywhere and point JFJOCH_BATTERY_SITE at it. Paths are absolute; a relative manifest resolves against tools/battery/.",
"runs_root": "/path/to/battery/runs",
"lock_file": "/path/to/battery/full_run.lock",
"gpulock": null,
"baseline": null,
"baseline_private": null,
"baseline_timing": null,
"pdb_cache": "/path/to/battery/pdb_cache",
"cod_cache": "/path/to/battery/cod_cache",
"shelxl": null,
"arms": {
"open": {"manifest": "open.json", "reference": "deposition", "data_root": "/path/to/battery/open"},
"inhouse": {"manifest": "inhouse.json", "reference": "xds", "data_root": "/path/to/battery/inhouse"}
}
}