[us-commits] [ehb54/ultrascan3] c4bced: perceiver: fix the ionization index, respect the 2...
emre brookes
noreply at github.com
Wed Aug 12 09:01:57 MDT 2026
Branch: refs/heads/ehb54-issue-980
Home: https://github.com/ehb54/ultrascan3
Commit: c4bced72a8e5f15e3372a0ae7faaf2ef444fb0f9
https://github.com/ehb54/ultrascan3/commit/c4bced72a8e5f15e3372a0ae7faaf2ef444fb0f9
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-08-12 (Wed, 12 Aug 2026)
Changed paths:
M us_somo/develop/src/us_hydrodyn_perceive.cpp
M us_somo/develop/src/us_hydrodyn_perceive_dialog.cpp
Log Message:
-----------
perceiver: fix the ionization index, respect the 2-pKa limit, reword the total
Accepting a citrate entry failed with "Duplicate ionization index". Three separate
constraints in the residue-file format, none of which the emitter was honouring:
1. the ionization index must be UNIQUE within a residue. Every ionizable atom was
written with index 1, so citrate's second carboxyl collided. Now counts from 1.
2. the header is a vbar followed by one (vbar, pKa) PAIR per ionization, and each
atom's index must match a declared pKa, which it then consumes. Only one pair was
being written no matter how many atoms were ionizable.
3. at most TWO are supported -- the loader rejects a third outright. Citrate has
three carboxyls and simply cannot be written in two states.
For (3) the entry now collapses to the single state that is true at pH 7, the
deprotonated one, applied to the primary fields so the TYPES and the WATERS agree --
unlike the original bug, where the types were neutral and the waters ionized. The
REVIEW block says the entry is not pH-switchable and why. Silently emitting a record
the loader refuses is the one option not on the table.
Verified both paths: a single-carboxyl residue emits ASP's exact shape (header
"0.593 0.593 3.67", one 16-field line at index 1); citrate emits 8-field lines with
O1H0- and 5 waters, and the collapse note.
Hydration total reworded as Mattia reads it -- "16 waters proposed, 1 for non-ionized
and 15 for ionized atoms" -- split by atom category rather than by state, and
coloured, since it is the number most worth checking.
Tests unchanged: unit 86/0, hydration 37/0, psv 60/0, regression 97.894% exact.
Co-Authored-By: Claude Opus 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