Analysis mode: Detailed (variable + plots + statistical tests)#
Audience: everyone (best for computational users; still accessible for wet lab)
Time: 20–40 minutes
What you’ll learn:
How Detailed mode compares pages for a chosen variable
How to choose the right plot type for categorical vs continuous vs gene expression
What summary statistics and statistical tests are shown (and their limitations)
How to export plot data as CSV
Prerequisites:
A dataset loaded
At least one highlight page (Detailed compares pages)
For gene variables: gene expression available
What Detailed mode is for#
Detailed mode is the “one variable, many pages” workhorse.
You use it when you want to answer questions like:
“Does
cell_typecomposition differ between these pages?”“Is
pct_mitohigher in Page A than Page B?”“Is gene
CXCL8more expressed in this page than the rest of the dataset?”
Compared to Quick:
Quick gives fast aggregated summaries.
Detailed gives plot choice + customization + side-by-side comparisons + tests.
Inputs (what you choose)#
Detailed mode has three core inputs:
1) Variable#
You choose one variable from:
Categorical obs (labels)
Continuous obs (numbers)
Gene expression (a gene)
2) Pages (“Compare pages”)#
You select which highlight pages are included in the comparison.
Detailed also supports derived pages:
Rest of <page> (the complement of a page across the whole dataset)
Common workflow:
select 1–4 pages for comparisons,
or do one-vs-rest by selecting
Page AandRest of Page A.
3) Plot type#
Plot types depend on variable kind:
Categorical variables: bar/pie/heatmap-style comparisons
Continuous variables (including genes): violin/box/histogram/density-style comparisons
Plot options live in the expanded/modal view (recommended for real work).
What you get (outputs)#
Detailed mode provides three layers of output:
A) The plot (main visualization)#
The plot visualizes the distribution of the selected variable across the selected pages.
Examples:
categorical → grouped/stacked bar plot
continuous → violin plot per page
gene expression → distribution plots per page
B) Summary statistics (table)#
The summary table is meant to be “readable truth” even when plots are ambiguous:
For categorical variables: per-page category counts/percentages (limited to the most common categories in the table view). Cells with a missing category are left out of the plots, the table, the percentages and the tests, as for every analysis (Analysis mental model (Pages, Variables, Scope)).
For continuous variables: per-page count/mean/median/min/max/std
C) Statistical annotations (tests)#
If you select at least 2 pages, Detailed shows statistical tests appropriate to the variable kind:
If the variable is categorical#
Pearson chi-squared test for a general difference in distributions when every expected cell count is at least 5, with Yates’s continuity correction on a 2×2 table (the card says so), as SciPy’s
chi2_contingencyand R’schisq.testapply it by default (effect size: Cramér’s V, from the uncorrected statistic)Fisher’s exact test is selected automatically for a 2×2 table when any expected cell count is below 5
Fisher reports a two-sided exact p-value (tables no more probable than the observed one, within R
fisher.test’s relative 1e-7) and a sample odds ratio whose group/category contrast is shown on the result card
Both come from the one kernel Composition uses, so one table gets one answer in both views
A larger sparse table is shown as N/A rather than given a potentially misleading Pearson p-value; combine scientifically compatible sparse categories or use an appropriate exact test outside Cellucid
If the variable is continuous (including genes)#
If you selected exactly 2 pages:
Welch’s t-test with Welch–Satterthwaite degrees of freedom (effect size: Cohen’s d)
Mann–Whitney U (effect size: rank-biserial r)
exact two-sided p-value when both groups have fewer than 50 finite values and there are no ties
otherwise a tie- and continuity-corrected asymptotic p-value
the result card reports the p-value method
rank-biserial direction is reported as group 1 versus group 2
If you selected 3+ pages:
One-way ANOVA (effect size: η²)
Kruskal–Wallis with tied-rank correction and a chi-squared reference tail (effect size: ε²)
Non-finite values are excluded before continuous tests. If all remaining values are identical, variance- or rank-based inference is undefined and the affected result is shown as N/A, rather than as evidence for no difference.
Important
These tests are meant for exploratory, interactive comparison.
They treat the supplied cell values as observations, do not model donors or batch covariates, and do not correct for running many variables. For publication-grade inference, export data and use a dedicated statistical workflow.
For analysis-wide scope and assumptions, see Analysis mental model (Pages, Variables, Scope).
Fast path (wet lab / non-technical)#
Goal: “Show me whether these two groups differ in a way I can explain.”
Make two pages
Example:
ResponderandNon-responder(orCluster 3andRest of Cluster 3).
Open Analysis → Detailed
Choose a variable
Start with a clear variable like
cell_typeorpct_mito.
Select the pages to compare (Compare pages)
Read the results
Plot: “Do the shapes look different?”
Summary stats: “Are the medians/means different?”
Statistical tests: “Is it likely a real difference?”
If you need gene-level answers, switch the variable type to Gene expression and choose a gene.
Practical path (computational users)#
Choosing the right plot type#
Bar plot: best default for categorical; use “Percentages” for composition comparisons across different page sizes.
Violin/Box plot: best for continuous distributions; violin shows shape, box shows summary.
Histogram/Density: useful for multi-modal distributions and QC gating.
Note
How large pages are drawn. Every plot shows exactly what it would draw from every cell; nothing is sampled. For a page of tens of thousands of cells or more, the box statistics, the violin’s density and box statistics, the density curve, the histogram bins and the summary and tests below the plot are computed on the analysis workers before the view is drawn, so the page stays responsive while they run. A histogram bins the values itself and hands the plot a few values per bin, so its bars and hover ranges are the same however many cells the page has.
Box and violin outliers are drawn on the axis line without jitter, so copies of one value land on the same spot. A zero-inflated gene whose quartiles are all zero makes every expressing cell an outlier; box and violin plots draw at most 16 copies of each identical outlier value, which already looks fully stacked, and every distinct value, the minimum, the maximum and the hover text are those of the full set. All points (jittered) are always drawn one per cell, so on a page of millions of cells that mode is slow in any plot.
Reading statistical tests responsibly#
Treat the tests as:
a check for “is there a detectable difference given this subset?”
not a substitute for a designed experiment model.
If you see significance with tiny effect sizes:
consider whether sample size is huge (small differences become “significant”),
and inspect effect size + plot shape, not just p-values.
Gene expression scale matters#
Detailed mode uses whatever expression values are in your dataset:
raw counts, log1p, normalized, etc.
This affects:
the magnitude of mean/median differences,
and how you should interpret “fold-like” effects (especially if values are already log-transformed).
Export (CSV)#
Detailed always exports one row per cell, as detailed-analysis-data.csv,
whatever plot is on screen. The plot type changes the picture, never the file:
columns are page, cell_index (the cell’s row in the whole dataset in its
original order) and the variable you selected.
This is the raw per-cell table — you do not need a second workflow to get one. Because it is per-cell, a large comparison produces a large file; the size warning and the full column meanings live in Exporting analysis results, which is the single authority for every analysis CSV schema.
Edge cases and pitfalls#
No pages selected / no pages exist → create highlight pages first.
Tiny pages → tests are unstable and effect sizes can be misleading.
Constant values (no variance) → tests can return degenerate statistics.
Many categories → tables may truncate; use bar plot + export.
Missing gene expression → gene variables unavailable or error on load.
Overlapping pages → pages that share cells are not independent samples, so the tests (Welch’s t, Mann-Whitney, ANOVA, Kruskal-Wallis, χ², Fisher) are not run: the statistics panel says how many cells the pages share, as Differential expression refuses such groups. The summaries and plots stay.
On a subsample → the result says how the open cells were chosen (Subsampled loading: open a share of the cells).
Troubleshooting (Detailed mode)#
Symptom: “Plot is empty but pages have cells”#
Likely causes:
the selected variable is missing for those cells (all values are missing/non-finite),
or categorical field has no values in those pages.
Fix:
try a different variable,
verify the field exists and is populated,
verify pages actually contain cells.
Interface reference#
Detailed with one variable (cell_type) across two pages. The plot-type choice
is filtered by the kind of the variable, so a categorical field offers Bar
plot, Pie / Donut and Heatmap — and nothing else.#
Note
The category axis prints only the names that fit. A categorical axis draws as many labels as its box can show without one name touching the next, and the ones it cannot show are dropped whole — every label you can see is a real category, spelled in full, and the two ends of the axis are kept where there is room for more than one. How many survive is a property of the drawn box, not of your data: eight cell types leave room for two names — the two ends — in the 224-pixel sidebar above and five in the expanded view below. The bars are all there either way; it is the labels that are rationed. Read the shape in the sidebar, read the names in the full view, and read every name in the exported CSV.
The full view is where the numbers are:
Expanded Detailed. Summary statistics is a per-page table — category counts and percentages for a categorical variable, or Count / Mean / Median / Min / Max / SD (population) for a continuous one, and it names every category whether or not the axis had room to. Statistical analysis runs the tests below it.#
Note
The chi-squared card in that capture reads N/A, with the explanation “Pearson chi-squared inference is unavailable because an expected count is below 5; use an exact test or combine sparse categories.” That is the intended behaviour, not a failure: the comparison is one pure cell type against seven others, so most cells of the contingency table are expected to be empty and a chi-squared p-value would be meaningless. The app declines to print one rather than printing a wrong one.
Next steps#
Analysis mode: Correlation (X vs Y across pages) (relationships between two variables)
Analysis mode: Differential Expression (DE) (Group A vs Group B) (gene-level A vs B comparisons)
Exporting analysis results (what each mode exports)
Troubleshooting (analysis) (analysis-wide debugging)