[flowCore] linearization of logarithmic data seems to be calculated wrong
1
0
Entering edit mode
max.zhao • 0
@maxzhao-14892
Last seen 6.1 years ago

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.

flowcore flowcytometry • 1.0k views
ADD COMMENT
0
Entering edit mode
Jiang, Mike ★ 1.3k
@jiang-mike-4886
Last seen 2.5 years ago
(Private Address)

 flowCore currently implemented as 10^((x*f1/range), I just added f2 (https://github.com/RGLab/flowCore/commit/62d261828f5db530f5705b7228f87e420f97fd82), 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 COMMENT

Login before adding your answer.

Traffic: 689 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6