Filter cells/genes by QC metrics. Unified node (replaces qcMetrics + qcVisualization). Use the QC Workspace toolbar button for interactive threshold exploration. Each filter has its own enable toggle. Built-in plot replaces the old separate qcVisualization node.
| Name | Type | Default | Description |
|---|---|---|---|
show_plot | checkbox | true | Generate built-in QC plot. |
plot_type | select | violin | violin/scatter/histogram/highest_expr_genes/scatter_matrix. |
color_by | obs column | — | Obs column to color cells by (empty = auto QC_label coloring — PASS/FAIL). |
group_colors | color map | — | Canonical categorical color overrides for the active color_by owner. Empty color_by uses obs['QC_label']; null preserves the existing plot palette. |
layer | text | — | Data layer to use for QC calculation (empty = X matrix). |
mito_prefix | text | MT- | "MT-" human, "mt-" mouse. |
ribo_prefix | text | RPS,RPL | Ribosomal gene prefixes. |
hb_prefix | text | HB | Hemoglobin gene prefix. |
filter_min_genes | checkbox | true | Enable minimum genes per cell filter. |
min_genes | number | 200 | Min genes per cell. |
filter_max_genes | checkbox | false | Enable maximum genes per cell filter. |
max_genes | number | 5000 | Max genes per cell (doublet filter). |
filter_min_counts | checkbox | false | Enable minimum counts per cell filter. |
min_counts | number | 500 | Minimum total UMI counts per cell. |
filter_max_counts | checkbox | false | Enable maximum counts per cell filter. |
max_counts | number | 50000 | Maximum total UMI counts per cell. |
filter_max_pct_mito | checkbox | true | Enable mitochondrial percentage filter. |
max_pct_mito | number | 20 | Max mito percentage. |
filter_max_pct_ribo | checkbox | false | Enable ribosomal percentage filter. |
max_pct_ribo | number | 50 | Max ribosomal percentage. |
filter_max_pct_hb | checkbox | false | Enable hemoglobin percentage filter. |
max_pct_hb | number | 5 | Maximum hemoglobin gene percentage. |
filter_min_cells | checkbox | true | Enable minimum cells per gene filter. |
min_cells | number | 3 | Min cells expressing a gene. |
raw_data_mode | checkbox | false | For raw/unfiltered droplet data (Cellranger raw). |
n_mads | number | 3 | MAD multiplier for recommended thresholds (median ± n_mads × MAD). Only applied when raw_data_mode is ON; otherwise standard MAD×5 is used. Lower values (e.g. 2) are more aggressive at removing outliers; higher values (e.g. 5) are more permissive. Tunable inline in the QC Workspace modal header; changes update the `rec:` buttons instantly (recommendations are recomputed client-side from cell_data, no backend re-run). Click 'Auto-fill MAD recommendations' to apply the rec values to the actual threshold sliders. Valid range 1–10. |
clip_percentile | number | 1 | Lower percentile used to clip QC Workspace plot axes when raw_data_mode is ON. Value 1 means axes are clipped to [1, 99] percentile. Set to 0 to disable clipping even in Raw Mode. Ignored entirely when raw_data_mode is OFF. Tunable inline in the modal header; Plotly axes re-clip instantly via useMemo (no backend re-run). Valid range 0–10. Note: this only affects the modal view — it does not modify filter values or the underlying data. |
percent_top | text | — | Calculate % counts from top N genes as a JSON array of integers, e.g. [50, 100, 200]. Omit or null to skip. |
log1p_metrics | checkbox | false | Calculate log1p-transformed QC metrics. |
metrics | array | ["n_genes_by_counts", "total_counts", "pct_counts_mt"] | JSON array of QC metric names to include in the built-in plot. Omit this parameter to use the default metrics. |
log_scale | checkbox | false | Use log scale for axes in histogram/scatter plots. |
font_size | text | — | Font size for plot labels. null = matplotlib default. |
publication_quality | checkbox | false | Generate high-resolution (300 DPI) publication-quality figure. |
