rugnux_vs_xds.py gates every rotation change in this project. Nothing gates a stills change, so until now one could not be validated at all - which is why the background-ring width below had to be measured before it could be argued about. The rotation harness does not transfer. A stills dataset is one file of 100k-500k images with no per-crystal reference, the space group is known in advance and never in question, and what a change moves is the merge. So this asks a different question - did this make stills data better or worse - by running rugnux over the same fixed image subset under two or more argument sets and tabulating the merge per resolution shell. Three things it does on purpose. It pins the resolution range per dataset so both arms share shell edges: without that the automatic cut-off moves between arms and the columns are not the same shells, which happened on two of seven datasets. It fixes and prints the image subset, contiguous rather than strided because a stride turns one sequential read into ten thousand seeks. And --repeat measures the control floor, which on six of seven datasets is bit-identical in every column of every shell. It reads the stable interfaces - the report's KEY= value lines and the mmCIF _reflns block and _reflns_shell. loop. The one console-log number, how many predicted reflections lost their background ring, is labelled as such; it is there because it is the only place the price of a wider ring is counted. A CrystFEL stream can be scored alongside as an optional reference, keyed on the global image serial number - Event: //N restarts at zero in every file and silently multiplies the count. No dataset list is shipped. A dataset directory name identifies a sample, and so does a run label or a pump-probe parameter in a filename, so the table committed here is a template carrying the reasoning and no paths. A real one belongs in a config kept outside the repository, which is why --config is required and has no default. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CHMmeM1d489zvNFT7ZMN2P
1.8 KiB
1.8 KiB
| 1 | # Dataset table for rugnux_stills_ab.py -- TEMPLATE. |
|---|---|
| 2 | # |
| 3 | # Columns: |
| 4 | # alias master.h5 start end stride dmin dmax [extra rugnux args] |
| 5 | # |
| 6 | # This file ships with NO real dataset paths, and none should be added to it. A dataset |
| 7 | # directory name identifies a sample, and so does a run label or a pump-probe parameter in a |
| 8 | # filename. Keep your own table outside the repository and point the harness at it: |
| 9 | # |
| 10 | # ./rugnux_stills_ab.py --config ~/my_stills_datasets.tsv --workdir /somewhere ... |
| 11 | # |
| 12 | # --config is a required argument with no default, so nothing depends on this file existing. |
| 13 | # |
| 14 | # Filling a row: |
| 15 | # alias a neutral label; it is what appears in the results table. Not the sample. |
| 16 | # dmin pin it, do not leave it to the automatic cut-off. Run a calibration pass on the |
| 17 | # exact subset first and take the FINER of the two arms' cc-logistic cut-offs, so the |
| 18 | # pin clips neither arm and the shell edges - uniform in 1/d^2 between dmax and dmin - |
| 19 | # are identical in both. Without this the cut moves between arms and the columns being |
| 20 | # compared are not the same shells. |
| 21 | # dmax 50, the value XDS configurations use and rugnux's own --scaling-low-resolution default. |
| 22 | # subset contiguous (stride 1), not strided: on a spinning disk a stride turns one sequential |
| 23 | # read into ten thousand seeks. |
| 24 | # -C/-S pin the cell and space group so neither arm can differ by having indexed a different |
| 25 | # lattice. For plain lysozyme, the field's standard test specimen, the reference cell |
| 26 | # 79.1,79.1,37.9,90,90,90 in P4(3)2(1)2 (-S 96) is the usual choice. |
| 27 | # |
| 28 | # Example row, with the path left as a placeholder to be filled in locally: |
| 29 | # |
| 30 | # still_a /path/to/your/dataset_master.h5 0 10000 1 1.66 50 -C 79.1,79.1,37.9,90,90,90 -S 96 |