Entering edit mode
> ------
>
> Message: 22
> Date: Fri, 13 Apr 2012 01:22:21 +0100
> From: Nikolas <n.pontikos at="" gmail.com="">
> To: bioconductor at r-project.org
> Subject: [BioC] flowWorkspace transformation on FCS 3 data
> Message-ID:
> <cakxttxp5kflogh4im1uhfmqftomoxz1-g-vwlxqo3uzkth0krg at="" mail.gmail.com="">
> Content-Type: text/plain; charset=UTF-8
>
> Hello,
>
> I am bit puzzled as to how flowWorkspace transforms FCS 3 data (see
code below).
> I would expect fcs.data.comp and fcs.data.1 to contain similar (if
not
> identical) data yet the range is completely different.
They should not be identical. fcs.data.1 contains compensated and
transformed data, while fcs.data.comp has only compensated data.
> Some transform has taken place.
Yes.
> Does this have anything to do with flowWorkspace trying to simulate
> the binning process that FlowJo does on FCS 3 data?
That binning process is flowJo's way of transforming the data for
gating. You have to reproduce the transformation in order to
accurately reproduce the gating because the transformation is non-
linear and thus gate boundaries on the untransformed (or some
inappropriately transformed) scale would also be non-linear.
> Someone at TreeStar told me that FlowJo does binning with 4096 bins
> which is possibly what is going on here?
Yes that's why the range of the transformed data goes from 1...4096.
flowWorkspace stores a mapping back to the raw scale so using plotGate
to visualize the data will give you appropriate axes on the raw scale.
> Many thanks for you help,
>
> Niko.
>
>
>
>
> library(flowWorkspace)
> library(flowCore)
>
> #CAD61.xml is a flowjo workspace file which references CAD61.fcs
> openWorkspace("CAD61.xml") -> wsp
> try(parseWorkspace(wsp, execute=TRUE, isNcdf=FALSE, path=".",
> name="All Samples")) -> G
> G at set[[1]]->g
>
> getData(g, 1)->fcs.data.1
>
> read.FCS('CAD61.fcs')->fcs.data
> compensate(fcs.data, fcs.data at
description[["SPILL"]])->fcs.data.comp
>
>> fcs.data.comp
> flowFrame object '71d0bf04-ddb1-4284-ad2b-af44322ecdfb'
> with 300195 cells and 9 observables:
> name desc range minRange maxRange
> $P1 FSC-A <na> 262144 0.00 262143
> $P2 SSC-A <na> 262144 -111.00 262143
> $P3 Alexa-488-A cd127 262144 -111.00 262143
> $P4 PE-Cy7-A hladr 262144 -111.00 262143
> $P5 APC-A cd25_ma251+2a3 262144 -108.00 262143
> $P6 PE-A cd101 262144 -111.00 262143
> $P7 Alexa-700-A cd4 262144 -96.00 262143
> $P8 Pacific Blue-A cd45ra 262144 -91.64 262143
> $P9 Time <na> 262144 0.00 262143
> 162 keywords are stored in the 'description' slot
>
>> fcs.data.1
> flowFrame object '71d0bf04-ddb1-4284-ad2b-af44322ecdfb'
> with 300195 cells and 9 observables:
> name desc range minRange maxRange
> $P1 FSC-A <na> 3641.837 455.000000
4096.837
> $P2 SSC-A <na> 262254.000 -111.000000
262143.000
> $P3 <alexa-488-a> cd127 4098.176 -1.339711
4096.837
> $P4 <pe-cy7-a> hladr 4098.176 -1.339711
4096.837
> $P5 <apc-a> cd25_ma251+2a3 4088.140 8.696338
4096.837
> $P6 <pe-a> cd101 4098.176 -1.339711
4096.837
> $P7 <alexa-700-a> cd4 4046.566 50.270760
4096.837
> $P8 <pacific blue-a=""> cd45ra 4030.885 65.951978
4096.837
> $P9 Time <na> 21737.000 0.000000
21737.000
> 162 keywords are stored in the 'description' slot
>
>
>