Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is skipping data transformation for channel values in Spectre workflow only is specific to the Spectre workflow? #150

Closed
denvercal1234GitHub opened this issue Feb 6, 2023 · 2 comments

Comments

@denvercal1234GitHub
Copy link

denvercal1234GitHub commented Feb 6, 2023

Hi there,

Thanks for the package.

[1] According to issue #121, Spectre::read.files() is a wrapper around flowCore::read.flowSet or flowCore::read.FCS.

[2] From the discussion here (RGLab/flowCore#245), flowCore read functions apply a separate transformation that is independent (on top of) the transformation that is applied by FlowJo.

[3] From saeyslab/PeacoQC#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 from FlowJo 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 using Spectre::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.

@denvercal1234GitHub denvercal1234GitHub changed the title Are channel values exported from FlowJo "transformed data"? Is skipping data transformation for channel values in Spectre workflow only is specific to the Spectre workflow? Feb 6, 2023
@SamGG
Copy link

SamGG commented Mar 17, 2023

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

@tomashhurst
Copy link
Member

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 #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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants