GateLab 0.7.7
Select samples by their metadata, import every FlowJo tree, and assign files to a hierarchy.
Samples panel. A hosted SCE arrives with per-sample metadata already filled in, so the samples panel now shows a row of value chips per metadata column: donor, cell type, stimulation, batch. A chip is a bulk checkbox over the checked set rather than a filter — clicking one checks every sample carrying that value, or unchecks them when they are all checked already, and a partly-checked chip is filled to its fraction. The sample list is never narrowed.
Each row also carries a padlock. Holding one row fixed bounds every later chip click to the samples it holds, so a cell type can be held while the stimulation is switched — which the chips alone cannot express, since a checked set does not record why the other files are out. What is held is written on the row, because the checked set feeds the pooled display, Statistics and Proportions.
A metadata column without a value for every sample is not treated as sample metadata. A gate written back into a hosted object's colData is per-event, so it arrives only for samples whose events were entirely positive or entirely negative; such a column is kept out of the automatic chip rows and, where it is chosen by hand, marked with the number of samples it actually reaches.
Hierarchies. Files can be assigned per hierarchy, marked by a numbered colour badge with an inset white ring. A FlowJo workspace import now brings in every tree rather than the first.
Also fixes unused declarations in the barcode scheme and elsewhere, and restores the hierarchies test suite.