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/htdocs/goldenPath/help/query.html src/hg/htdocs/goldenPath/help/query.html
index 81f19c8f843..3a587371c96 100755
--- src/hg/htdocs/goldenPath/help/query.html
+++ src/hg/htdocs/goldenPath/help/query.html
@@ -30,31 +30,31 @@
   <li>
   Accession numbers</li> 
   <li>
   An mRNA, EST or STS marker</li> 
   <li>
   Keywords from the GenBank description of an mRNA</li> 
   <li>
   <a href="http://varnomen.hgvs.org/" target="_blank">HGVS</a> terms</li>
   <li>
   gnomAD variant IDs</li>
   <li>
   Exon positions: <code>SYMBOL exon N</code> or <code>SYMBOL:e.N[+/-offset]</code>
   (e.g. <code>TP53 exon 5</code>, <code>BRCA2:e.10</code>, <code>NM_000546:e.5+2</code>)</li>
   <li>
   Codon or nucleotide positions and ranges, with or without the amino acid letters
-  (e.g. <code>BRAF p.600</code>, <code>KAT6A p.495_533</code>, <code>KAT6A c.1483_1599</code>)</li>
+  (e.g. <code>BRAF 600</code>, <code>KAT6A 495-533</code>, <code>KAT6A c.1483_1599</code>)</li>
   <li>
   HGVS and accession searches on outdated RefSeq accession versions is available on hg38</li>
 </ul> 
 <p> 
 To specify a genome position:</p> 
 <ol> 
   <li>
   Select the desired clade, genome and assembly</li> 
   <li>
   Enter the desired query in the &quot;Position/Search Term&quot; box (see sample queries 
   below)</li> 
   <li>
   Click the &quot;Go&quot; button</li> 
 </ol> 
 
@@ -82,33 +82,40 @@
 </ul>
 <p>
 Exon numbering is 1-based and follows transcript order (exon&nbsp;1 is the 5&prime; exon).
 Genes are looked up in order: MANE, GENCODE/UCSC (knownGene),
 all RefSeq, then historical RefSeq. To jump to a codon instead, just enter it
 after the gene, e.g. <code>BRAF 600</code>, use the HGVS notation (see below), or
 right-click any transcript in the browser and select &ldquo;Zoom to
 codon&rdquo;.</p>
 
 <p>
 A codon or nucleotide number can also be given as a range, which is often what you want when a
 paper describes a variant or a domain that covers more than one codon. Write the two numbers with
 an underscore between them, as HGVS does: <code>KAT6A p.495_533</code> or
 <code>KAT6A c.1483_1599</code>. The amino acid letters are optional, so
 <code>KAT6A p.Lys495_Ser533</code> works as well, and an Ensembl or RefSeq transcript can stand in
-for the gene symbol, e.g. <code>ENST00000265713.8 p.495_533</code>. A hyphen does not mean a range:
-in HGVS, <code>c.1483-1599</code> is a position in the intron 1599&nbsp;bases before
-<code>c.1483</code>, and the Browser reads it that way.</p>
+for the gene symbol, e.g. <code>ENST00000265713.8 p.495_533</code>.</p>
+
+<p>
+For codons you can use a hyphen instead of the underscore, so <code>BRCA1 100-200</code> and
+<code>KAT6A p.495-533</code> both work. <b>This shortcut is for codons only.</b> After
+<code>c.</code> or <code>n.</code> a hyphen keeps its HGVS meaning, which is an intron offset
+rather than a range: <code>KAT6A c.1483-1599</code> is the single base 1599&nbsp;bases before
+<code>c.1483</code>, deep in the preceding intron, and the Browser takes you there. So
+<code>KAT6A 100-200</code> is a stretch of 101 codons, while <code>KAT6A c.100-200</code> is one
+base. If you mean a range of nucleotides, always use the underscore.</p>
 
 <h2>Sample queries</h2> 
 <p> 
 Below is a list of examples that might be used to query the Genome Browser. Note that not every 
 query listed here will produce a result in every assembly. The list serves only to illustrate the 
 different types of queries that can be performed.  
 <table border="1"> 
   <tr><th width="200">Query</th><th width="250">Genome Browser Response</th></tr> 
   <tr>
     <td>chr7</td>
     <td>Displays all of chromosome 7</td></tr> 
   <tr>
     <td>chr3:1-1000000</td>
     <td>Displays the first million bases of chromosome 3, counting from the p-arm telomere</td></tr>
   <tr>
@@ -185,39 +192,40 @@
     <a href="https://fusions.cancervariants.org/en/latest/" target="_blank">VICC Gene Fusion Specification</a>.
     Jumps to exon 5 of TP53, or to 2&nbsp;bp past the end / 3&nbsp;bp before the start of BRCA2 exon&nbsp;10
     (useful for splice site inspection). The <code>+N</code>/<code>-N</code> offset is optional.</td></tr>
   <tr id="HGVS">
     <td nowrap>NM_000310.4(PPT1):c.271_287del17insTT<br> NM_007262.5(PARK7):c.-24+75_-24+92dup<br>
     NM_006172.4(NPPA):c.456_*1delAA<br> MYH11:c.503-14_503-12del<br> 
     NM_198576.4(AGRN):c.1057C&gt;T<br> NM_198056.3:c.1654G&gt;T<br> NP_002993.1:p.Asp92Glu<br>
     NP_002993.1:p.D92E<br> BRCA1 Ala744Cys<br> BRCA1 A744C<br> LRG_100t1:c.4G>A<br> LRG_100t1:n.1<br>
     LRG_456p1:p.Ser190Leu<br>LRG_321:g.16409_16461del<br>ENST00000002596.6:c.-108-6848A&gt;G<br>
     ENSP00000005178.5:p.Val20Gly<br>
     chrX:g.31500000_31600000del<br> NR_111987:n.-1 <br> NM_015102.5:n.3038-2<br>
     NM_001372044:c.1528_1530del</td>
     <td>Displays the region that matches the <a href="http://varnomen.hgvs.org/" target="_blank">HGVS</a> 
         expression, usually in the format <tt>&lt;transcript or protein&gt;:&lt;position&gt; &lt;amino acid or nucleotide change&gt;</tt><br>If a gene symbol is used, HGVS search will try all RefSeq transcripts to find the nucleotide or amino acid at the position indicated in the expression. If there are multiple matches, a disambiguation page will be shown. If the RefSeq sequence differs from the genome sequence, then currently the search will use the genome, not the transcript, for codon counting and amino acid / nucleotide  comparison. Please contact us if this is inconvenient.</td></tr> 
   <tr id="codonRange">
-    <td nowrap>KAT6A p.495<br> KAT6A p.495_533<br> KAT6A p.Lys495_Ser533<br>
-    ENST00000265713.8 p.495_533<br> NM_006766.5 p.495<br> KAT6A c.1483<br>
-    KAT6A c.1483_1599<br> ENST00000265713.8 c.1483_1599</td>
+    <td nowrap>KAT6A p.495<br> KAT6A 495<br> KAT6A p.495_533<br> KAT6A 495-533<br>
+    KAT6A p.Lys495_Ser533<br> ENST00000265713.8 p.495_533<br> NM_006766.5 p.495<br>
+    KAT6A c.1483<br> KAT6A c.1483_1599<br> ENST00000265713.8 c.1483_1599</td>
     <td>A codon or nucleotide position, or a range of them, with no sequence change. The amino acid
-    letters are optional and the gene symbol can be replaced by a RefSeq or Ensembl transcript.
-    Note that the range separator is the underscore, as in HGVS; a hyphen means something else, so
-    <code>c.1483-1599</code> is read as a position in the intron 1599&nbsp;bases before
-    <code>c.1483</code>. A gene symbol with more than one transcript brings up a disambiguation
-    page.</td></tr>
+    letters are optional, a bare number after a gene symbol is read as a codon, and the gene symbol
+    can be replaced by a RefSeq or Ensembl transcript. Ranges of codons take either an underscore
+    or a hyphen; ranges of nucleotides take only the underscore, because after <code>c.</code> or
+    <code>n.</code> a hyphen is an HGVS intron offset, so <code>c.1483-1599</code> means the single
+    base 1599&nbsp;bases before <code>c.1483</code>. A gene symbol with more than one transcript
+    brings up a disambiguation page.</td></tr>
   <tr>
     <td>NM_198056.2:c.1A&gt;C</td>
     <td>An example of an HGVS search on a previous NM version that is now outdated.
         Support for previous NM accessions is only available on hg38.</td></tr>
   <tr>
     <td>1-55051215-G-GA</td>
     <td>Displays the region that matches the gnomAD variant ID, 1-55051215-G-GA</td>
 <!-- commented out -- not working 
   <tr> 
     <td>15q11;15q13</td>
     <td>bands 15q11 to 15q13, or SNPs rs1042522 and rs1800370. This syntax may also be used for 
     other range queries</td></tr> 
   <tr>
     <td>rs1042522;rs1800370</td> 
     <td>such as between uniquely determined ESTs, mRNAs, refSeqs, etc.</td></tr>