04456b0be37a7d7b57551e0d9596e3ef0b8f0393
max
  Thu Jul 16 00:34:37 2026 -0700
Add HPRC Release 2 hg38 native tracks (alignments, coverage, breaks, rearrangements, chains), refs #35415

#Preview2 week - bugs introduced now will need a build patch to fix
New pan-genome track container (group hprc) derived from the HPRC Release 2
per-assembly chains to GRCh38 (462 haplotypes), running in parallel to the
existing HPRC release 1 tracks:
- hprc2Coverage: fraction of assemblies aligning across GRCh38
- hprc2Breaks:   alignment breaks, colored by prevalence
- hprc2Rearr:    insertions/deletions/inversions/duplications/complex indels,
lrSv color palette, numeric size field, 50 bp default filter
- hprc2Chains:   per-haplotype bigChain composite, grouped by superpopulation
Container hidden by default. Scripts, autoSql, and makeDoc included.

diff --git src/hg/makeDb/scripts/hprc2/hprc2Download.sh src/hg/makeDb/scripts/hprc2/hprc2Download.sh
new file mode 100755
index 00000000000..636cde75223
--- /dev/null
+++ src/hg/makeDb/scripts/hprc2/hprc2Download.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Download HPRC Release 2 per-assembly "vs GRCh38" Minigraph-Cactus chains from the
+# public human-pangenomics S3 bucket (HTTPS, free egress) for the hg38 native tracks.
+# Resumable: skips files already present with non-zero size.
+# Usage: hprc2Download.sh <chains_grch38.csv> <destDir> [jobs]
+
+set -beEu -o pipefail
+
+csv="${1}"
+destDir="${2}"
+jobs="${3:-8}"
+
+mkdir -p "${destDir}"
+
+# column 4 of the CSV is the s3:// URL; convert to https and fetch in parallel.
+tail -n +2 "${csv}" | cut -d, -f4 \
+  | sed 's#^s3://human-pangenomics/#https://human-pangenomics.s3.amazonaws.com/#' \
+  | parallel -j "${jobs}" --bar '
+      url={};
+      fn='"${destDir}"'/$(basename "$url");
+      if [ -s "$fn" ]; then exit 0; fi
+      curl -sSfL "$url" -o "$fn.part" && mv "$fn.part" "$fn"
+    '
+
+echo "downloaded $(ls "${destDir}"/*.chain.gz | wc -l) chain files into ${destDir}"