Question: [flowCore] linearization of logarithmic data seems to be calculated wrong
gravatar for max.zhao
4 months ago by
max.zhao0 wrote:

I am currently implementing some features for working with logarithmic flow cytometry data in python and have been using the flowCore library and the FCS3.1 specification as guidelines.

The linearization of logarithmic channels depend on the $PnE parameter, which contains f1 and f2. F1 specifies the log range and f2 the minimal value on the linearized scale matching the zero value on the log scale. (This can be referenced in the FCS3.1 documentation.)

Thus a sample value can be calculated via 10^(x*f1/range) * f2. This is also given as an example in the FCS3.1 documentation.

In flowCore this is implemented as 10^((x*f1/range)*f2). This would - in my understanding - wrongly scale the obtained log scale values. Eg an f2 minimum of 0.1 could only map to 1 on the scale. Which does not seem correct.

Here the source code snipplet for reference: dat[,i] <- 10^((dat[,i]/range[i])*ampli[i,1])

Is the implementation in flowCore wrong or are the examples in the FCS3.1 guidelines wrong?

I am not sure, whether this is the correct place for a bug report. I would be glad for any help in this issue.

ADD COMMENTlink modified 4 months ago by Jiang, Mike1.1k • written 4 months ago by max.zhao0
gravatar for Jiang, Mike
4 months ago by
Jiang, Mike1.1k
(Private Address)
Jiang, Mike1.1k wrote:

 flowCore currently implemented as 10^((x*f1/range), I just added f2 (, please check out the latest github trunk and let me know if the data looks correct before I push it to BioC. (I don't have the test case for this particular data)

ADD COMMENTlink written 4 months ago by Jiang, Mike1.1k
Please log in to add an answer.


Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Powered by Biostar version 2.2.0
Traffic: 213 users visited in the last hour