[us-commits] [ehb54/ultrascan3] d67f25: SOMO: robust automatic Guinier range search (autor...
emre brookes
noreply at github.com
Mon Sep 14 14:54:13 MDT 2026
Branch: refs/heads/ehb54-issue-1063
Home: https://github.com/ehb54/ultrascan3
Commit: d67f2528dc30e4ab2606d603a960bb978c599e9d
https://github.com/ehb54/ultrascan3/commit/d67f2528dc30e4ab2606d603a960bb978c599e9d
Author: Emre Brookes <emre.brookes at umontana.edu>
Date: 2026-09-14 (Mon, 14 Sep 2026)
Changed paths:
M us_somo/develop/include/us_saxs_util.h
A us_somo/develop/include/us_saxs_util_autorg.h
M us_somo/develop/libus_somo.pro
A us_somo/develop/src/us_saxs_util_autorg.cpp
M us_somo/develop/src/us_saxs_util_pm.cpp
M us_somo/develop/us_saxs_cmds_mpi/us_saxs_cmds_mpi.pro
M us_somo/develop/us_saxs_cmds_mpi_cuda/us_saxs_cmds_mpi_cuda.pro
M us_somo/develop/us_saxs_cmds_t/main.cpp
M us_somo/develop/us_saxs_cmds_t/us_saxs_cmds_t.pro
Log Message:
-----------
SOMO: robust automatic Guinier range search (autorg) core and headless CLI
New US_Saxs_Util::autorg() (us_saxs_util_autorg.cpp) with US_Autorg_Params /
US_Autorg_Result: cleans the curve, bounds the search by a preliminary Rg from
the longest valid low-q window, enumerates every window subject to minpts /
maxpts / q*Rg / Rg limits, slope significance and a minimum q*Rg span, scores
windows by a weighted geometric mean of reduced chi2, quadratic curvature,
q*Rg span, coverage (off by default), consistent-skip start penalty, forward
consistency over the q*Rg <= qrgmax region and consensus with the quality
weighted median Rg, then reports Rg and I(0) with SDs, the window, quality,
a low-q z-score with aggregation / repulsion flags and the Rg spread over the
top windows. Optional outlier rejection. Every parameter is settable.
read_iq_flexible() reads 2 or 3 numeric columns from any text file, skipping
non-numeric header / footer lines, and sorts unsorted q with a warning.
CLI: "us_saxs_cmds_t autorg [--json] [--key value ...] file ..." and the
"autorg" run type of "us_saxs_cmds_t json" (files [...] or inline q / i / e
arrays) returning one JSON object per curve.
Existing guinier_fit* routines are untouched.
Refs ehb54/ultrascan-tickets#1063
Co-Authored-By: Claude Fable 5.1 <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