fe02c55d26614f1d5059c884fb2594f9b4d5ad50
mspeir
  Wed Aug 12 08:02:19 2026 -0700
singleCellSignalsPeaks: point at the hub build's new home, fix the file-copy script

The hub build now lives in the cellBrowser repo under ucsc/allTracksHub, so the makeDocs
link there instead of a personal work dir. HUB_BUILD in these scripts is the build's
output dir, not its code; comments say so now, paths unchanged.

copySingleCellSignalsPeaksFiles.py was silently copying nothing: it compared a whole line
against "parent <composite>", but stanzas are now indented and read "parent <composite>
off". Now dedents, matches the first token, and refuses to run on zero subtracks. Dry runs
give 925 hg38 / 587 mm10, none missing.

refs #37914

diff --git src/hg/makeDb/scripts/singleCellSignalsPeaks/makeSingleCellSignalsPeaksRa.py src/hg/makeDb/scripts/singleCellSignalsPeaks/makeSingleCellSignalsPeaksRa.py
index cfe8c684937..2c2b9f7756f 100644
--- src/hg/makeDb/scripts/singleCellSignalsPeaks/makeSingleCellSignalsPeaksRa.py
+++ src/hg/makeDb/scripts/singleCellSignalsPeaks/makeSingleCellSignalsPeaksRa.py
@@ -13,33 +13,35 @@
   - subtrack colors / labels / types are carried through unchanged (so the
     harmonized cell-type labels and any per-track colors come along for free)
 
 The data files themselves are copied into
 /hive/data/genomes/<asm>/bed/singleCellSignalsPeaks/<served-relpath> (see
 copySingleCellSignalsPeaksFiles.py) and served via the
 /gbdb/<asm>/bbi/singleCellSignalsPeaks symlink; this script only (re)writes the
 trackDb .ra.
 
 Usage:
   makeSingleCellSignalsPeaksRa.py [--assembly hg38|mm10] [--stanzas STANZAS] [--out OUT]
 """
 import re, os, sys, argparse
 from urllib.parse import urlparse
 
-# Where the hub build (build_manifest.py / build_stanzas.py) writes its stanzas and
-# metadata. That machinery builds the whole Cell Browser super hub, not just this track,
-# so it lives outside the kent tree; override with HUB_BUILD when it moves.
+# Where the hub build writes its stanzas and metadata -- its OUTPUT dir, not its code.
+# The build itself lives in the cellBrowser repo (ucsc/allTracksHub), since it builds the
+# whole Cell Browser super hub and not just this track:
+#   https://github.com/ucscGenomeBrowser/cellBrowser/tree/develop/ucsc/allTracksHub
+# Its output dir is set there by CBHUB_OUT; keep this default in step with it.
 HUB_BUILD = os.environ.get(
     "HUB_BUILD", "/hive/users/mspeir/claude/cell-browser/all-tracks-hub-build")
 TRACK = "singleCellSignalsPeaks"
 GROUP = "regulation"                  # ATAC-seq signal/peaks live with the ENCODE
                                       # regulatory tracks, not under singleCell
 ORG = {"hg38": "human", "mm10": "mouse"}   # trackDb organism subdir per assembly
 
 def main():
     ap = argparse.ArgumentParser()
     ap.add_argument("--assembly", default="hg38", choices=sorted(ORG))
     ap.add_argument("--stanzas")
     ap.add_argument("--out")
     args = ap.parse_args()
 
     asm = args.assembly