Description Usage Arguments Details Value Examples
View source: R/GetThresholdedIntensities.R
This function extracts thresholded intensities for children of a
node node
, as specified through the map
argument.
1 | GetThresholdedIntensities(gs, node, map)
|
gs |
A |
node |
The name, or path, of a single node in a
|
map |
A |
map
should be an R list
, mapping node names (as
specified in the gating hierarchy of the gating set) to channel
names (as specified in either the desc
or name
columns of the parameters of the associated flowFrame
s
in the GatingSet
).
A list
with two components:
data |
A |
counts |
A named vector of total cell counts at the node |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | if (require("flowWorkspace")&require("flowCore")&require("tidyr")) {
## Generate an example GatingSet that could be used with COMPASS
## We then pull out the 'data' and 'counts' components that could
## be used within a COMPASSContainer
n <- 10 ## number of samples
k <- 4 ## number of markers
sid_vec <- paste0("sid_", 1:n) ## sample ids; unique names used to denote samples
iid_vec <- rep_len( paste0("iid_", 1:(n/10) ), n ) ## individual ids
marker_names <- c("TNFa", "IL2", "IL4", "IL6")
## Generate n sets of 'flow' data -- a list of matrices, each row
## is a cell, each column is fluorescence intensities on a particular
## channel / marker
data <- replicate(n, {
nrow <- round(runif(1) * 1E4 + 1000)
ncol <- k
vals <- rexp( nrow * ncol, runif(1, 1E-5, 1E-3) )
output <- matrix(vals, nrow, ncol)
colnames(output) <- marker_names
return(output)
})
names(data) <- sid_vec
## Put it into a GatingSet
fs <- flowSet( lapply(data, flowFrame) )
gs <- GatingSet(fs)
## Add some dummy metadata
meta <- pData(gs)
meta$PTID <- 1:10
pData(gs) <- meta
gate <- rectangleGate( list(TNFa=c(-Inf,Inf)))
gs_pop_add(gs, gate, parent="root", name="dummy")
## Add dummy gate
## Make some gates, and apply them
invisible(lapply(marker_names, function(marker) {
.gate <- setNames( list( c( rexp(1, runif(1, 1E-5, 1E-3)), Inf) ), marker )
gate <- rectangleGate(.gate=.gate)
gs_pop_add(gs, gate, parent="dummy", name=paste0(marker, "+"))
}))
recompute(gs)
## Map node names to channel names
map=list(
"TNFa+"="TNFa",
"IL2+"="IL2",
"IL4+"="IL4",
"IL6+"="IL6"
)
## Pull out the data as a COMPASS-friendly dataset
node <- "dummy"
map <- map
system.time(
output <- GetThresholdedIntensities(gs, "dummy", map)
)
system.time(
output <- COMPASSContainerFromGatingSet(gs, "dummy", individual_id="PTID")
)
str(output)
}
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.