a37d4ffb473b6ebf6c66545f2b7d5f7eef35ef4b
max
  Fri Apr 10 03:00:33 2026 -0700
Color strVar subtracks by expected heterozygosity instead of motif period, fix hgTrackUi filter label truncation, refs #36652

Change all four strVar subtracks (webstr, tommoStr, trexplorer, viennaVntr) from
motif-period-based coloring to expected heterozygosity (het = 1 - sum(p_i^2)),
using a blue-to-red heat map: dark blue (het<0.1) through medium blue, light
purple, salmon, to dark red (het>=0.7). Add het as a filterable bigBed field with
scoreFilter and filterByRange on each track. Update mouseOver, track docs, and
makedoc. Also fix hgTrackUi to strip the "|..." suffix from autoSql comments
when displaying numeric filter labels.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

diff --git src/hg/makeDb/scripts/tommoStr/tommoStr.as src/hg/makeDb/scripts/tommoStr/tommoStr.as
new file mode 100644
index 00000000000..5c6c0cb6673
--- /dev/null
+++ src/hg/makeDb/scripts/tommoStr/tommoStr.as
@@ -0,0 +1,21 @@
+table tommoStr
+"ToMMo 61KJPN Short Tandem Repeat allele counts from Expansion Hunter"
+    (
+    string chrom;        "Chromosome"
+    uint chromStart;     "Start position"
+    uint chromEnd;       "End position"
+    string name;         "Repeat motif x copy count"
+    uint score;          "Score (0-1000)"
+    char[1] strand;      "Strand"
+    uint thickStart;     "Thick start (same as chromStart)"
+    uint thickEnd;       "Thick end (same as chromEnd)"
+    uint reserved;       "Item color RGB|by motif size: mono=red, di=blue, tri=green, tetra=orange, penta=purple, hexa=steelblue, >6=gray"
+    string motif;        "Repeat unit motif"
+    uint period;         "Length of repeat unit in bp"
+    uint numCopies;      "Number of repeat copies in reference"
+    float mean;          "Mean repeat count|Mean repeat copy number across all samples"
+    float median;        "Median repeat count|Median repeat copy number across all samples"
+    uint numAlleles;     "Number of alleles called|Total number of alleles (AN)"
+    float het;           "Expected heterozygosity|1 - sum(p_i^2) computed from allele counts"
+    lstring alleleHist;  "Allele count histogram|Space-separated pairs of copies=count (e.g. 3=100 4=5000 5=200)"
+    )