53ab3f1e293a91ddf71ec7568f4a6ff827bcd278
lrnassar
  Fri Oct 2 13:52:36 2026 -0700
Native GPN-Star track (Ye, Benegas et al., Nature 2026) on hg38, mm39, galGal6, dm6 and ce11, from the authors' Hugging Face hub. Each model is a multiWig sequence logo plus a four-allele -LLR composite using negateValues. The three hg38 models (V/M/P) sit in predictionScoresSuper via human/gpnStar.ra with /gbdb/$D bigDataUrls so -strict drops them on other human assemblies; the other four get a standalone gpnStar superTrack. The authors' bigWigs come from pyBigWig, whose bwAddIntervalSpanSteps writes the last section of each run 6 bases too long (pyBigWig #166) and makes bigWigAverageOverBed and bigWigCorrelate abort, so gpnStarRebuild.sh re-encodes them with wigToBigWig and gpnStarVerify.sh checks every per-base value is unchanged. Entropy scores and the GenArk-only Arabidopsis set are left out, and pennantIcon still has #TBD placeholders for the newsarch anchor and date. refs #38451

diff --git src/hg/makeDb/scripts/gpnStar/gpnStarRebuild.sh src/hg/makeDb/scripts/gpnStar/gpnStarRebuild.sh
new file mode 100755
index 00000000000..bfbc7c02bec
--- /dev/null
+++ src/hg/makeDb/scripts/gpnStar/gpnStarRebuild.sh
@@ -0,0 +1,15 @@
+#!/bin/bash
+# Re-encode one GPN-Star bigWig with kent tools to fix its section headers, then verify
+# with gpnStarVerify.sh that every per-base value is unchanged and no bad headers remain.
+# usage: gpnStarRebuild.sh in.bw chrom.sizes tmpDir
+# writes <dir of in.bw>/rebuilt/<name>.bw
+set -beEu -o pipefail
+in=$1; sizes=$2; tmp=$3
+dir=$(dirname $in); name=$(basename $in)
+mkdir -p $dir/rebuilt
+wig=$tmp/gpnStarRebuild.$$.$name.wig
+bigWigToWig $in $wig
+wigToBigWig $wig $sizes $dir/rebuilt/$name
+rm -f $wig
+# compare per chromosome: kent writes chromosomes in a different order than the original
+$(dirname $0)/gpnStarVerify.sh $in $dir/rebuilt/$name