Question: How are autofluorescence values used in the spillover/compensate functions?
2
gravatar for peterfoster
4.3 years ago by
peterfoster20
United States
peterfoster20 wrote:

Could someone provide a more detailed explanation as to how autoflourescence values are handled in the spillover and compensation functions in the flowCore package?  I can't figure out how to view the function's code...  

I know that the autoflourescence/baseline data can be specified in the spillover function with a blank/unstained control sample, but I don't know what happens with it next.  Is autofluoresence calculated from each channel and linearly subtracted from the data before the compensation is applied?  Is each channel's background incorporated into the spillover calculation as seems to be described in the 1993 paper that the function references?  Is this considered a non-linear, affine transformation and therefore different from simply subtracting median AutoFl values from the uncompensated data?  If my workflow typically calculates median fluorescence from an unstained control and linearly subtracts that from my sample flowSet prior to calculation of the spillover matrix and compensation, am I correcting for autofluorescence twice?

any help, guidance, or suggestion is welcome. 

Thanks,

ADD COMMENTlink modified 4.3 years ago by Greg Finak150 • written 4.3 years ago by peterfoster20
Answer: How are autofluorescence values used in the spillover/compensate functions?
1
gravatar for Greg Finak
4.3 years ago by
Greg Finak150
(Private Address)
Greg Finak150 wrote:

From looking at the code, which you can see for yourself by typing:

getMethods(spillover)

it seems autofluorescence for each channel is subtracted from the columns of the spillover matrix prior to re-normalizing it. I believe this follows the procedure described in the reference. From your description of your workflow, if you're using the spillover function, then yes you are correcting for autofluorescence twice.

 

Best,

Greg

ADD COMMENTlink written 4.3 years ago by Greg Finak150

Thank you for your help!   That being the case, I'm confused as to why the mean/median for my unstained controls is practically the same in both the uncompensated and compensated data.  If the blank mean/median is rolled into the compensation matrix, compensation should transform the mean/median to zero, right?  Could you shed light on this?

> namePattern <- "FSC.A|SSC.A|V1.A|Y2.A" ## set the desired channels, in order
> comp.1 <- spillover(x=fs.colorcomp.1, unstained="000.001", fsc="FSC.A", ssc="SSC.A",
+   patt=namePattern, method="mean")
> fs.comp.1 <- compensate(fs.clean.1, comp.1)

> summary(fs.clean.1[[3]])
         HDR.T  FSC.A FSC.H   SSC.A   SSC.H   V1.A    V1.H     Y2.A    Y2.H
Min.       952  28010 11050   772.4   278.1 -80.56  -1.831 -101.700  -1.492
1st Qu.  59620  49610 21270  9000.0  5504.0  11.09  55.990  -11.490  47.620
Median  127600  63840 27550 11750.0  7093.0  31.57  72.020    9.788  62.370
Mean    128900  67320 28840 12530.0  7455.0  31.59  69.630   10.120  62.320
3rd Qu. 196700  82090 35290 15470.0  9096.0  51.38  84.380   31.820  77.140
Max.    262100 136000 64970 24930.0 16770.0 708.20 544.400  280.800 198.700
> summary(fs.comp.1[[3]])
         HDR.T  FSC.A FSC.H   SSC.A   SSC.H   V1.A    V1.H     Y2.A    Y2.H
Min.       952  28010 11050   772.4   278.1 -80.51  -1.831 -101.700  -1.492
1st Qu.  59620  49610 21270  9000.0  5504.0  11.05  55.990  -11.490  47.620
Median  127600  63840 27550 11750.0  7093.0  31.55  72.020    9.788  62.370
Mean    128900  67320 28840 12530.0  7455.0  31.58  69.630   10.120  62.320
3rd Qu. 196700  82090 35290 15470.0  9096.0  51.37  84.380   31.820  77.140
Max.    262100 136000 64970 24930.0 16770.0 707.90 544.400  280.800 198.700
>

ADD REPLYlink written 4.3 years ago by peterfoster20
Please log in to add an answer.

Help
Access

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 16.09
Traffic: 167 users visited in the last hour