kordastilab / ImmunoCluster

MIT License
27 stars 7 forks source link

Trouble when running processFCS() #4

Closed euclidjd closed 1 year ago

euclidjd commented 2 years ago

Hi,

I'm using ImmunoCluster for the first time, and I've generated a metadata file and panel metadata file using the templates provided by the tutorial and I've been following the tutorial closelly. I am encountering the warning message when generating the sce object after running the following code:

require(SingleCellExperiment) sce_17_23_week50 = processFCS( files = filelist, metadata = metadata, filter = FALSE, transformation = TRUE, transFun = function (x) asinh(x), downsampleVar = NULL, downsample = NULL, downsample_grouping = NULL, newColnames = col_names, colsDiscard = colsDiscard, asinhFactor = 150)

The warning message is this:

Warning messages: 1: In readFCSdata(con, offsets, txt, transformation, which.lines, scale, : Some data values of 'FJComp-BV650-A' channel exceed its $PnR value 262144 and will be truncated! To avoid truncation, either fix $PnR before generating FCS or set 'truncate_max_range = FALSE'

This occurs for ten of my parameters. There is no way to set 'truncate_max_range = FALSE' to TRUE, however.

Happy to provide anything you need to help and thanks for your time!

JamesOpz commented 2 years ago

Hi,

Thanks for getting in touch! Currently the processFCS() function depends on the read.FCS() function from the Bioconductor flowCore package to extract the FCS assay data. The current default argument behaviour of read.FCS() is to truncate any channel data where the $PnR (or the channel range for parameter n) is less than the true range of the data (this is the 'truncate_max_range = TRUE' argument).

At the moment you cannot change the 'truncate_max_range' from processFCS(), I will try to update the function so that users can set this variable in the future. As another option to fix this issue, it looks like you have exported your FCS file using FlowJO, based on your 'FJComp-BV650-A' parameter name.

Ideally for a FCS 3.1 file the $PnR value should match the range of values for the specified parameter, it looks like there has been a problem generating the FCS file in FlowJO, where the $PnR range does not match the true range of the data. If you try regenerating the FCS file from FlowJO with the correct $PnR value, this should also prevent truncation of the data.

Best, James