Repository navigation
GateLabR 1.6.1
GateLabR 1.6.1
GatingSet
launchGatingApp(gs)opens the app on a flowWorkspace GatingSet, from the object itself. The hierarchy it holds opens as the app's gates, evaluated in the transformed space the object evaluates them in, with the same counts; the axes take the object's transforms (logicle, arcsinh, FlowJo's biexponential, built from cytolib's table); the applied spillover is shown; pData columns are the sample metadata.- "Save to GatingSet" writes the populations back into the hierarchy in place: a rectangle as a rectangleGate under any transforms, a polygon or ellipse as its gate when the space is the object's, anything else as its exact per-sample membership. Every gate written is recomputed by flowWorkspace and replaced by the membership if it selects other events. save_gs() keeps the result and the GateLab record (a keyword on every sample).
- A matrix applied in the app is applied with compensate() in place on a writable, uncompensated, untransformed object; otherwise it is refused with the reason.
- gatelabPopulations(), gatelabHierarchy(), gatelabLeafPopulation() and gatelabTransforms() read either object; gatelabPopulations(by = "path") names columns by node path.
SingleCellExperiment
- Every save writes the display transform each channel was drawn on to rowData(sce)$gatelab_transform; the app reopens the object on those transforms, and gatelabTransforms() reads them.
- gatelabGatingSet(sce) builds a GatingSet from a gated SCE, with the populations as flowWorkspace nodes, for flowWorkspace, openCyto, ggcyto and CytoML.
- metadata(sce)$spillover is the documented slot for the matrix; the older names are still read.
- gatelabStrategyPlot() draws the gating strategy of a saved object in R, as the Strategy tab draws it.
Embedded core
- GateLab 0.9.1 (GateLab-dev 1bf63cd): the FlowJo biexponential axis on a channel that records one, and its parameters in the Transforms panel; a hosted sample's arcsinh and biexponential kept when it joins the workspace's scales.
Tested
- Headless, through the embedded core: CytoML's public Cytobank GatingSet (12 of 12 node counts equal, 13 populations written back as gates); a GatingSet parsed from a public FlowJo workspace (38 of 38 counts equal on FlowJo's biexponential axes, 39 populations back as gates); an SCE carrying four different row transforms and no workspace (every axis as the row states, the drawn gate's membership equal to flowCore's event by event).
- flowWorkspace is a suggested package; the GatingSet path needs it installed.