sox9a / sox9b / human SOX9 region identity

Script: region_identity.py (run from repo root with
uv run python genes/DANRE/sox9a/sox9a-bioinformatics/region_identity.py).
Input: cached UniProt flat files for Q9DFH2 (sox9a), Q9DFH1 (sox9b) and P48436
(human SOX9). Global alignment, BLOSUM62, gap open -10 / extend -0.5 (same
settings as projects/DANRE_DUPLICATION/scripts/compare_pair.py). Region
boundaries are taken from the first sequence's UniProt HMG-box feature.

Output (2026-09-27):

sox9a: length 462, HMG box (107, 175), C-terminal 10 aa QPVYTQLSRP
sox9b: length 407, HMG box (91, 159), C-terminal 10 aa QPVYTQLSRP
SOX9: length 509, HMG box (105, 173), C-terminal 10 aa QPVYTQLTRP
Pair Whole protein N-term (before HMG) HMG box C-term (after HMG)
sox9a vs sox9b 61.3% (478 cols) 62.6% (107 cols) 98.6% (69 cols) 52.3% (302 cols)
sox9a vs SOX9 70.2% (521 cols) 81.3% (107 cols) 98.6% (69 cols) 61.2% (345 cols)
sox9b vs SOX9 56.8% (521 cols) 61.9% (105 cols) 98.6% (69 cols) 47.0% (347 cols)

Interpretation