Analysis mode: Quick (automatic composition + stats)#

Audience: everyone (wet lab + computational)
Time: 10–20 minutes
What you’ll learn:

  • What Quick mode summarizes (and what it deliberately does not)

  • How Dynamic vs Manual page selection works

  • How to interpret the two Quick sections: Composition and Statistics

  • Common failure modes (“nothing shows up”, “wrong page”, “missing fields”)

Prerequisites:

  • A dataset loaded

  • At least one highlight page (Quick can follow the active page automatically)


What Quick mode is for (and what it is not)#

Quick mode is the “sanity check / first glance” analysis:

  • Composition: “What labels make up these cells?” (categorical obs)

  • Statistics: “What are typical QC/score values here?” (continuous obs)

Quick mode is intentionally:

  • fast (no configuration and no “Run” button — it recomputes as you switch pages),

  • cheap (it reads only obs columns already in memory, so it never waits on gene expression),

  • obs-focused (cell metadata), not gene-level hypothesis testing.

Quick mode is not for:


Inputs and scope (what cells does it summarize?)#

Quick mode summarizes highlight pages.

Dynamic mode (default): “follow the active page”#

By default, Quick uses Dynamic mode:

  • it always summarizes the currently active highlight page,

  • switching pages in Highlighting updates Quick automatically.

Manual mode: “combine pages intentionally”#

Quick also supports manual selection:

  • you choose one or more pages,

  • Quick summarizes the union of those pages.

Note

Quick mode summarizes across the selected pages as one combined set.

If you want side-by-side per-page comparisons with statistical tests, use Analysis mode: Detailed (variable + plots + statistical tests).

Filtering note (visibility vs membership)#

Quick uses page membership (stored cell indices), not canvas visibility. If you expected filters to affect analysis, see Analysis mental model (Pages, Variables, Scope).


Outputs (what you should see)#

Quick mode renders two sections:

1) Composition (categorical obs)#

For each selected composition field:

  • Quick reports the top 5 categories by count across the selected pages.

  • It renders a stacked bar where segment widths are percent of cells in those top categories.

  • It prints the top 3 categories as short labels for quick scanning.

Interpretation notes:

  • The bar shows only the top categories; the long tail is not shown.

  • Cells with a missing category are left out: they are neither listed nor counted in the denominator of the percentages.

2) Statistics (continuous obs)#

For each selected statistics field, Quick reports:

  • Mean — the average value

  • Median — the middle value, half above and half below

  • Std — how spread out the values are around the mean

These numbers are exact at any page size. Nothing here is sampled or estimated.

Note

How the three numbers are computed, and one thing to watch.

Quick makes a single streaming pass over every cell in every selected page, accumulating the mean and the sum of squared deviations, then copies the finite values into a Float32Array and selects the middle of their ascending order (averaging the two middle values for an even count): values with at most 4,096 distinct levels are counted per level, and larger samples of continuous values are selected by radix over the values’ bits rather than sorted (below about 130,000 values the browser’s own sort is quicker and is used). Cost is therefore linear in the number of selected cells — about 45 ms for a million continuous values, 0.3 s for ten million — and the result is the exact median a full sort gives, not an approximation, no matter how large the selection is. From half a million finite values the selection runs on an analysis worker, so the page stays responsive while it does.

SD (population) is the population standard deviation — it divides by n, not by n − 1, as its column says. That matters if you are checking the number against pandas, whose Series.std() defaults to the sample standard deviation and divides by n − 1. On a page of a few thousand cells the difference is invisible; on a page of 20 cells Quick’s value reads about 2.5% lower. numpy.std(values) reproduces it exactly, because numpy defaults the other way. Detailed mode’s SD (population) row uses the same denominator as Quick, so the two panels agree with each other (the tests beside them use n − 1, as SciPy and R do).


Fast path (wet lab / non-technical)#

Goal: “Tell me what this group of cells looks like in 2 minutes.”

  1. Create or select a highlight page

    • Go to Highlighting.

    • If needed, add a page and put a selection into it.

  2. Open Analysis → Quick

    • You should immediately see a header like “<PageName>: X cells”.

  3. In Composition, choose fields you care about

    • Common picks: cell_type, cluster, sample, batch.

  4. In Statistics, choose QC fields

    • Common picks: n_counts, n_genes, pct_mito, or any score field.

  5. Interpret

    • If composition looks wrong: you may be on the wrong page.

    • If statistics look extreme: you may have selected low-quality cells or a biased subset.

What success looks like:

  • the page name matches what you intended,

  • the cell count is plausible,

  • composition and QC metrics match your expectations.


Practical path (computational users)#

Quick is aggregated, not per-page#

Quick does not show a per-page breakdown. It computes summaries over the combined selected cells.

If you need:

  • per-page distributions,

  • plot customization,

  • statistical tests,

use Analysis mode: Detailed (variable + plots + statistical tests).

“Effective n” can differ by field#

  • Composition counts exclude missing values.

  • Statistics treat NaN as missing and drop it from the count.

So a page with 50,000 cells may effectively contribute fewer values for a field with missingness. An Inf is a different matter: it is not a missing value and Quick refuses to summarise a column containing one, because a mean or a spread that silently swallowed an infinity would be meaningless. Fix the column upstream rather than looking for a setting.


Edge cases and pitfalls#

  • No pages exist → Quick has nothing to summarize. Create a highlight page first.

  • Empty page (0 cells) → header shows 0 cells; sections are empty.

  • No categorical obs fields → Composition has nothing to choose.

  • No continuous obs fields → Statistics has nothing to choose.

  • Huge number of categories → only top categories are shown; use Detailed + Bar plot for full distribution.

  • Very small pages (< 20–50 cells) → mean/std are unstable; interpret cautiously.


Troubleshooting (Quick mode)#

Symptom: “Quick is blank / says there are no pages”#

Likely causes:

  • no highlight pages exist yet.

How to confirm:

  • open Highlighting and check if page tabs exist.

Fix:

Symptom: “Quick shows the wrong group”#

Likely causes:

  • Quick is in Dynamic mode and a different page is active than you think.

How to confirm:

  • open Quick’s Page selection disclosure at the bottom and read the page named beside its title (Dynamic follows the active page).

Fix:

  • click the page(s) to summarize: choosing a page leaves Dynamic for a manual selection.

Symptom: “Composition/Statistics says ‘No … fields selected’”#

Fix:

  • use the “Choose … fields” dropdown and select fields.


Interface reference#

The Quick panel for Page 1, 262 cells: a Composition section with a bar for clusters_coarse and one for clusters, each a single Ngn3 low EP segment named beneath at 100.0%, a Statistics section with the mean, median and standard deviation of S_score and G2M_score, and the collapsed Page selection.

Quick opens with no configuration at all. Composition draws one stacked bar per selected categorical field, segment width proportional to the share of cells in that category, with the top three named underneath. Statistics gives mean, median and standard deviation for each selected continuous field. The ⋯ button on each section heading chooses which fields are shown; by default it is the first two of each kind.#

Quick is the only mode with no expanded view — there is no ⤢ Expand button, because there is no plot to enlarge and no table that would not already fit. If you need a distribution rather than a summary, that is Analysis mode: Detailed (variable + plots + statistical tests).

Before any page has cells, the panel says so rather than showing an empty table:

The Quick panel before any cells were confirmed into a page: it reports Page 1 with 0 cells and has no composition or statistics to show.

The no-pages state. Page 1: 0 cells is the diagnosis: the page exists but nothing has been confirmed into it yet. Fix it in Highlighting, not here — see The analysis lifecycle, end to end step 1.#


Next steps#