10f0f6d5160a96867ecf534e1b9d138df7d9b796 lrnassar Mon Sep 28 16:17:46 2026 -0700 Fiber-seq: hide the container by default, and split the five GM lines out into a Rare disease sample class. Max asked for superTrack on rather than on show, since the track covers much the same ground as ENCODE DNase and does not earn a slot in everyone's default hg38 view. The five lymphoblastoid lines GM25455, GM25456, GM27730, GM28570 and GM28572 had been filed as Common Cell Line; Andrew Stergachis says they are rare disease cases consented to broad genomic data sharing and the first of a batch the lab intends to keep adding, so SAMPLE_CLASS_COLORS gains a third entry and the facet now reads 20 HPRC, 16 Common Cell Line, 5 Rare disease sample. refs #36210 diff --git src/hg/makeDb/doc/hg38/fiberSeq.txt src/hg/makeDb/doc/hg38/fiberSeq.txt index 192c65cc397..008093c9782 100644 --- src/hg/makeDb/doc/hg38/fiberSeq.txt +++ src/hg/makeDb/doc/hg38/fiberSeq.txt @@ -225,31 +225,35 @@ # trackDb, metadata and colors # --------------------------------------------------------------------------- # One script writes the whole track stanza plus the two faceted-composite # metadata and color files, so the 584 stanzas stay consistent: ~/kent/src/hg/makeDb/scripts/fiberSeq/fiberSeqTrackDb.py # It writes # ~/kent/src/hg/makeDb/trackDb/human/hg38/fiberSeq.ra # /hive/data/genomes/hg38/bed/fiberSeq/fiberSeqCompendium_metadata.tsv # /hive/data/genomes/hg38/bed/fiberSeq/fiberSeqCompendium_colors.json # Structure: # fiberSeq container, group regulation -# fiberSeqAcc multiWig overlay of 7 common cell lines, shown by default +# fiberSeqAcc multiWig overlay of 7 common cell lines, full when the +# container is turned on. The container itself is +# "superTrack on", not "on show", so nothing draws until +# the user asks for it: Max's call on #36210, since the +# track covers much the same ground as ENCODE DNase. # fiberSeqCompendium faceted composite, 41 samples, six data types: # acc, peaks, hap, cpg, cpgHap, cpgDiff # (a seventh, nuc, is built but held back: see below) # # Accessibility and methylation started as two composites, fiberSeqCompendium and # fiberSeqMeth, and were merged into one. They cover the identical 41 samples, # and cartDump.c assigns priority with the data element as the OUTER loop and the # data type as the inner one, so a single composite keeps a sample's six subtracks # contiguous in the image. As two composites the display was an accessibility # block followed by a methylation block, so comparing the two assays for one # sample meant reading across every other sample - which is the whole point, # since both come off the same molecules in the same experiment. # # The composite uses the same faceted-composite machinery as Methbase # (methbase2.ra): metaDataUrl for the sample table, colorSettingsUrl for the @@ -297,38 +301,41 @@ # bigBed-generic filter.<field> settings are NOT read by this type. All # three defaults are the full range, so nothing is hidden until the user # narrows one. Verified in the rendered UI: # hgTrackUi?db=hg38&g=fiberSeqCompendium_PM00004_peaks # draws min/max boxes for all three with the right limit hints. # # 5. Facet columns: only "sampleClass" is faceted. facetedComposite.js offers # a facet value only when it occurs more than once (a checkbox matching a # single row is just a slow search box), so: # accession 41 distinct, all count 1, and excluded anyway as primaryKey # _sample 41 distinct, all count 1 - can never be a facet # _cellType 14 distinct but only 2 with count > 1 (Lymphoblastoid 27, # Embryonic stem cell 2), so as a facet it drew two checkboxes # and left 12 samples unreachable. Underscored, so it is a # searchable and sortable column instead. -# sampleClass 2 values, HPRC (20) and Common Cell Line (21), both count > 1. -# Read from the fifth column of fiberSeqSamples.tsv, which -# carries the lab's own classification (the Note column of -# Mitchell's sample sheet). It used to be derived from the -# free-text cell type, which misfiled five lymphoblastoid lines -# that are not HPRC - see the note below. Still worth extending -# when the lab sends real donor metadata (sex, population), which -# would give more than one useful facet. +# sampleClass 3 values, HPRC (20), Common Cell Line (16) and Rare disease +# sample (5), all count > 1. Read from the fifth column of +# fiberSeqSamples.tsv, which carries the lab's own +# classification. It used to be derived from the free-text cell +# type, which misfiled five lymphoblastoid lines as HPRC. Those +# five - GM25455, GM25456, GM27730, GM28570, GM28572 - turned out +# to be neither: Andrew Stergachis said on 2026-09-22 that they +# are rare disease cases consented to broad genomic data sharing, +# the first of a batch they intend to keep adding to, and asked +# for a class of their own rather than filing them with the +# common cell lines. # # 6. Subtracks need an explicit priority. Without one they fall back to a label # sort, which showed a sample's data types as Peaks, CpG, Acc on a first # visit. The script now numbers them sample-outer, declared-data-type-inner # (i*10 + j + 1), which matches the row of data type checkboxes across the # top of the table. cartDump.c clears "<mdid>_*.priority" and writes its own # on every submit, so this only sets the starting order. # # The children INSIDE each multiWig need their own priority too, and there it # is not cosmetic. makeContainerTrack() in hg/hgTracks/container.c sorts a # container's children with trackPriCmp, which compares priority alone and # returns 0 on a tie, and slSort is not stable - so children left on the # parent's inherited priority draw in an arbitrary order. For cpgDiff that # decides the picture: it is a solidOverlay and all four files hold the same # value at a shared base, so the level drawn last is the colour the user sees.