Closed denvercal1234GitHub closed 3 months ago
IMHO Q1: you should address this question to Spectre developers. Q2: if the maximum of a channel is lower than let's say 10, the channel is probably transformed. HTH
Hi @denvercal1234GitHub
QUESTION 1. As a result, if a package requires the data to be transformed, should I skip data transformation (e.g., flowCore::transform()) once I converted the channel values into FCS files using Spectre::write.files() as done in https://github.com/ImmuneDynamics/Spectre/issues/149? Or, the advice to skip data transformation for channel values in Spectre workflow only is specific to the Spectre workflow?
If you are working with channel values (exported from FlowJo) these are transformed already, so you won't need to do any further transformations in other packages.
QUESTION 2. How to check whether the FCS files saved as data.table have been transformed or not in R?
Have a look at the values -- channel values will range between a min of 0 and a max of 1024 (most values will likely be between 200 and 1000. If the values range from 0 (or indeed less than 0) up to say 2x10^5 (e.g. BD LSRII) or 2x10^6 (Cytek Aurora) then these are likely to be untransformed. If the values are between 0 and 5 or 6, these are likely arcsinh transformed values.
Hi there,
Thanks for the package.
[1] According to issue #121,
Spectre::read.files()
is a wrapper aroundflowCore::read.flowSet
orflowCore::read.FCS
.[2] From the discussion here (https://github.com/RGLab/flowCore/issues/245),
flowCore
read functions apply a separate transformation that is independent (on top of) the transformation that is applied byFlowJo.
[3] From https://github.com/saeyslab/PeacoQC/issues/14, "If you already unmixed and did an arcsinh transformation in the Spectre package, you do not need to repeat this and can just skip these steps before doing PeacoQC".
Thus, since Spectre tutorial advises that we should skip arsinh transformation if we input into
Spectre
the channel values exported from FlowJo. I thus interpreted this advice to mean that the channel values exported fromFlowJo
are already arsinh transformed data.QUESTION 1. As a result, if a package requires the data to be transformed, should I skip data transformation (e.g.,
flowCore::transform()
) once I converted the channel values into FCS files usingSpectre::write.files()
as done in #149? Or, the advice to skip data transformation for channel values in Spectre workflow only is specific to the Spectre workflow?QUESTION 2. How to check whether the FCS files saved as data.table have been transformed or not in R?
Thank you for your help.