0f23d17640ca30e2c9ee456c7e15966cabd3bc57
max
  Mon Sep 7 23:32:24 2026 -0700
Position box: let a hyphen separate a range of codons, e.g. "BRCA1 100-200"

A bare number after a gene symbol has always meant a codon, and "KAT6A 495-533"
was already accepted -- it just landed on codon 495 and dropped the rest, the
same silent truncation that the underscore form had. A hyphen now separates a
range wherever the coordinates are protein: after a gene symbol with no prefix,
and after an explicit p. with a symbol or a transcript accession.

The hyphen stays out of c. and n. terms, where HGVS already uses it for an
intron offset. KAT6A c.1483-1599 is still the single base 1599 nt before
c.1483, not codons 1483 to 1599, and there are now regression tests pinning
both readings so the two do not drift into each other.

refs #38285

diff --git src/hg/lib/tests/expected/hgvs/validTerms.txt src/hg/lib/tests/expected/hgvs/validTerms.txt
index a29a90f8c10..04aae108e3a 100644
--- src/hg/lib/tests/expected/hgvs/validTerms.txt
+++ src/hg/lib/tests/expected/hgvs/validTerms.txt
@@ -42,15 +42,26 @@
 chr3	38555661	38555664	NM_198056.3:pArg1512Trp	0	-
 
 chr20	33443333	33443334	NM_003098.2:c.287G>C	0	-
 chr17	43093299	43093300	NM_007294.3:c.2231C>A	0	-
 chr17	43093299	43093300	NM_007294.3(BRCA1):c.2231C>A	0	-
 
 # Bare codon numbers and ranges of codon numbers, refs #38285
 chr8	41955408	41955411	KAT6A p.495	0	-
 chr8	41949362	41955411	KAT6A p.495_533	0	-
 chr8	41949362	41955411	KAT6A p.Lys495_Ser533	0	-
 chr8	41955408	41955411	NM_006766.5 p.495	0	-
 chr8	41949362	41955411	NM_006766.5 p.495_533	0	-
 chr8	41955408	41955411	ENST00000265713.8 p.495	0	-
 chr8	41949362	41955411	ENST00000265713.8 p.495_533	0	-
 chr8	41949362	41955411	KAT6A c.1483_1599	0	-
+chr8	41955408	41955411	KAT6A 495	0	-
+chr8	41949362	41955411	KAT6A 495_533	0	-
+# A hyphen is a range separator in protein coordinates only, refs #38285
+chr8	41949362	41955411	KAT6A 495-533	0	-
+chr8	41949362	41955411	KAT6A p.495-533	0	-
+chr8	41949362	41955411	NM_006766.5 p.495-533	0	-
+chr8	41949362	41955411	ENST00000265713.8 p.495-533	0	-
+# ...but in c. and n. terms a hyphen is still an intron offset, not a range:
+# this one must stay a single base 1599 nt before c.1483, not codons 1483..1599
+chr8	41957009	41957010	KAT6A c.1483-1599	0	-
+chr8	42049489	42049490	KAT6A n.100-200	0	-