[us-commits] [ehb54/ultrascan3] 5a3784: extrap_c0 CLI: warn + auto-repair non-positive inp...
emre brookes
noreply at github.com
Thu Jul 16 12:56:01 MDT 2026
Branch: refs/heads/ehb54-issue-920
Home: https://github.com/ehb54/ultrascan3
Commit: 5a37845a6354c292be6fa3a219622cb3a4847013
https://github.com/ehb54/ultrascan3/commit/5a37845a6354c292be6fa3a219622cb3a4847013
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-07-16 (Thu, 16 Jul 2026)
Changed paths:
M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0.cpp
M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0_script.cpp
Log Message:
-----------
extrap_c0 CLI: warn + auto-repair non-positive input SDs (all-or-nothing errors)
A single non-positive SD point (commonly a grid edge in deposited SAXS data)
makes SOMO disable that curve's errors entirely -- error handling is
all-or-nothing by design -- silently forcing an unweighted extrapolation.
This surfaced as materially different, sometimes nonsensical, benchmark results
vs a weighted reference.
Rather than change the shared all-or-nothing convention, handle it in the
extrap-c0 scripted flow only:
- Always warn (non-blocking stdout log -- never a pop-up, so headless runs
don't hang) which input curve carries how many non-positive SD points.
- fill_sd directive (default on): repair each non-positive SD from its nearest
positive-SD neighbour before loading, but only when the positive SDs are the
majority (a mostly/all-zero curve has no real errors to draw from and is left
as-is). Since the dialog already offers "Weight regression by curve errors"
(i.e. turn SDs off), auto-repair is a safe default; set fill_sd 0 to reproduce
the raw unweighted result. Headers (incl. Conc:) are preserved.
- This is folded into the existing pre-load common_crop preprocessing.
do_extrap_c0: the "no usable error" note now explains the likely cause
(non-positive SD points disabling a curve's errors) and points at the
weighting-off option. It uses editor_msg (non-blocking), matching the existing
scripted-run pop-up guard.
Validated on the SASBDB Table-1 additive benchmark: lysozyme (3 edge zeros) now
warns, fills, and fits weighted; glucose isomerase went from no output to a
sensible Rg. (RNaseA/xylanase/urate-oxidase failures are separate low-q
data-quality issues, not SD/grid bugs.)
Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications
More information about the us-commits
mailing list