Flow cytometry optimization of transformation parameters
0
0
Entering edit mode
@carlosxmartinez-fleites-19332
Last seen 2.3 years ago

Hello,

I would like to optimise the parameters for an arcsinh transformation of flow cytometry data. I can optimise logicle parameters per channel as:

best_parameters <- estimateLogicle(frame, channels = channels, type = "data")

and then apply transformation as:

best_transformation <- transform(frame, best_parameters)

the closest equivalent I could find for arcsinh transformation is:

flowTrans(frame, "mclMultivArcSinh",colnames(frame)[channels], n2f=FALSE, parameters.only=TRUE)

but this only produces one set of parameters, a, b, c and not a set of parameters per channel.

Is it possible to produce optimised arcsinh parameters per channel at all? is it correct to expect them?

Any clarification will be welcome.

Many thanks.

flow Cytometry flowCore flowTrans • 464 views
0
Entering edit mode

Hi Carlos,

I think there are two points in your question.

a) estimating the best set of parameters for a asinh transform: I don't know how to achieve this. Probably Mike and Greg do.

b) looping across the channels: you could find the code of the estimateLogicle function at https://github.com/RGLab/flowCore/blob/fbe2a3d1f18acff6d3967d1e8488d7ccc322d95d/R/AllClasses.R#L5103 and try to derivate a simple loop.

Best.

1
Entering edit mode

Or you can merge all of your fcs files to get a better estimate of the transformation parameters

fs_merge <- flowFrame(fsApply(fset, exprs))
trans <- estimateLogicle(fs_merge, chnls)

# apply transformation to your flowSet
fset <- trans %on% fset

0
Entering edit mode

I agree totally. The parameters of the transformation should be the same for all the samples aka FCS. So pooling all FCS before estimating logicle is definitively what should be done within a batch, unless you have good reasons to do an estimation file by file. IIRC there is an alternative way to convert a flowSet to a flowFrame : fs_merge <- as(fset, "flowFrame") Best

0
Entering edit mode

Hi SamGG and Mikhael,

thank you very much for your replies, I agree that pooling all data to estimate parameters seems a better idea that selecting a single frame, i will implement this suggestion.

I will also try to implement looping through channels for the arcsinh estimation if there isn't an immediate solution.

Best regards,

Carlos

0
Entering edit mode