Analysis UI overview#
Audience: everyone (wet lab + computational + power users)
Time: 15–25 minutes
What you’ll learn:
Where Analysis lives and what it depends on (highlight pages)
How the mode accordion behaves (open/close; one mode at a time)
How an analysis form is laid out (essentials, More options, Run)
Which modes auto-run and which wait for Run
How “Copy” creates floating analysis windows (what is copied vs recomputed)
Where exports live (CSV) and where plot options live (modal/expanded view)
Prerequisites:
A dataset loaded in the web app
At least one highlight page (recommended for nearly all modes)
Where Analysis lives (UI map)#
In the left sidebar, Analysis is a dedicated accordion section:
Sidebar → Analysis (directly below the Highlighting panel and its highlight pages).
Analysis is intentionally placed right after highlighting because:
you define groups with highlight pages, and
you analyze/compare those pages here.
If Analysis looks empty, the first thing to check is whether you have highlight pages: see Highlighting and Selection (Groups, Pages, Tools).
The Analysis mode accordion (how it behaves)#
Inside the Analysis section you’ll see the analyses in three groups:
Genes
Marker genes (the markers of every category of a field)
Differential expression (compare two groups of cells; volcano plot + gene table)
Dot plot (mean expression and % expressing of genes per group)
Gene signature (score gene sets across selected pages)
Cells
Composition (cell-type proportions across samples and conditions)
Explore
Quick (automatic composition + stats summaries)
Detailed (choose a variable + plot type + options)
Correlation (choose X and Y variables; scatter plot + stats)
Every analysis, collapsed. Each row shows its name, an (i) that says what it does, a copy button that opens it in a floating window, and a chevron that opens it in place.#
Accordion behavior:
Only one mode can be open at a time.
Clicking an already-open mode closes it.
Closing the mode hides results in the sidebar; reopening triggers a refresh if inputs changed.
The analysis form#
Every analysis with Run lays its form out the same way, so it stays short however many options it has:
Essentials — the two or three choices that define the analysis (Group by, Group A and Group B, the gene sets), each with its (i). A mode that compares pages shows its page selector here too.
More options — one collapsed disclosure holding a collapsed group per topic (Cells, Test, Filters, Display, …). Each header counts the options changed from their defaults (
2 changed), and Reset to defaults puts them back. An option that does not apply (the reference group while comparing against the rest) is hidden.Run — with a muted line above it when the analysis cannot run, saying why (
Choose two pages,Add genes to a set). Run is disabled until then.
Every default is stated in a Defaults table on the mode’s page. Which groups you left open is remembered with the session.
After a run. Changing an option that would change the numbers leaves the result in place, dimmed, with a Stale · Run chip: press it (or Run) to run again. Options that only change what is shown — the filters and labels of a volcano, the ranking and number of markers, a signature’s plot and rescaling — redraw the result at once, without computing again. Changing pages or page contents marks a result stale the same way.
Running, cancelling and running again#
Every analysis that reads genes or computes for more than a moment runs as one job you can stop: Differential expression, Marker genes, Dot plot, Composition, Correlation, Gene signature, Quick and Detailed (a gene’s values, a box, violin, histogram or density plot).
While it runs. Run reads Running…, and a box under the form (in Quick
Insights and Detailed, where the result appears) shows, once the job has run for
a quarter of a second:
the mode’s name and, when it is known, what the run covers (
3,753 genes in Alpha (1,234 cells) vs Beta (5,678 cells));what it is doing: the step (
Preparing groups,Testing genes,Correcting for multiple testing,Reading genes,Scoring cells,Computing the correlation,Reading <variable>,Drawing the result), how many genes are done of how many, how much it has read and how fast, and how long is left;a progress bar, and Cancel.
A job that takes longer than a second also shows one progress notification with
the same line and its own Cancel button. It is the run’s only
notification: the gene reads it makes are not announced again by the general
read notifications – neither is a gene a view started reading before the run
needed it too, which the run takes as its own read from then on – and it
closes with the outcome (Differential expression: 412 significant genes).
First answer on a sample. Differential expression, Marker genes, Gene
signature, Correlation, Composition, Dot plot, Detailed and Quick Insights can answer twice: a
first pass on a uniform random sample of the open cells, then the same run on
every cell, whose result replaces the first in place. The sample is the first
cells of the open cells’ priority order (the same cells the coarsest levels of
detail draw; Performance considerations (what gets slow and why)),
and each page or group is taken as its cells in it, so the first pass is an
unbiased preview of the final answer. A line under the progress box says which
cells the shown result used:
First pass: each group's cells in a uniform sample of 4.2% of the open cells (about 420,000 of 10,000,000) · refining on every cell…,
then Every cell: computed on all cells of its groups (10,000,000 open cells).
When genes are read for a sample of the open cells (below), the line never
says every cell: a result on every cell genes are read for has no such line
(the gene sample’s own line says it), and a first pass says … · refining on the cells genes are read for….
The final result is exactly what a single run on every cell gives, bit for
bit; it is the one saved in sessions and exported.
A first pass is taken only when it pays, judged from what earlier runs of the same analysis measured on this device. With nothing measured yet, when the whole run is predicted to take under a second, or when a first pass would not answer at least twice as soon (most of the time goes to work a sample does not shorten), the analysis runs once. Reading genes shortens with the sample where the file allows: the sample is the first cells, so an analysis that reads its groups’ cells (Differential expression, Marker genes) reads only those cells’ part of each gene from a file Cellucid wrote (each gene’s values are stored by priority order, so the sample’s are the first ones) and from a matrix stored cell by cell whose index is built in parts (only the parts the sample’s cells lie in); the final pass then reads the rest. Otherwise the first pass takes as many cells as fit in about a second, and never fewer than the square root of the number of open cells. A first pass the sample cannot carry (a group with fewer than two of its cells in the sample) is skipped. The measurements are kept in this browser (they are a convenience, never needed).
Genes on a sample of the open cells. A large dataset stored cell by cell opens every cell on the map and reads a gene for a sample of them, the first cells of their order (Genes on a sample of the cells); the other cells have no gene value yet, which is not 0. An analysis that reads genes (Differential expression, Marker genes, Gene signature, Dot plot, and Detailed or Correlation on a gene) then computes on each group’s cells among that sample, and one warning line under the result says so in compact counts that fit the narrowest panel (Genes read for 3.8K of 2.3M cells; under a subsample’s own chip when a subsample is open). Its (i) holds the exact words: the counts, how many of its groups’ cells that is and each group’s share (Genes are read for 3,769 of the 2,282,447 open cells … 3,769 of its groups’ 2,282,447 cells). The line is a link: it opens Session › Subsampling at Genes read for and puts the focus on its slider, the one place that changes how many cells genes are read for (there is no size control inside an analysis). A group with fewer than two cells among the sample is named with how many it has. Marker genes counts each group among the sample: a group with fewer than Min cells per group of its cells there is skipped, and the chip says why (15 skipped: too few sampled cells, each group’s cells among the sample of its cells in its tooltip). Per-cell gene scores have no value on the other cells, and the gene means a module score bins and a z-score divides by are over the sample’s cells. Genes read for reads genes for more cells (up to every open cell, Genes read for); results that read genes are then marked Stale · Run, and run again use the cells now read; a Detailed view of a gene draws itself again on them.
Cancel. Cancelling stops the job where it is: its gene reads stop in the
file reader (a remote file stops downloading), and its computations stop in
the analysis workers (a worker still busy a quarter of a second after the
cancel is replaced by a fresh one, so nothing keeps running for a cancelled
job). Nothing of the cancelled pass is kept: no partial result is shown, cached
or exported. A first pass already on screen stays, and its line says so:
… Stopped before every cell; run again for all of them.; it is not saved in
sessions or exported as the analysis’s result. A read that something else also
waits for, the gene the embedding is coloured by, or the same gene another
analysis window reads, goes on for it.
The same happens, without asking, when you close the analysis window or switch to another dataset. Changing an option while a run goes does not stop it: the result arrives and is marked Stale · Run if the form no longer matches it. So is a result when the open cells change (a larger or smaller share applied in place, a large dataset’s progressive opening growing; Subsampled loading: open a share of the cells): the window stays, the chip’s tooltip says the open cells changed (with the counts then and now), and Run computes on the cells open now. A run under way when the cells are to change finishes first, on the cells it started on (the change waits for it), and its result is then marked stale; a run started while they change starts on the new cells. A stale result is never passed on as current: it is not saved in a session, its exports (CSV, PNG, SVG, GMT) are refused with a note saying why, and its scores and gene sets are withdrawn from what a notebook reads until it is run again.
After a cancel the box reads <mode> cancelled and
Cancelled after 12 s. 1,240 of 3,753 genes were done. Nothing was kept.,
with Run again. A cancel is never reported as an error. Run again runs
the form as it stands.
When a run fails the box reads <mode> failed with the reason, again with
Run again, and the notification says the same once.
Page selection UI (“Compare pages”)#
Most modes include a page selector labeled Compare pages.
What you can do there:
click tabs to select which pages are included,
see per-page cell counts,
customize page colors (used consistently in plots),
select all/deselect all quickly.
Some modes also show derived pages:
Rest of <page> (the complement of a page across the full dataset).
Rest of Page 1 is the derived complement — every cell not in Page 1. You do
not create it; it appears next to each base page with its own count and colour,
which is what makes a two-group comparison possible from a single selection.#
Tip
When a plot “doesn’t match what you expect”, the most common cause is selecting the wrong pages. Always confirm which pages are selected in the mode you’re currently using.
Variable selection UI (obs vs genes)#
Detailed mode#
Detailed uses a two-step variable selector:
choose the type: Categorical obs / Continuous obs / Gene expression
choose the specific variable (field key or gene)
If gene expression is not available in the dataset, the selector will show an explicit “No gene expression data available” message.
The gene list is the same windowed list as the sidebar’s gene search (see
Field selector UX): it lists None
and every matching gene, opens with the chosen gene highlighted, and only
builds the rows near what is shown. ↓ / ↑ move the highlight and wrap at
either end, Home and End jump to the first and the last entry,
Enter chooses the highlighted entry and Esc closes the list.
A gene that stays under the pointer, or highlighted with the arrow keys, in the gene list for 150 ms starts loading in the background, so choosing it usually needs no wait. Moving on cancels that load, and choosing the gene uses it.
Correlation mode#
Correlation’s X axis and Y axis use the same picker (continuous obs or gene). Method (Pearson or Spearman) and Colour by are under More options.
“Copy” (floating analysis windows)#
Each analysis accordion item has a small Copy control.
Copy creates a floating analysis window so you can:
keep one result visible while exploring another mode, or
run the same mode with different settings side-by-side.
Copy undocks a mode into a floating window that sits over the viewer. It has its own header, its own copy and close buttons, and its own independent copy of the form — so you can keep one configuration on screen while changing another.#
Important behavior:
Settings are copied. Results are not copied.
The copied window recomputes from current data/pages.Floating windows have their own UI instance, so they can be configured independently.
Moving, resizing and maximizing a window#
Move: drag the header (mouse, pen or finger), or press
Alt+ an arrow key on the header or an edge (16 px; 64 px withShift).Resize: drag any of the four edges or four corners. The edges are thin until the pointer reaches them, then show an accent line; the bottom-right corner always shows a grip. A size readout (
640 × 480) shows while you drag. Near another window’s edge, the sidebar, the middle of the free area, the screen edges or the height of the content, the edge snaps and a thin guide line shows where.Fit: double-click the top or bottom edge to fit the height to the content; double-click a side edge to return to the width the window opened at.
Maximize: the □ button in the header, or a double-click on the header, fills the free area beside the sidebar; the same again restores the size.
Keyboard: once focus is inside a window,
Tabalso reaches its edges and corners. The arrow keys move the focused edge (16 px; 64 px withShift),HomeandEndgo to the least and the largest size, and a screen reader reads the size on each key.
A window is at least as wide as the sidebar’s least width and as tall as its header and first row; the only largest size is the screen. A new window of an analysis opens at the size you last gave one; the sizes are saved in the session and forgotten when another dataset opens.
On a phone#
On a screen 720 px wide or less, analysis windows are bottom sheets: full width, at 40%, 75% or all of the screen. While the panel is closed, a sheet stands on the panel’s bar at the foot of the screen, no taller than the screen above it, so the bar always opens the panel; every other window is kept above the bar too. Drag the grip above the header to change the height (it settles on the nearest of the three), tap the grip to step through them, or use the arrow keys on it. A tap on the header collapses the sheet to its header. One sheet shows at a time; with several open, a tab strip above the sheet names them and brings one to the front. Turning the phone or widening the window gives every window back its own place and size.
Sessions (what restores)#
If you save/restore a session:
the docked panel reopens the mode that was open, with every mode’s settings and which of its More options groups were open,
floating analysis windows reopen with their settings and their place, size and open or collapsed state (which window is in front is not saved: a click raises a window), and new windows and expanded views keep the sizes remembered for each analysis,
the shown results of Differential expression, Marker genes, Gene signature, Correlation, Dot plot and Composition are saved and restored as they were, without recomputing; Quick and Detailed recompute from their settings,
a saved result that names a gene, field or category the open dataset lacks is refused rather than shown against different data,
gene-expression caches are not saved; genes are read again when needed.
See Session Saving, Restoring, and Sharing for session semantics.
Next steps#
The analysis lifecycle, end to end (one analysis end to end, eight screenshotted steps)
Analysis mode: Quick (automatic composition + stats) (Quick: composition + stats at a glance)
Analysis mode: Detailed (variable + plots + statistical tests) (Detailed: variable + plot type + statistical tests)
Exporting analysis results (what exports exist and what they contain)