[us-commits] [ehb54/ultrascan3] 7e3661: perceiver: add "perceive build" so bead-build defe...
emre brookes
noreply at github.com
Sun Aug 9 06:55:21 MDT 2026
Branch: refs/heads/ehb54-issue-980
Home: https://github.com/ehb54/ultrascan3
Commit: 7e3661c0620004e21e075917ee94597e3e5e1daf
https://github.com/ehb54/ultrascan3/commit/7e3661c0620004e21e075917ee94597e3e5e1daf
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-08-09 (Sun, 09 Aug 2026)
Changed paths:
M us_somo/develop/perceiver/README.md
M us_somo/develop/perceiver/examples/perceive.somo
M us_somo/develop/src/us_hydrodyn_load.cpp
M us_somo/develop/src/us_hydrodyn_script.cpp
Log Message:
-----------
perceiver: add "perceive build" so bead-build defects are testable headlessly
"perceive apply" cannot cover the model builder. A clean load takes calc_mw(),
not the excluded-volume path, so the somo.atom lookup -- and anything else
that only bites at bead-build time -- was exercised solely by clicking
through the GUI. That is how the atom-table skip reached the user in the
first place.
perceive build [somo|somo_o|vdw|grid|a2b] <pdb>
is apply plus what the user does next: select the model, call the same
function the button does (calc_somo / calc_somo_o / calc_vdw_beads /
calc_grid_pdb), report the bead count, and FAIL the script if the build
fails or yields no beads. vdw is the sharpest of the four for a perceived
residue: it relies on atomic hydration, which the perceiver only proposes.
Two things this immediately caught in the harness itself:
- Counting bead_models[current_model] reported 0 beads for a build that had
plainly succeeded (rc 0, three overlap-reduction stages, a written bead
model). The build walks current_model as its loop variable and leaves it
ONE PAST the last model, so that index is out of range right afterwards.
Count bead_model, the model just built.
- ensure_atom_entry's report went out through editor_msg(), which only ever
writes to the GUI text widget -- so in a gui_script run the substitution
was completely silent, and its absence from a log proved nothing. It now
also goes to stdout. A silent substitution is the same defect class as the
silent skip it replaces.
Verified on 1MBO/2CMD against the reference tables: the fallback fires once
during the first build ("atom table: S (S) is not in the atom table; using
the hybrid match ... 19.86 A^3") and all four methods build --
somo 305, somo_o 305, vdw 1267, grid 331 beads. The 305 matches the count
from the user's GUI session.
Docs record that a script using "perceive build" must set "somo overwrite"
first -- without it the bead-model write calls setSomoGridFile(), which
raises a modal dialog and hangs a headless run (batch suppresses those
prompts, a gui_script does not) -- and that there is no equivalent flag for
the hydrodynamic calculations.
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