FlowCyto
web-native flow cytometry

Your FlowJo gates, reproduced on your own events. Then run at a scale the desktop can't.

FlowCyto imports your .wsp, re-derives every gate on your own events, and shows you the delta against FlowJo's own recorded numbers — so the match is something you check, not something we claim. Then it opens full spectral panels and whole plates in the browser, with no RAM ceiling and no downsampling.

start free · no dongle · no credit card

CD4-BV421 × CD8-APC
quadrant gate
density
spec@v7 · inputs@9f0e1d2c · engine@v0.1.0100,000 events
concordance · vs flowjo

Your gates come with you — to within a few events.

Switching tools means betting that the new one lands populations where the old one did. So we make the bet checkable: import a FlowJo workspace and FlowCyto re-runs the gating hierarchy on your events, then reports every population side by side with FlowJo's own recorded counts and the delta.

  • Logicle / biexponential transforms — vs published equations
  • Spillover compensation matrices — exact import
  • Polygon · quadrant gate geometry — vs GatingML 2.0
  • FCS reading across 33 instruments — byte-faithful

The logicle transform we use is the published Parks–Moore–Roederer formulation, not a proprietary black box, so the math that places a cell is auditable, and reproducible on your machine or ours.

concordance_report · FlowSOM panel 15 / 15 within 0.5%
PopulationFlowJoFlowCytoΔ
Lymphocytes19,21219,2250.07%
Singlets18,68918,7020.07%
Singlets218,57318,5850.06%
NK1_1+9239230.00%
NK cells3123120.00%
NK T cells5355350.00%
NK1_1-17,45817,4700.07%
B cells2,4592,4600.04%
T cells10,74510,7470.02%
ab T cells9,1889,1910.03%
CD4 T cells7,4807,4820.03%
CD8 T cells1,4071,4070.00%
DN T cells2662670.38%
DP T cells660.00%
gd T cells1,4701,4700.00%
this panel: 15/15 within ±2 events / 1% (strict)Public workspace · saeyslab/FlowSOM (GPL-2+) · reproducible
capabilities

Built for the data the desktop chokes on

Full-fidelity scale and reproducibility-by-default, in the very first release, alongside the daily gating workflow you already know by heart.

no downsampling

Full panels, every event

Open a 30-color spectral panel or a whole 384-well run and gate on every event, not a 60k subsample. The data stays server-side in a columnar store; the browser holds only the view. Rare-event and MRD analysis never has to bias itself down to fit RAM.

versioned spec

Reproducible by default

Every gate, transform, and compensation edit commits to a versioned Analysis Spec. Restore any prior state in one click, or re-run months later for identical numbers. No manual bookkeeping, no "which version was the figure?"

any instrument

Reads everything

FCS 2.0/3.0/3.1, Beckman LMD, CSV, TSV, Parquet, from Aurora, Symphony, Fortessa, CytoFLEX. $PnE log/linear, gain and voltage keywords, time parameter, spillover matrix: all preserved on import.

zero install

Browser-native

No dongle, no activation, no quote request. Sign in with SSO and you're gating in seconds, on any machine, shared with your lab, identical for everyone who opens it.

the determinism contract

Separate the analysis from its execution

You edit a declarative Analysis Spec; a content-addressed engine executes it out-of-core over immutable, hashed inputs. Because the spec, the inputs, and the engine version are all pinned, the same analysis always produces the same numbers, and any value traces back to exactly what made it.

  • Content-hashed, immutable raw inputs
  • Linear version history with one-click restore
  • Hover any value for its full lineage
  • Re-run a months-old document for identical results
reproduce.flowcyto
$ flowcyto reproduce --verify
spec@v7 ab12cd34ef…
inputs@hash 9f0e1d2c…
engine@v0.1.0
deterministic output · verified

Identical on your laptop, a teammate's, CI, or an air-gapped on-prem deployment.

get started

Bring your biggest dataset, and your FlowJo workspace.

Open a spectral file too big for a 32 GB desktop, reproduce the gates you already trust, and version every step from here forward.