add {flowWorkspace} | R 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. `gs_pop_set_gate` 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

    add(gs, gate, ...)

    ## Default S3 method:
    add(gs, gate, ...)

    gs_pop_add(gs, gate, validityCheck = TRUE, ...)

    gs_pop_remove(gs, node, ...)

    Rm(node, gs, ...)

### Arguments

`gs` | A `GatingSet`
`gate` | A `filter` or a list of `filter`s to be added to the `GatingSet`.
`...` | some other arguments to specify how the gates are added to the gating tree. 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. 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. recompute a `logical` flag 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.
`node` | A `character` identifies the population node in a `GatingHierrarchy` or `GatingSet` to remove

### 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
        gs_get_pop_paths(gs[[1]]) #only contains root node

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

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

    #add a quadGate
        qg <- quadGate("FL1-H"=2, "FL2-H"=4)
        nodeIDs<-gs_pop_add(gs,qg,parent="rectangle")
        nodeIDs #quadGate produces four population nodes
        gs_get_pop_paths(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<-gs_pop_add(gs,bg,parent="rectangle")
        nodeID2
        gs_get_pop_paths(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
        plot(gs[[1]])
    #remove one node causing the removal of all the descendants
        gs_pop_remove('rectangle', gs = gs)
        gs_get_pop_paths(gs[[1]])

    ## End(Not run)

[Package flowWorkspace version 3.34.1 Index]