b914d581f876d486caf9404e715e4f61ada38195
mspeir
  Mon Aug 3 16:19:44 2026 -0700
singleCellSignalsPeaks: make every subtrack label unique, fix cell-class regressions

The harmonized labels were not distinguishing tracks. build_long_label composed from
cell type + condition + tissue, but the upstream steps discard the discriminators on
purpose to keep the facets compact, so hg38 had 925 subtracks sharing only 401 distinct
longLabels and mm10 629 sharing 359. Worst case: cortex-atac's MACS, enhancer and
cell-type-specific peak sets all read "Astrocytes and oligodendrocytes (Cortex ATAC)",
with the peak method surviving only in the raw shortLabel.

Labels are now built from the harmonized cell type plus a variant descriptor that
recovers what was dropped (peak method, grouping level, cohort, signal vs peaks), and
anything still colliding is qualified with its source cluster code. shortLabels are
rebuilt too -- the old ones were raw source strings up to 50 chars with underscores,
ArchR filename tails and R-mangled names -- abbreviated through a curated word table to
22 chars, with compact tokens where the longLabel distinction would otherwise be
invisible (SEA-AD region + ADNC, CATLAS aging age). All 925/587 longLabels are now
unique; no shortLabel exceeds 22 chars or contains an underscore.

Also fixed, found while verifying the above:

- Correcting source misspellings in the cell types broke the curated lookups, which are
keyed on those same misspelled strings, and 16 hg38 tracks silently lost their
Cell_class and color. The class map and the hub_config tables now normalize their keys
on load, and a cell type with no broad class is reported instead of becoming "unknown".
- Nephron progenitor was classed as Neural progenitor: the decode tables give it the bare
broad class "Progenitor" and that was blanket-mapped to neural. It is Six2+ kidney cap
mesenchyme, so it is now Stromal. The HTML legend had been worded to match the bug.
- The plural/case merge picked the most frequent form, which was inconsistent -- singular
for 15 of 17 merged groups but plural for Megakaryocytes/Oligodendrocytes. It now
prefers the singular.
- Removed 42 byte-identical Allen basal-ganglia bigWigs (md5-verified) that were served
from four grouping directories and rendered as four indistinguishable mm10 subtracks,
freeing 4.4 GB. Where the four copies genuinely differ all are kept and told apart by
the grouping-level descriptor. mm10 goes 629 -> 587 subtracks.
- Corrected five stale per-dataset subtrack counts in the description pages and spelled
out what ADNC means, noting that it grades neuropathology rather than symptoms.
- The SEA-AD Dataset facet link used the collection name, which is not a served Cell
Browser slug; it now points at sea-ad-mtg+cohort.
- Dropped a dead placeholder variable and made the hardcoded hub-build path overridable.

refs #37914

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

diff --git src/hg/makeDb/trackDb/mouse/mm10/singleCellSignalsPeaks.html src/hg/makeDb/trackDb/mouse/mm10/singleCellSignalsPeaks.html
index 0ebde372f3c..52aaa0e673b 100644
--- src/hg/makeDb/trackDb/mouse/mm10/singleCellSignalsPeaks.html
+++ src/hg/makeDb/trackDb/mouse/mm10/singleCellSignalsPeaks.html
@@ -2,65 +2,65 @@
 <p>
 This track collects the cell-type chromatin accessibility tracks from the
 single-cell ATAC-seq datasets in the
 <a href="https://cells.ucsc.edu" target="_blank">UCSC Cell Browser</a>. For each
 dataset it shows the read-coverage signal (bigWig) and, where the study
 reported them, the accessible-region peak calls (bigNarrowPeak), split out by
 cell type. The datasets cover several mouse tissues, including brain, kidney,
 and choroid plexus.
 </p>
 <p>
 The subtracks come from these datasets:
 </p>
 <ul>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=catlas-mouse-aging" target="_blank">CATLAS Mouse Aging Brain</a></b>:
-    chromatin accessibility across cell types of the aging mouse brain. 234
+    chromatin accessibility across cell types of the aging mouse brain. 222
     signal subtracks (Zhang et al. 2022).
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=catlas-mouse-brain" target="_blank">CATLAS Adult Mouse Brain</a></b>:
     chromatin accessibility across cell types of the adult mouse cerebrum. 160
     signal subtracks (Li et al. 2021).
   </li>
   <li>
     <b><a href="https://brain-map.org/genetic-tools/genetic-tools-atlas" target="_blank">Allen Basal Ganglia ATAC</a></b>:
     accessibility across basal ganglia cell types, merged by region and neuron
-    subtype, from the Allen Institute Genetic Tools Atlas. 131 signal subtracks.
+    subtype, from the Allen Institute Genetic Tools Atlas. 89 signal subtracks.
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=olg-dyn-eae-multiome" target="_blank">Dynamic Responses of Oligodendroglia in EAE Mice</a></b>:
     accessibility (the ATAC half of a single-cell multiome study) of
     oligodendroglia across disease progression in a mouse model of multiple
     sclerosis. 28 signal subtracks (Zheng et al. 2025).
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=mouse-lvcp-multiome" target="_blank">Mouse Lateral Ventricle Choroid Plexus Multi-omics</a></b>:
     accessibility (the ATAC half of a multi-omics study) of the lateral
     ventricle choroid plexus, with per-cell-type peak calls. 17 signal and 6
     peak subtracks.
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=catlas-paired-tag" target="_blank">CATLAS Adult Mouse Brain Paired-Tag</a></b>:
     the accessibility tracks from joint histone-and-transcriptome Paired-Tag
     profiling of the adult mouse brain. 21 signal subtracks (Zhu et al. 2021).
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=mouse-kidney-atac" target="_blank">Mouse Kidney Regulatory Landscape</a></b>:
     single-cell accessibility across mouse kidney cell types, used to map
     cellular differentiation programs and disease-associated regulatory
-    regions. 19 signal subtracks (Miao et al. 2021).
+    regions. 13 signal subtracks (Miao et al. 2021).
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=olg-eae-ms" target="_blank">Oligodendrocytes in Mouse EAE Model of MS</a></b>:
     accessibility in the oligodendrocyte lineage from a mouse model of multiple
     sclerosis. 16 signal subtracks (Meijer et al. 2022).
   </li>
   <li>
     <b><a href="https://cells.ucsc.edu/?ds=mouse-epi-juv-brain" target="_blank">Multimodal Chromatin Profiling of Juvenile Mouse Brain</a></b>:
     accessibility from nanobody-based single-cell CUT&amp;Tag multimodal
     profiling of the juvenile mouse brain. 15 signal subtracks (Bartosovic and
     Castelo-Branco 2023).
   </li>
 </ul>
 
 <h2>Display Conventions and Configuration</h2>
@@ -74,31 +74,31 @@
 </p>
 
 <p>
 Subtracks are colored by broad cell-type class, so the same class is shown in the same color across datasets (and matches the coloring of the corresponding human track). The classes are:
 </p>
 <table class="stdTbl">
   <tr><th style="background-color:rgb(0,114,178);width:2em">&nbsp;</th>
       <td>Excitatory neuron &mdash; glutamatergic neurons of the cortical layers, hippocampal CA fields and dentate gyrus, and claustrum</td></tr>
   <tr><th style="background-color:rgb(213,94,0);width:2em">&nbsp;</th>
       <td>Inhibitory neuron &mdash; GABAergic neurons and interneurons (Pvalb, Sst, Lamp5, and CGE- and MGE-derived types)</td></tr>
   <tr><th style="background-color:rgb(230,159,0);width:2em">&nbsp;</th>
       <td>Medium spiny neuron &mdash; striatal D1 and D2 projection neurons of the direct and indirect pathways</td></tr>
   <tr><th style="background-color:rgb(86,180,233);width:2em">&nbsp;</th>
       <td>Other neuron &mdash; remaining neuronal types, such as Cajal-Retzius cells</td></tr>
   <tr><th style="background-color:rgb(51,34,136);width:2em">&nbsp;</th>
-      <td>Neural progenitor &mdash; neuroblasts, radial glia, and nephron progenitors</td></tr>
+      <td>Neural progenitor &mdash; neuroblasts, radial glia, and other neural progenitors</td></tr>
   <tr><th style="background-color:rgb(0,158,115);width:2em">&nbsp;</th>
       <td>Astrocyte &mdash; astrocytes, including Bergmann glia and fibrous and protoplasmic subtypes</td></tr>
   <tr><th style="background-color:rgb(204,121,167);width:2em">&nbsp;</th>
       <td>Oligodendrocyte &mdash; oligodendrocytes across the newly-formed, myelin-forming, and mature stages</td></tr>
   <tr><th style="background-color:rgb(240,228,66);width:2em">&nbsp;</th>
       <td>Oligodendrocyte precursor &mdash; oligodendrocyte precursor cells (OPCs) and committed precursors</td></tr>
   <tr><th style="background-color:rgb(0,0,0);width:2em">&nbsp;</th>
       <td>Microglia &mdash; microglia and perivascular macrophages</td></tr>
   <tr><th style="background-color:rgb(68,170,153);width:2em">&nbsp;</th>
       <td>Ependymal &mdash; ependymal cells lining the ventricles</td></tr>
   <tr><th style="background-color:rgb(136,34,85);width:2em">&nbsp;</th>
       <td>Choroid plexus &mdash; choroid plexus epithelial cells</td></tr>
   <tr><th style="background-color:rgb(136,204,238);width:2em">&nbsp;</th>
       <td>Endothelial &mdash; endothelial cells of arteries, capillaries, veins, and endocardium</td></tr>
   <tr><th style="background-color:rgb(221,204,119);width:2em">&nbsp;</th>