Skip to content

Residue-resolved hydration shell: weight Voronoi/SASA water dummies by MD-derived per-amino-acid affinity #9

Description

@mlund

Summary

Generalise the Voronoi (and SASA) hydration-shell dummy weights from pure
geometry to a residue-resolved hydration contrast, seeded from
MD-derived per-amino-acid hydration data.

Motivation

All current SAXS calculators (CRYSOL, FoXS, Pepsi-SAXS, AUSAXS) — and
pripps today — model the hydration shell with a single uniform contrast
parameter
(c2 / contrast_density). But the first water layer is not
uniform: Linse, Fischbach & Hub (bioRxiv 2025.06.10.658889) rank the 20
amino acids by hydration-shell density and find acidic residues
(Asp/Glu) generate the strongest excess
(~+1 to +1.5 waters relative to
Ala), cationic/polar residues a milder excess, and apolar residues a
depletion layer
(locally below bulk). This chemical texture is exactly
what a uniform shell cannot represent.

Proposal

Generalise the per-dummy weight:

weight_i = (V_i / V_water) * a(residue_i)

where a(·) is a per-residue (or per-atom-kind) hydration affinity:
a > 1 for acidic, mild > 1 for cationic/polar, a < 1 (toward local
negative contrast) for apolar; anchor a(ALA) = 1. Seed the default table
from Linse et al. 2025.

Parameter economy (important): fix the relative table and keep the
single global c2 as the overall scale. The shell becomes chemically
textured at no extra fitted parameter — this is not a 20-dim free
vector (that would overfit).

Why it fits pripps specifically

  • The Voronoi hydration dummies already carry parent_index
    (voronota-ltr SolventSphere), and pripps atom kinds already encode
    residue context (e.g. ASP:OD, LYS:NZ). Each surface water already
    knows its residue
    — the hook exists, it just isn't used in
    src/solvent/voronoi_hydration.rs (weights are currently
    s.weight / WATER_VOLUME only).
  • Natural API: optional hydration_weight: 1.0 field per species in the
    form-factor YAML, read by the Voronoi/SASA hydration models. Keeps the
    user-editable ethos and extends to CG (per-bead Martini hydration
    affinities).
  • Geometric Voronoi placement answers where the water sits and how much
    volume
    it occupies; the Linse table answers how strongly it deviates
    from bulk
    . FoXS atom-centred SASA dummies / Pepsi grid cells lack a
    clean per-surface-water residue handle; the discrete Voronoi waters have
    it — so the two ideas compound.

Validation before claiming anything

  • Compare uniform-c2 Voronoi shell vs Linse-weighted Voronoi shell on the
    SASBDB benchmark; report χ² improvement and where it concentrates
    (highly charged proteins, IDPs such as Hub's XAO peptide).
  • Demonstrate the weighted shell uses the same single fitted c2 — any
    improvement comes from chemistry, not extra free parameters.

Caveats

  • Linse scores are explicit-solvent, water-model- and force-field-dependent,
    and defined relative to alanine; transferring them to a dummy-contrast
    amplitude is an approximation that needs calibration, not a
    first-principles mapping.
  • Source is currently a preprint — recheck for the peer-reviewed version.

References

  • Linse, J.-B., Fischbach, T. M. & Hub, J. S. (2025). Hydration shells of
    globular and intrinsically disordered proteins…
    bioRxiv
    2025.06.10.658889.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions