dee539a713b5bbd6f552985f0349c375f7d06ed3
Where the data were merged in the enantiomorph of the model's space group, --model reindexed the observed reflections by change_of_hand_op(). That was wrong, and the anomalous site list added yesterday is what showed it. The two groups of an enantiomorphic pair differ only in the translations of their operations. Their rotations are identical, so they transform hkl identically, share a reciprocal ASU, and split into Bijvoet hands identically - to_asu_sign returns the same answer for either, verified over 200k random indices for all eight enantiomorphic families. The label therefore carries no handedness at all, and there was never anything about it to undo. What does carry the hand is the indexing the data already have, from the diffraction geometry, and with it the sign of every anomalous difference. change_of_hand_op is the inversion, so reindexing by it swapped I(+) with I(-): it did not correct the hand, it flipped it, on the strength of a label the space-group search itself reports as undetermined. So the model's group is now adopted as a label and no reflection moves. On a tetragonal reference dataset the site list goes from ten unrelated atoms at around 3 sigma to the two ordered halides at 15.6 and 10.3 sigma followed by the methionine and every cysteine sulfur at 6.6 to 7.3 - the correct map was there all along and the reindex was inverting it. Whether the model and the data agree about the hand is a real question, and now an answerable one: a map whose deepest hole at an atom is below -5 sigma and deeper than its highest peak says they disagree, and the run warns and names that atom. It is deliberately not repaired by reindexing, which would make the two agree by construction and destroy the evidence for which of them is wrong. Verified by mirroring a model: the warning fires naming the atom at -10.1 sigma, where the unmirrored model reads +10.1. R-free is identical to four decimals across that mirror, which is exactly why it could never have arbitrated this. MODEL_HAND_OPERATOR becomes MODEL_ENANTIOMORPH_ADOPTED, there being no operator to report. REPORT_VERSION stays 4: both that version and the MODEL VALIDATION section it describes were added in this same unreleased cycle, so no report carrying the old key has ever left it and there is nothing for a consumer to have depended on. The unmerged export follows only the indexing operator now, the enantiomorph being a label. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014zTy4Bpi4pPHw4bybf7q2R
Jungfraujoch
Application to receive data from the PSI JUNGFRAU and EIGER detectors.
All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.
Languages
C++
75.4%
HTML
7.5%
C
6%
TypeScript
4.2%
Cuda
2.2%
Other
4.6%