vignettes/HowToExportGatingSet.Rmd
HowToExportGatingSet.Rmd
A GatingSet
object can be exported as a GatingML file or GatingML-based wsp flowJo workspace (version 10) so that they can be loaded into Cytobank
or flowJo
.
The GatingSet
to be exported can be either parsed from Cytobank
or flowJo
or created by automated gating algorithms from openCtyo
. Here we will demontrate the latter.
library(ncdfFlow) library(flowWorkspace) library(CytoML) dataDir <- system.file("extdata",package="flowWorkspaceData") #load raw FCS fs <- load_cytoset_from_fcs(file.path(dataDir,"CytoTrol_CytoTrol_1.fcs")) gs <- GatingSet(fs)
#compensate comp <- spillover(fs[[1]])[["SPILL"]] chnls <- colnames(comp) comp <- compensation(comp) gs <- compensate(gs, comp) #transform trans <- flowjo_biexp_trans() trans <- transformerList(chnls, trans) gs <- transform(gs, trans)
Note that the compensation and transformation must be applied directly to GatingSet
instead of flowSet/ncdfFlowSet
so that these information will be stored in the GatingSet
object and exported to gatingML eventually.
library(openCyto) #load the original template for tcell panel tbl <- data.table::fread(system.file("extdata/gating_template/tcell.csv", package = "openCyto")) #modify some paramters to fit the current data range tbl[5, gating_args:= "gate_range = c(1e3, 3e3)"] tbl[c(8,11), gating_args:= "gate_range = c(2e3, 3e3)"] #write the new template to disc gtFile <- tempfile() write.csv(tbl, file = gtFile) ##reload the new template gt <- gatingTemplate(gtFile, autostart = 1L) #run the gating gating(gt, gs) #hide the gates that are not of interest toggle.helperGates(gt, gs) #visualize the gates library(ggcyto) autoplot(gs[[1]])
outFile <- tempfile(fileext = ".xml") gatingset_to_cytobank(gs, outFile)
## [1] "/tmp/Rtmp4J3aR5/file2995d9ad07.xml"
Note that the resulted xml
file is a standard GatingML2.0
file with some additional custom_info
added so that it can be recognized by Cytobank
. Here is the example gate plot from Cytobank
after the gatingML is imported.
outFile <- tempfile(fileext = ".wsp") gatingset_to_flowjo(gs, outFile)
The resutled wsp
file is a XML
-based flowJo
workspace and can be loaded into flowJo
(V10) along with orginal FCS files.Here is the gate plots from flowJo
after it is imported.