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/viennaVntr/viennaVntr.as src/hg/makeDb/scripts/viennaVntr/viennaVntr.as
new file mode 100644
index 00000000000..e6ad052d4a6
--- /dev/null
+++ src/hg/makeDb/scripts/viennaVntr/viennaVntr.as
@@ -0,0 +1,26 @@
+table viennaVntr
+"1000 Genomes Vienna ONT VNTR allele statistics from VAMOS genotyping"
+    (
+    string chrom;          "Chromosome"
+    uint chromStart;       "Start position"
+    uint chromEnd;         "End position"
+    string name;           "VNTR locus summary"
+    uint score;            "Score (0-1000)|Number of unique VNTR alleles, capped at 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 average repeat unit length"
+    uint numHaps;          "Haplotypes genotyped|Number of haplotypes where allele has been genotyped"
+    float ruLenAvg;        "Avg motif length|Average length of the repeat unit in bp"
+    uint numUniqueVntrs;   "Unique alleles|Number of unique VNTR alleles found at the site"
+    uint maxRus;           "Max repeat units|Maximum repeat unit count observed"
+    uint minRus;           "Min repeat units|Minimum repeat unit count observed"
+    float medianRus;       "Median repeat units|Median repeat unit count across all haplotypes"
+    float pct25Rus;        "25th pct repeat units|25th percentile of repeat unit counts"
+    float pct75Rus;        "75th pct repeat units|75th percentile of repeat unit counts"
+    uint uniqueNumRus;     "Unique repeat counts|Count of uniquely observed repeat unit numbers"
+    uint maxBps;           "Max allele bp|Maximum allele length in base pairs"
+    uint minBps;           "Min allele bp|Minimum allele length in base pairs"
+    float medianBps;       "Median allele bp|Median allele length in base pairs"
+    float het;             "Expected heterozygosity|1 - sum(p_i^2) computed from allele frequencies across 1,019 samples"
+    )