Coming from Rodrigolab's Flow Cytometry Analyzer¶
Rodrigolab's Flow Cytometry Analyzer is deprecated and replaced by CytoFlow.rs. This page is for people who used it: it maps every feature of the old tool to CytoFlow.rs, walks through the old workflow in the new application, and lists what is new and what behaves differently.
The short version: you still load an FCS file, draw freehand selections on scatter plots, combine them, and export the remaining events as CSV, Excel or Parquet. The difference is that your selections are now named gates in a hierarchy instead of a flat list of intersected filters, and they are saved in a workspace file you can reopen.
Installing¶
Install CytoFlow.rs from the Releases page as described in the Installation Guide. The two applications can be installed side by side. On macOS, the Gatekeeper step uses the new app name:
When you no longer need the old tool, uninstall it as before (drag "Rodrigolab's Flow Cytometry Analyzer" to the Trash, Settings > Apps on Windows, or sudo apt-get remove flow-cytometry-analyzer on Linux).
Feature Mapping¶
| Flow Cytometry Analyzer | CytoFlow.rs | Notes |
|---|---|---|
| Load FCS File button | Add FCS… (Cmd+O / Ctrl+O) | Several files can be loaded at once and kept side by side in the Samples list |
| Clickable channel list; first click = X, second = Y | X and Y channel menus above the plot | Stain names are shown, e.g. CD4 (PE-A). Choose Histogram in the Y menu for a 1-D plot |
| Lasso selection (left-click and drag) | Lasso tool (L): left-click and drag, release to close | Stored as a polygon gate. The Polygon tool (P) places vertices one click at a time |
| Selected points highlighted in green | The gate outline is drawn on the plot with its name and % of parent | Points are not recoloured; the population's events are plotted when you open it |
| Confirm Selection | Finishing a shape asks for a population name; Enter creates the gate | There is no separate confirm step. Cancel the name dialog (or press Esc while drawing) to discard |
| Clear Selection | Esc while drawing; Delete to remove a created gate | |
| Multiple filters, automatically intersected | Gate hierarchy: draw the next gate inside the previous population (child gates) | A population contains only events inside every gate on its path, which is the same intersection. Sibling gates are not intersected; use a Boolean AND gate to intersect populations from different branches |
| Filter per channel pair; "existing filter" warning and Reset Filter | Any number of gates per channel pair and per population | Edit a gate by dragging it or its handles (select tool, V); delete it with Delete |
| Filter summary (total / passing / excluded events) | Statistics panel: count, % of parent, % of total for every population; counts in the graph header | Excluded events = parent count − population count |
| "Show excluded points from past filters" | Show parent events checkbox | Draws, in grey, the parent population's events that the current gate leaves out |
| Log scale / linear scale checkboxes | Scale menu per axis: linear, log, asinh, logicle, biex | Logicle and biex show negative (compensated) values, which log axes cannot. Changing a scale keeps the gates' meaning |
| Zoom: mouse wheel; pan: right-click and drag | Same gestures; also Space + drag to pan | Reset button → press 0. There are no + / − zoom buttons |
| Export Filtered Data → CSV / Excel / Parquet | Export population… → CSV / XLSX / Parquet | Exports the selected population (open the last gate first). The XLSX file has the same metadata + data sheets. New options: compensated or raw values, display-scaled values, only the plotted channels |
| Themes: System, Light, Dim, Dark | Theme button: Auto, Light, Dim, Dark | "System" is now called "Auto"; the button cycles through the four |
| Filters lost when the app is closed | Workspace file (*.cfw.json, Cmd+S) |
Reopen it later with Open… to get every gate back |
A 5-Minute Walkthrough¶
This reproduces the typical old workflow (load, select live cells on scatter, then a fluorescent population, export) in CytoFlow.rs.
-
Load the file. Click Add FCS… and choose your FCS file. Click it in the Samples list. The plot shows two channels, for example FSC-A against SSC-A.
-
Pick the channels. In the X menu choose
FSC-A, in the Y menuSSC-A. Both are on a linear scale by default, as in the old tool. -
Draw the first selection. Press L (or click the lasso button in the graph header). Hold the left mouse button and trace around the cells; release to close the shape.
-
Confirm it. A dialog asks for a name: type
Cellsand press Enter. This is the old "Confirm Selection". The new population is selected straight away and the plot now shows only its events. -
Second selection on other channels. Change X to a fluorescence channel, e.g.
CD3 (FITC-A), and Y toCD4 (PE-A). Their scale is logicle (choose log in the scale menu if you prefer the old look; events at or below zero are then piled on the axis). Lasso the population you want and name itCD3+ CD4+.This is the old "multiple filters": because you drew it while looking at
Cells, the new gate only contains events that are inside both selections. Look at the Populations tree:CD3+ CD4+is indented underCells. -
See what was excluded. Tick Show parent events to see, in grey, the
Cellsevents that fall outside your new gate. The Statistics panel shows the count and % of parent of each population. -
Export. With
CD3+ CD4+selected, click Export population…, choose CSV, Excel (XLSX) or Parquet, keep Compensated values as you like, click Export… and choose a file name. You get the same file as with the old "Export Filtered Data": the events passing all of your selections. -
Save. Press Cmd+S (Ctrl+S) to save the workspace. Next time, Open… it and all your gates are back; you can also load more FCS files and the same gates are applied to them.
What Is Not Identical¶
- No "Confirm Selection" button. The gate is created when you name it. Pressing Esc while drawing, or cancelling the name dialog, discards the shape.
- Selections are not intersected automatically across branches. Only gates drawn inside another population (children) combine. If you draw two gates while looking at the same population, they are two separate (sibling) populations. To intersect them, create a Boolean AND gate (Boolean…).
- The export takes one population. The old tool exported the events passing all filters; CytoFlow.rs exports the population you select. Select the deepest gate of your chain to get the same result.
- Excel export: the metadata sheet lists the FCS keywords and the export settings; the layout of the sheets may differ in detail from the old tool's. Excel's row limit (1,048,576 rows) applies; use CSV or Parquet for bigger populations.
- Log scale: the old log checkbox was a plain log10 axis. CytoFlow.rs' log scale has a fixed number of decades (M, default 4.5) below the top of the scale (T), so very small values are clipped at the bottom. For compensated fluorescence, use logicle or biex instead.
- Default scales: fluorescence channels open on logicle, not linear.
- Selected points are not recoloured green; instead the gate is outlined, and opening the population shows only its events.
- Zoom buttons: the + / − buttons are gone; use the mouse wheel, and 0 to reset.
- Lasso shape: the freehand path is stored as a polygon, so after drawing you can move its vertices with the select tool.
What Is New¶
Things the old tool could not do:
- Gate hierarchy with named populations, plus rectangle, polygon, ellipse, range, linked quadrant and Boolean (AND / OR / NOT) gates, and negated gates
- Editing gates after drawing them (move, reshape, rename, recolour)
- Several samples in one workspace, groups that apply the same gates to many samples, and per-sample tailored gates
- Compensation from the FCS file's spillover matrix or a custom matrix
- Logicle, biex and arcsinh scales with editable parameters
- Density and contour plots, histograms, overlays of populations or samples
- Statistics: % of parent / % of total for every population, median / mean / CV / SD / geometric mean per channel, and a statistics table export for all samples
- Batch view of the same plot across all samples, a layout editor for figures, PNG/SVG export and copying plots to the clipboard
- FlowJo
.wspimport with counts that match FlowJo (see Validation) - Workspace files that keep everything between sessions
- Keyboard shortcuts for every tool (see Keyboard shortcuts)
Getting Help¶
If something you relied on in the old tool is missing or behaves unexpectedly, open an issue on GitHub and mention that you are coming from Flow Cytometry Analyzer.