Description Usage Arguments See Also Examples
Compute the number of cells expressing a particular combination of markers for each sample.
1 | CellCounts(data, combinations)
|
data |
Either a |
combinations |
A list of 'combinations', used to denote the subsets of interest. See the examples for usage. |
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 | set.seed(123)
## generate 10 simulated matrices of flow data
K <- 6 ## number of markers
data <- replicate(10, simplify=FALSE, {
m <- matrix( rnorm(1E4 * K, 2000, 1000 ), ncol=K )
m[m < 2500] <- 0
colnames(m) <- c("IL2", "IL4", "IL6", "Mip1B", "IFNg", "TNFa")
return(m)
})
names(data) <- sample(letters, 10)
head( data[[1]] )
## generate counts over all available combinations of markers in data
str(CellCounts(data)) ## 64 columns, as all 2^6 combinations expressed
## generate marginal counts
combos <- list(1, 2, 3, 4, 5, 6) ## marginal cell counts
cc <- CellCounts(data, combos)
## a base R way of doing the same thing
f <- function(data) {
do.call(rbind, lapply(data, function(x) apply(x, 2, function(x) sum(x > 0))))
}
cc2 <- f(data)
## check that they're identical
stopifnot(identical( unname(cc), unname(cc2) ))
## We can also generate cell counts by expressing various combinations
## of markers (names) in the data.
## count cells expressing IL2 or IL4
CellCounts(data, "IL2|IL4")
## count cells expressing IL2, IL4 or IL6
CellCounts(data, "IL2|IL4|IL6")
## counts for each of IL2, IL4, IL6 (marginally)
CellCounts(data, c("IL2", "IL4", "IL6"))
## counts for cells that are IL2 positive and IL4 negative
CellCounts(data, "IL2 & !IL4")
## expressing the same intent with indices
CellCounts(data, list(c(1, -2)))
## all possible combinations
str(CellCounts(data, Combinations(6)))
## can also call on COMPASSContainers
data(COMPASS)
CellCounts(CC, "M1&M2")
|
IL2 IL4 IL6 Mip1B IFNg TNFa
[1,] 0.000 4370.725 0 0.000 0.000 0.000
[2,] 0.000 0.000 0 0.000 2721.365 2917.511
[3,] 3558.708 2926.961 0 0.000 0.000 0.000
[4,] 0.000 0.000 0 0.000 0.000 0.000
[5,] 0.000 0.000 0 2900.647 3302.121 0.000
[6,] 3715.065 3131.986 0 0.000 0.000 4257.013
int [1:10, 1:64] 1094 1059 1108 1086 1103 1083 1129 1086 1119 1095 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:10] "h" "a" "y" "w" ...
..$ : chr [1:64] "!IL2&!IL4&!IL6&!Mip1B&!IFNg&!TNFa" "IL2&!IL4&!IL6&!Mip1B&!IFNg&!TNFa" "!IL2&IL4&!IL6&!Mip1B&!IFNg&!TNFa" "!IL2&!IL4&IL6&!Mip1B&!IFNg&!TNFa" ...
IL2|IL4
h 5151
a 5276
y 5181
w 5216
f 5156
d 5239
i 5251
k 5216
c 5244
r 5241
IL2|IL4|IL6
h 6620
a 6822
y 6669
w 6707
f 6659
d 6706
i 6674
k 6715
c 6691
r 6707
IL2 IL4 IL6
h 3060 3014 3111
a 3116 3145 3167
y 3027 3072 3031
w 3097 3102 3100
f 3026 3060 3085
d 3082 3102 3102
i 3085 3145 3042
k 3102 3046 3121
c 3105 3096 3054
r 3095 3130 3079
IL2 & !IL4
h 2137
a 2131
y 2109
w 2114
f 2096
d 2137
i 2106
k 2170
c 2148
r 2111
IL2&!IL4
h 2137
a 2131
y 2109
w 2114
f 2096
d 2137
i 2106
k 2170
c 2148
r 2111
int [1:10, 1:64] 10 7 8 5 12 11 10 16 8 10 ...
- attr(*, "dimnames")=List of 2
..$ : chr [1:10] "h" "a" "y" "w" ...
..$ : chr [1:64] "IL2&IL4&IL6&Mip1B&IFNg&TNFa" "!IL2&IL4&IL6&Mip1B&IFNg&TNFa" "IL2&!IL4&IL6&Mip1B&IFNg&TNFa" "!IL2&!IL4&IL6&Mip1B&IFNg&TNFa" ...
M1&M2
sid_1 48
sid_2 49
sid_3 515
sid_4 362
sid_5 451
sid_6 89
sid_7 31
sid_8 292
sid_9 289
sid_10 101
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.