How to find Geometric Mean from gated Quantibeads
1
0
Entering edit mode
justinyi10 ▴ 10
@justinyi10-13409
Last seen 4.2 years ago

Is there a way to find the geometric means of different fluorescence intensities that arise when gating quantibeads in Bioconductor?

flowworkspace opencyto • 1.1k views
1
Entering edit mode
Jiang, Mike ★ 1.3k
@jiang-mike-4886
Last seen 12 days ago

With cytoUtils::getStats, you can pass in your own customized function, it will receive a flowFrame object as the input, from which you can extract the fluorescence intensity matrix, and then do whatever calculation you want, in this case,

geometric.means <- function(fr){
chnls <- colnames(fr)
res <- apply(exprs(fr), 2, function(x)exp(mean(log(x))))
names(res) <- chnls
res
}
getStats(gs, nodes, type = geometric.means)
0
Entering edit mode

How would you extract the fluorescence intensity matrix?

1
Entering edit mode

geometric.means is the name of customised function. fr is the name of its unique argument. As stated by Mike, getStats sends a flowFrame to geometric.means while getStats goes through.the workspace alias gs. Within the code of geometric.means, fr is the name of the variable that contains the flowFrame of the selected events. You can simply get the intensity matrix using the function exprs as shown in the code from Mike as exprs(fr).

HTH

0
Entering edit mode

After using the customized function above on my quantibead sample, I get the warning message below. Why would this be? Also, the geometric means seem to be way out of the expected range (comparing against the flow cytometer software). Does the function above return the geometric mean of the number of cells with a certain fluorescence intensity (there should be four)?

1. In log(x) : NaNs produced

0
Entering edit mode

> log(0)
[1] -Inf
> log(-1)
[1] NaN
Warning message:
In log(-1) : NaNs produced