Analyze
Flow cytometry
Open a flow cytometry list-mode file, compensate it with the spillover matrix it carries, apply a Gating-ML 2.0 gating strategy, and read every population's size and intensity. Every step a flow analysis takes between the instrument and the population table is here and is checked against the field's reference implementations: the reading of the file, the compensation, the display scale, the gate, and the statistics.
An 8-color FCS 3.0 acquisition with its own spillover and a 30-gate Gating-ML 2.0 strategy, and a 2002 FACSCalibur CD3/CD4/CD8 T-cell file, for compensation, gating and population statistics
What it does
- 01Reads FCS 2.0, 3.0 and 3.1 list-mode files, integer, float and double, either byte order, and linearises them as the standard prescribes: the anti-log of a log-amplified channel, its gain, and the time step
- 02Compensates with the spillover matrix the file declares, by either published algorithm: FlowKit's solve or flowCore's inverse
- 03Eleven display scales: Logicle, ArcSinh, Hyperlog, linear, log and ratio as Gating-ML 2.0 defines them, FlowJo's log and biex, and flowCore's Logicle, arcsinh and biexponential
- 04Applies a Gating-ML 2.0 strategy: rectangle, range and box gates, polygons, ellipses and ellipsoids, quadrants, and AND, OR and NOT, each dimension compensated and scaled as it declares, each population inside its parent
- 05Every population's event count, percent of parent and percent of all events
- 06The mean, median, standard deviation and CV of every channel in every population, on linear values (MFI) or on the display scale
- 07A two-channel density plot of any population, with the gates on that pair drawn in the scale they were written in
- 08A density-valley threshold on any channel, by flowDensity's deGate
- 09Writes the strategy back out as Gating-ML 2.0
What it runs on
packages/ports/assay/cytometry. The reader is checked against FlowIO over every event of 19 FCS files, refusals included; compensation against R's reference LAPACK and flowCore; the eleven scales against FlowUtils, FlowKit and flowCore over 20 million values and against the Gating-ML 2.0 specification's own printed tables; gating against ISAC's expected per-event answers for all 80 gates of the Gating-ML 2.0 compliance suite; the statistics against NumPy.
Everything runs client-side. Files are parsed in the browser and projects are saved on this machine, so an unpublished sequence is never uploaded.
Questions
- Does it read my FCS file?
- Any FCS 2.0, 3.0 or 3.1 list-mode file, which is what every flow cytometer exports. A file whose header and text disagree about where the data starts is refused and the two positions are named, because reading either one silently is how a file loads shifted by a few bytes and every event comes out wrong.
- Which compensation does it use?
- The spillover matrix the instrument wrote into the file ($SPILLOVER or $SPILL), unless you switch it off. Two published algorithms are offered: the one FlowKit uses, which solves the system for each event, and the one flowCore uses, which inverts the matrix once. They agree to about one part in 10^15 of full scale.
- Why do my gate percentages differ from FlowJo's?
- Usually the scale. A gate is a region in the coordinates it was drawn in, so the same polygon drawn on a Logicle axis and on a biex axis selects different events. Gating-ML records the scale with every gate and this tool applies it; a FlowJo workspace (.wsp) is not read here.
- What does the threshold do?
- It smooths the channel's distribution and finds the valleys between its peaks, which is flowDensity's deGate. On a channel with one peak it cuts at the inflection point instead. The cut is shown on the display scale and as an intensity, with the events above it counted.
- Is anything uploaded?
- No. The file is read, compensated and gated in your browser.
Also searched as
open an fcs file online · fcs file viewer · flow cytometry analysis in the browser · FlowJo alternative · FCS Express alternative · Cytobank alternative · FlowKit in the browser · flowCore in the browser · Gating-ML 2.0 viewer · apply a Gating-ML file · spillover compensation · compensate flow cytometry data · logicle transform · biexponential display · arcsinh cofactor transform · population percentages from gates · MFI per population · flowDensity threshold