ebecht / infinityFlow

25 stars 8 forks source link

How to specify autofluorescence channel in place of isotype control in annotation.txt, backbone_specification, and infinity_flow()? #12

Closed denvercal1234GitHub closed 1 year ago

denvercal1234GitHub commented 1 year ago

Hi @ebecht

In issue #7 , you mentioned we can use the "autofluorescence control" channel (resulted from using "Unstained control" that we usually run to do autofluorescence adjustment in spectral flow) in place of the isotype controls.

In the help of infinity_flow(), it says "Autofluorescence measurements should be listed here as "Blank"". Does it mean if I want to use the Aurofluorescence channel "AF" in place of isotype control for background subtraction, I simply do infinity_flow(isotype = "Blank"?

But, what do I put for Infinity_isotype column in the annotation.txt?

Lastly, I will put "backbone" for the AF-A channel for the type column of the backbone_specification ?

Thank you for your help!

ebecht commented 1 year ago

Hi @denvercal1234GitHub

I'm not sure I understood this question perfectly. Do you have a well where there was no PE staining ? If so that is the file you want to list as "blank". You can then use "blank" as control for the other files to model and correct non-specific staining.

What I am confused about in your question is that you are suggesting that autofluorescence is measured as a separate channel in your experiments ? I am not super familiar with spectral flow cytometry so things could be a different there. In any case, autofluorescence is not always problematic depending on the experiment, so in any case you can use the uncorrected output and see if that is sufficient to address the questions you are interested in. If autofluorescence is a feature in your experiment, I would probably try to include it as a predictor for the ML models?

Best, Etienne

denvercal1234GitHub commented 1 year ago

Hi @ebecht,

I see. I do have a well where I stained with everything except PE. I was a bit confused because in issue #7, you mentioned if we did not have isotype control, we would use autofluoresence for background substraction. But, I see now.

So to confirm, if I want to use essentially "fluorescence minus PE" well for my background substraction, I will do the following?

Thanks again, and my apologies for all these Qs.

  1. Set isotype = "Blank" in the function infinity_flow(isotype = "Blank")
  2. In the annotation.txt file, in the "Infinity_isotype" column, I will just put for all samples as "Blank"
  3. In the annotation.txt file, in the "Infinity_target" column, for this "fluoresence minus PE" file, I will specify it as "Blank"
ebecht commented 1 year ago

Yes that sounds correct.