444b1eb7e7ec2938a4a9a6d3ed214179073ab6f7 max Wed Sep 9 05:41:23 2026 -0700 Faceted composite: manual row reordering, group-by, saved UI state, and per-facet "only" links The Fiber-seq compendium put 41 samples times six data types into one faceted composite, which pushed on the parts of the page that were built for a flat list of tracks. Changes here, all in the shared faceted composite code rather than anything Fiber-seq specific: Row order. Track order in the image follows the table, so the table now lets you set that order by hand. Vendored DataTables RowReorder 1.5.1 adds a drag handle as the first column after the checkbox, enabled on the "shown in the browser" tab where reordering means something. The dragged order is remembered by sample name rather than by row number, so it survives a metadata file whose contents have changed. Group by. A container of six data types can be read two ways, so the page offers both: group the image by sample, keeping a sample's six tracks together, or by data type, putting all the accessibility tracks next to each other. cartDump assigns the priorities and just swaps the nesting of its two loops. trackDb sets the starting choice with defaultGroupBy. Saved state. Facets, per-column searches, sort column, page length, which tab was open and the hand-dragged order go to localStorage keyed by metadata id, so coming back to the page does not mean setting it all up again. Facet "only" links. A small "only" appears on hover behind each facet value and narrows to just that one, instead of unticking the others by hand. Column descriptions. A metadata column heading can now carry a longer explanation after a "|", shown behind an info icon on both the column header and the facet heading. Also: parseDataTypes() was returning its list reversed, since slPairAdd prepends and nothing put it back, so the data type checkboxes and the resulting subtrack order were backwards; the composite lifts itself out of hide when the user touches anything on the page, which is what they meant by touching it; the facet sidebar collapses when a table has no facetable columns; and the label wording throughout says "samples" and "in the browser" rather than "tracks" and "active". The Methbase hg38 track gets labels for its three data types, which were showing as the bare pipeline names hmr, levels and reads. refs #36210 diff --git src/hg/makeDb/trackDb/human/hg38/fiberSeqCompendium.html src/hg/makeDb/trackDb/human/hg38/fiberSeqCompendium.html index 9903fd79517..f0133557990 100644 --- src/hg/makeDb/trackDb/human/hg38/fiberSeqCompendium.html +++ src/hg/makeDb/trackDb/human/hg38/fiberSeqCompendium.html @@ -15,34 +15,34 @@
Because 41 samples times six kinds of data is far too many tracks for a checkbox list, samples are chosen from a searchable table on this page. Pick the kinds of data you want along the top, then select samples in the table; the browser turns on that combination for every sample you -picked, and keeps each sample's tracks together in the display. The table can be filtered by -sample class, and searched or sorted by sample name, accession and cell type. Only sample class -offers filter checkboxes, because a checkbox is only useful when several samples share a value, -and the other three columns are close to unique per sample. +picked, and keeps each sample's tracks together in the display. Sample class has filter +checkboxes in the panel to the left, and every column can be searched with the box under its +heading and clicked to sort, so a sample can be found by name, cell type, sample class or +accession.
Accessibility, methylation and the haplotype overlays are all drawn 0 to 100 percent on a fixed scale, so heights are comparable between samples and between the two assays. The accessibility tracks use maximum as the windowing function, so a narrow element survives zooming out, while the methylation tracks use mean, since an average is the meaningful summary for a methylation level. FIRE peaks are shown in dense mode by default, one row per sample.
In both haplotype overlays:
@@ -68,37 +68,41 @@| All measured differences, regardless of significance | |
| p < 0.01 | |
| p < 0.001 | |
| p < 0.0001 |
The thresholds are nested, so a position drawn red also belongs to all three looser sets. Reading the track amounts to reading the color: grey is noise, red is a strong difference between the two chromosomes at that CpG.
-The color swatches next to the Sample class filters in the table are: +The color swatches next to the Sample class filters are:
| Lymphoblastoid cell line | |
| Stem cell | |
| Cancer or immortalized cell line | |
| + | HPRC, a lymphoblastoid (B-lymphocyte, EBV) line from the Human Pangenome Reference + Consortium |
| + | Common cell line, which here also covers GM12878 and HG002: both are lymphoblastoid, + but they come from ENCODE and from Genome in a Bottle rather than from the + consortium |
Peaks carry two filterable values, the FIRE score in the signalValue field and the false discovery rate as a -log10 value in the qValue field, and both can be filtered from a peak track's own configuration page, along with the score. No filter is applied by default. A short tick inside each peak marks the point source, the single base the pipeline picked as the summit. Switching a peak track to pack or full also gives each peak a mouseover with its FIRE score and FDR; dense mode has no per-peak hover, which is a property of dense display rather than of this track. The pValue field of the source files is set to -1 throughout and carries no information.