From 685c56217439778ed89e6b1e9f102e8d2cf6933f Mon Sep 17 00:00:00 2001 From: Filip Leonarski Date: Thu, 27 Aug 2026 16:04:52 +0200 Subject: [PATCH] rugnux: the unmerged MTZ is written on request again, not on every run 0fed51f76 made _unmerged.mtz default-on so a run that turned out to need it would not have to be repeated. It costs more than that is worth: measured on a dense rotation dataset, it adds 2.6 s to a 7.0 s --mode scale run (+38%) and writes 272 MB - larger than the merged .mtz, .cif and .hkl put together, and paid by every run whether or not anything will read it. --export-unmerged asks for it again. --no-export-unmerged stays accepted and now does nothing, the mirror of what --export-unmerged did while the default was on. The two fixes that came with the default-on change are kept: the file is written in --mode mx and --mode scale and with --no-merge, and both write sites are guarded on the output prefix, so a prefix-less run no longer writes a file called "_unmerged.mtz". Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_016L1qig74oYQzfUJJZbbxFh --- docs/RUGNUX.md | 21 +++++++++++---------- rugnux/Rugnux.h | 6 ++++-- rugnux/rugnux_cli.cpp | 6 +++--- 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/docs/RUGNUX.md b/docs/RUGNUX.md index d3d24325..c8ed84f1 100644 --- a/docs/RUGNUX.md +++ b/docs/RUGNUX.md @@ -245,8 +245,8 @@ rugnux -o quicklook -e 200 dataset_master.h5 # merge as usual, but also keep the per-image file so the data can be re-merged later rugnux -o myrun --write-process-h5 dataset_master.h5 -# skip the unmerged MTZ, which is otherwise written alongside the merged files -rugnux -o myrun --no-export-unmerged dataset_master.h5 +# also write the unmerged MTZ, to scale and merge the observations with another program +rugnux -o myrun --export-unmerged dataset_master.h5 # check the merged data against a known structure: R-work / R-free and maps rugnux -o myrun --model model.pdb dataset_master.h5 @@ -401,9 +401,9 @@ reusing them would hide the spot-finding settings from the lattice search. from systematic absences** (constrained to the indexed lattice symmetry). - `_unmerged.mtz` — the integrated observations *before* merging, as an unmerged MTZ in POINTLESS's column layout, so the data can be scaled and merged by **aimless**, **pointless**, - **careless** or `iotbx.merging_statistics` instead of by rugnux. Written by default, alongside the - merged files and with `--no-merge` too; `--no-export-unmerged` turns it off. See - [The unmerged export](#the-unmerged-export) below. `--export-unmerged-partials` additionally writes + **careless** or `iotbx.merging_statistics` instead of by rugnux. Written when `--export-unmerged` + asks for it, alongside the merged files and with `--no-merge` too. See + [The unmerged export](#the-unmerged-export) below. `--export-unmerged-partials` writes `_unmerged_partials.mtz`, one row per image, instead of summing. - `_report.txt` — the **results report**: what the run determined, in a form both a person and a beamline script can read. Always written, next to the files above. See @@ -459,9 +459,10 @@ expect. Two properties worth knowing before using it: `_unmerged.mtz` holds every integrated observation, before scaling and merging, in the column layout POINTLESS writes and **aimless**, **pointless**, **careless** and `iotbx.merging_statistics` -read. It is written by default, in `--mode mx` and `--mode scale` alike and with `--no-merge` as -well, and it replaces nothing — rugnux still writes its own merged files in the same run. It needs an -output prefix (`-o`), and `--no-export-unmerged` turns it off. +read. `--export-unmerged` asks for it, in `--mode mx` and `--mode scale` alike and with `--no-merge` +as well, and it replaces nothing — rugnux still writes its own merged files in the same run. It needs +an output prefix (`-o`). It is off by default because it is the largest file a run produces, larger +on a dense rotation dataset than the merged `.mtz`, `.cif` and `.hkl` put together. Use it to scale the data with a different program, to have pointless give an independent opinion on the space group, or to compare rugnux's merge against another one on identical input. @@ -1011,8 +1012,8 @@ Scaling and merging: | `--reference-column