## Loading required package: flowCore
## Loading required package: lattice

Regular flow data

marker  <- 'CD3'
chnl <- chnls[1]

data distribution on CD3

data <- exprs(fr[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("raw flow", marker, sep = ":"))

  • high value at 4.9653072 decade
  • neg value at -3.6467819 decade

Estimated logicle

trans <- estimateLogicle(fr, channels = chnl)
sapply(c("t","m", "a", "w"), function(param)as.numeric(format(as.vector(environment(trans@transforms[[chnl]]@f)[[param]]), digits = 2)))
##         t         m         a         w 
## 261590.00      4.50      0.00      0.47

Apply transformation

fr_trans <- transform(fr, trans)
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("transformed flow", marker, sep = ":"))

Nice bi-mode for mindensity to work with

g <- mindensity(fr_trans, chnl)
plot(den, main = paste("transformed flow", marker, sep = ":"))
abline(v = g@min, col = "red")

marker  <- 'IFNg'
chnl <- chnls[2]

data distribution on IFNg

data <- exprs(fr[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("raw flow", marker,sep = ":"))

  • high value at 4.8270643 decade
  • neg value at -3.4868342 decade

Estimated logicle

trans <- estimateLogicle(fr, channels = chnl)
sapply(c("t","m", "a", "w"), function(param)as.numeric(format(as.vector(environment(trans@transforms[[chnl]]@f)[[param]]), digits = 2)))
##         t         m         a         w 
## 261590.00      4.50      0.00      0.62

Apply transformation

fr_trans <- transform(fr, trans)
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("transformed flow", marker,sep = ":"))

Nice one-mode data for tailgate

g <- tailgate(fr_trans, chnl)
plot(den, main = paste("transformed flow", marker,sep = ":"))
abline(v = g@min, col = "red")

CyTOF data

## the text section does not end with delimiter: \\. The last keyword is dropped.
## the text section does not end with delimiter: \\. The last keyword is dropped.
marker  <- 'CD3'
chnl <- chnls[1]

data distribution on CD3

data <- exprs(fr[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("raw cytof", marker,sep = ":"))

  • high value at 4.4361783 decade
  • low at -0.0623533 decade

Estimated logicle

trans <- estimateLogicle(fr, channels = chnl)
sapply(c("t","m", "a", "w"), function(param)as.numeric(format(as.vector(environment(trans@transforms[[chnl]]@f)[[param]]), digits = 2)))
##        t        m        a        w 
## 2.73e+04 4.50e+00 0.00e+00 4.80e-02
  • t is top value of instrument which is the same as actual data in this case
  • m is hard-coded value (one decade less than the actual data range)

Apply transformation

fr_trans <- transform(fr, trans)
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("transformed cytof", marker,sep = ":"))

Not so great for mindensity

g <- mindensity(fr_trans, chnl)
plot(den, main = paste("transformed cytof", marker,sep = ":"))
abline(v = g@min, col = "red")

  • Q: Is the first peak (near 0) the real neg pop or the one at 0.5?

increase linearization

w <- 0.1
fr_trans <- transform(fr, transformList(chnl, logicleTransform(w = w, t = 2650, m = 4.5)))
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
g <- mindensity(fr_trans, chnl)
plot(den, main = paste("transformed cytof", marker,sep = ":"), xlab = paste("w increased from 0.05 to",w))
abline(v = g@min, col = "red")

marker <- 'IFNg'
chnl <- chnls[2]

data distribution on IFNg

data <- exprs(fr[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("raw cytof", marker,sep = ":"))

  • high at 3.4233612 decade
  • low at -0.0635091 decade

Estimated logicle

trans <- estimateLogicle(fr, channels = chnl)
sapply(c("t","m", "a", "w"), function(param)as.numeric(format(as.vector(environment(trans@transforms[[chnl]]@f)[[param]]), digits = 2)))
##       t       m       a       w 
## 2650.00    4.50    0.00    0.55

Apply transformation

fr_trans <- transform(fr, trans)
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
plot(den, main = paste("transformed cytof", marker,sep = ":"))

Not so clean for tailgate either

g <- tailgate(fr_trans, chnl)
plot(den, main = paste("transformed cytof", marker,sep = ":"))
abline(v = g@min, col = "red")

increase linearization

w <- 1.2
fr_trans <- transform(fr, transformList(chnl, logicleTransform(w = w, t = 2650, m = 4.5)))
data <- exprs(fr_trans[, chnl])
den <- density(data, adjust = 2)
g <- tailgate(fr_trans, chnl)
plot(den, main = paste("transformed cytof", marker,sep = ":"), xlab = paste("w increased from 0.55 to",w))
abline(v = g@min, col = "red")