fcb3dd044df301a3c0ea4588e1debf7068b00333
lrnassar
Mon Jun 29 15:43:06 2026 -0700
lrSv: fresh-eyes audit fixes + multi-line HTML mouseOvers on all subtracks. refs #36258
Audit fixes:
- lrSv.html summary table: recompute the per-dataset min/median/max SV-length
columns from current data (length = max(svLen,insLen)); the old values came
from the .ra filter bounds and were off by one in several rows. Fixes the
stale lrSvAll Max (190,088,223 -> 57,207,413, left over from before KimPD was
dropped from the merge) and the APR row's length convention.
- decodeSv.html: align the opening Description to the displayed (deduped) counts
(119,453 / 41,216 DEL) instead of the upstream release counts, noting the
dedup from the 133,886-record release.
- Drop dead svType filter options (CNV/BND/MEI/CTX) that appear in no subtrack,
from the lrSv supertrack filterValues.svType and from lrSvAll (both the
generated lrSvAll.ra and the lrSvMergeAll.py generator).
Reformat the mouseOver of all 16 subtracks to the same multi-line bold-label
HTML style as lrSvAll (Var / SV len / Ins len / per-track fields), using each
track's existing fields.
diff --git src/hg/makeDb/scripts/lrSv/lrSvMergeAll.py src/hg/makeDb/scripts/lrSv/lrSvMergeAll.py
index 17e307b78c8..642c037945f 100644
--- src/hg/makeDb/scripts/lrSv/lrSvMergeAll.py
+++ src/hg/makeDb/scripts/lrSv/lrSvMergeAll.py
@@ -502,31 +502,31 @@
f.write(" shortLabel All LR SVs merged\n")
f.write(" longLabel All long-read SVs merged across subtracks "
"by exact position, with per-database AC\n")
f.write(" type bigBed 9 +\n")
f.write(" itemRgb on\n")
f.write(" visibility pack\n")
f.write(" mouseOver Var: $name ($svType)
SV len: $svLen"
"
Ins len: $insLen
Sources: $sources"
"
AF range: $minAF-$maxAF
AC: $AC\n")
# Source filter
f.write(" filterValues.sources " + ",".join(src_parts) + "\n")
f.write(" filterType.sources multipleListOr\n")
f.write(" filterLabel.sources Source Database\n")
# SV type
f.write(" filterValues.svType DEL,INS,DUP,INV,CPX,MIXED,INSDEL,"
- "CNV,BND,TRA,MEI\n")
+ "TRA\n")
f.write(" filterType.svType multipleListOr\n")
f.write(" filterLabel.svType SV Type\n")
# Range filters
f.write(" filter.svLen 0:30000000\n")
f.write(" filterByRange.svLen on\n")
f.write(" filterLabel.svLen SV Length (bp)\n")
f.write(" filter.insLen 0:600000\n")
f.write(" filterByRange.insLen on\n")
f.write(" filterLabel.insLen Insertion Length (bp)\n")
f.write(" filter.maxAF 0:1\n")
f.write(" filterByRange.maxAF on\n")
f.write(" filterLimits.maxAF 0:1\n")
f.write(" filterLabel.maxAF Max Allele Frequency (across DBs)\n")
f.write(" filter.minAF 0:1\n")
f.write(" filterByRange.minAF on\n")