Skip to content

GateLabR 1.6.1

Choose a tag to compare

@david-priest david-priest released this 13 Oct 12:56
· 78 commits to main since this release
9c992d0

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.