[us-commits] [ehb54/ultrascan3] 3bad99: perceiver: protein atom names win over two-letter ...
emre brookes
noreply at github.com
Mon Aug 10 09:13:29 MDT 2026
Branch: refs/heads/ehb54-issue-980
Home: https://github.com/ehb54/ultrascan3
Commit: 3bad992100c7ec2c1c17f27ca04051e89f8f3417
https://github.com/ehb54/ultrascan3/commit/3bad992100c7ec2c1c17f27ca04051e89f8f3417
Author: ehb54 <brookes at uthscsa.edu>
Date: 2026-08-10 (Mon, 10 Aug 2026)
Changed paths:
M us_somo/develop/include/us_hydrodyn_perceive_elements.h
M us_somo/develop/perceiver/tests/tests_unit.cpp
Log Message:
-----------
perceiver: protein atom names win over two-letter elements
Keying element inference on the residue name alone broke modified residues --
the very population this feature exists for. MSE, PTR, CGU and any renamed
residue carry protein atom names (CA, CB, CD, NE) under a NON-standard
residue name, so they took the ligand branch and every backbone CA became
CALCIUM. That changed the hybrid, the radius, the grid volume and the
hydration as well as the psv: alanine came back as vbar 0.171, molvol 83.9,
hydration 4.0 instead of 0.739 / 87.4 / 1.0.
Caught by re-running the 20-residue comparison rather than trusting the unit
tests, which used real residue names and so never entered that branch.
Resolution order is now explicit:
1. lone ion atom name == residue name ("CA" in residue "CA")
2. standard residue leading letter
3. protein atom name leading letter, whatever the residue is called
4. two-letter element FE, CL, SE, BR, CU, ZN, MG
5. leading letter
Step 3 is the one that makes modified and renamed residues work, and it is
why "SE in MSE" still resolves to selenium while "CA in MSE" resolves to
carbon: the collision set is atom NAMES, not residues.
86 checks, 0 failures, with MSE/PTR/CGU/renamed cases in the suite.
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