Last data update: 2014.03.03

R: Create a GatingSet and add/remove the flowCore gate(or...
add,GatingSet,list-methodR Documentation

Create a GatingSet and add/remove the flowCore gate(or population) to/from a GatingHierarchy/GatingSet.

Description

GatingSet method creates a gatingset from a flowSet with the ungated data as the root node. add method add the flowCore gate to a GatingHierarchy/GatingSet. setGate method update the gate of one population node in GatingHierarchy/GatingSet. Rm method Remove the population node from a GatingHierarchy/GatingSet. They are equivalent to the workFlow,add and Rm methods in flowCore package. recompute method does the actual gating after the gate is added,i.e. calculating the event indices according to the gate definition.

Usage

## S4 method for signature 'GatingSet,list'
add(wf, action, ...)

## S4 method for signature 'GatingSetList,list'
add(wf, action, ...)

## S4 method for signature 'GatingSet,filtersList'
add(wf, action, ...)

## S4 method for signature 'GatingSet,filterList'
add(wf, action, validityCheck = TRUE, ...)

## S4 method for signature 'GatingSetList,filterList'
add(wf, action, ...)

## S4 method for signature 'GatingSetList,filtersList'
add(wf, action, ...)

## S4 method for signature 'GatingSet,filter'
add(wf, action, ...)

## S4 method for signature 'GatingSet,filters'
add(wf, action, ...)

## S4 method for signature 'GatingSetList,filter'
add(wf, action, ...)

## S4 method for signature 'GatingSetList,filters'
add(wf, action, ...)

## S4 method for signature 'GatingHierarchy,filter'
add(wf, action, ...)

## S4 method for signature 'GatingHierarchy,filters'
add(wf, action, names = NULL, ...)

## S4 method for signature 'GatingHierarchy,quadGate'
add(wf, action, names = NULL, ...)

## S4 method for signature 'character,GatingSet,character'
Rm(symbol, envir, subSymbol, ...)

## S4 method for signature 'character,GatingSetList,character'
Rm(symbol, envir, subSymbol, ...)

## S4 method for signature 'character,GatingHierarchy,character'
Rm(symbol, envir, subSymbol,
  ...)

Arguments

wf

A GatingHierrarchy or GatingSet

action

A filter or a list of filters to be added to the GatingHierarchy or GatingSet.

...

some other arguments to specify how the gates are added to the gating tree.

  • parent: a character scalar to specify the parent node name where the new gate to be added to, by default it is NULL,which indicates the root node

  • name: a character scalar to specify the node name of population that is generated by the gate to be added. The default value is NULL,then the name will be extracted from the filterId of the gate to be added

  • negated: a logical scalar to specify whether the gate is negated,which means the the population outside of the gate will be kept as the result population. It is FALSE by default.

validityCheck

logical whether to check the consistency of tree structure across samples. default is TRUE. Can be turned off when speed is prefered to the robustness.

names

a character vector of length four,which specifies the population names resulted by adding a quadGate. The order of the names is clock-wise starting from the top left quadrant population.

symbol

A character identifies the population node in a GatingHierrarchy or GatingSet to remove

envir

A GatingHierrarchy or GatingSet

subSymbol

Not used.

Value

GatingSet method returns a GatingSet object with just root node. add method returns a population node ID (or four population node IDs when adding a quadGate) that uniquely identify the population node within a GatingHierarchy.

See Also

GatingSet-class

Examples

## Not run: 
    data(GvHD)
#select raw flow data
    fs<-GvHD[1:3]

#transform the raw data
    tf <- transformList(colnames(fs[[1]])[3:6], asinh, transformationId="asinh")
    fs_trans<-transform(fs,tf)

#add transformed data to a gatingset
    gs <- GatingSet(fs_trans)
    gs
    getNodes(gs[[1]]) #only contains root node

#add one gate
    rg <- rectangleGate("FSC-H"=c(200,400), "SSC-H"=c(250, 400),
        filterId="rectangle")

    nodeID<-add(gs, rg)#it is added to root node by default if parent is not specified
    nodeID
    getNodes(gs[[1]]) #the second population is named after filterId of the gate

#add a quadGate
    qg <- quadGate("FL1-H"=2, "FL2-H"=4)
    nodeIDs<-add(gs,qg,parent="rectangle")
    nodeIDs #quadGate produces four population nodes
    getNodes(gs[[1]]) #population names are named after dimensions of gate if not specified

#add a boolean Gate
    bg<-booleanFilter(`CD15 FITC-CD45 PE+`|`CD15 FITC+CD45 PE-`)
    bg
    nodeID2<-add(gs,bg,parent="rectangle")
    nodeID2
    getNodes(gs[[1]])
#do the actual gating
    recompute(gs)

#plot one gate for one sample
    plotGate(gs[[1]],"rectangle")
    plotGate(gs[[1]],nodeIDs) #may be smoothed automatically if there are not enough events after gating

#plot gates across samples using lattice plot
    plotGate(gs,nodeID)
#plot all gates for one sample
    plotGate(gs[[1]])#boolean gate is skipped by default
    plotGate(gs[[1]],bool=TRUE)

#plot the gating hierarchy
    require(Rgraphviz)
    plot(gs[[1]])
#remove one node causing the removal of all the descendants
    Rm('rectangle', gs)
    getNodes(gs[[1]])
 
## End(Not run)

Results