Commit Graph
2 Commits
Author SHA1 Message Date
leonarski_fandClaude Opus 5.5 eec8dcee9f battery: the wrong-model null as a CI step of its own (battery.py nullmodel)
The battery job ran the ci tier and the wrong-model null in one step with one exit status, so a red
job did not say which of the two failed. battery.py nullmodel runs the null on its own, in a run
directory whose report is just that section, and exits 1 when a pair failed; run --no-nullmodel keeps
it out of a --tier ci run. The workflow runs `run $SUBSET --no-nullmodel`, then (for a ci-tier run)
`nullmodel` as a separate step that runs whatever the first did, and keeps both reports. The ci tier's
own rows are unchanged; a plain `run --tier ci` still includes the null as before.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
2026-10-11 21:30:34 +02:00
leonarski_fandClaude Opus 5.5 0a3fadb9ef battery: wrong-model null step, run with every ci-tier run
A ci-tier run (or any run given --nullmodel) now also runs five ci-tier sets of the open arm
(8u0i, 6iu5, 9khr, 9b22, 6pxc) once without --model and once with each of five WRONG models,
the deposited coordinates of other open-arm entries (already in the pdb_cache, so no new data):
similar size, sequence identity under 25%, gesamt Q-score at most 0.20, one hard-ish model of
the same secondary-structure class per set, one in the same space group or a similar cell, and
for the two enantiomorphic sets one in the other enantiomorph. nullmodel.json records every
model's size, identity, Q-score and reason.

Each wrong-model run is scored against the no-model run (nullmodel.py): (a) p.hkl, the p.mtz
reflections and p.cif identical, (b) no KEY= line outside MODEL VALIDATION moved, (c) MODEL_FIT
not ACCEPTED, no decision taken, CC_MODEL_CONFIRMED_TO_D_MIN NONE and R_free >= 0.50 (Wilson's
random-structure R is 0.586 acentric). The pairs go to nullmodel_results.json and a report
section of their own; the sets' own rows are untouched. A failed pair fails the run, and the
Gitea battery workflow prints the section into the job log.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EizBKhTqrAYago9KJG3dA3
2026-10-11 11:50:21 +02:00