Vol. 01 · No. 1 · Beta Edition
Node reference

Analysis nodes.

Dimensionality reduction, batch correction, the kNN graph, embeddings, clustering and differential expression. Clustering offers Leiden, Louvain and — since v0.24.0 — K-Means with an exact number of clusters; all three produce labels that behave identically downstream. DEG Analysis ranks every gene per group (Wilcoxon by default, t-test available).

08 nodesCategory · analysisin 17 templates

Recommended order

PCA → (Harmony) → Neighbors → UMAP → Clustering → DEG Analysis. After Harmony, set use_rep='X_pca_harmony' in Neighbors. Scale saves adata.raw automatically, which is what DEG Analysis reads for accurate pct values.

K-Means (method='kmeans', n_clusters) partitions the same PCA / Harmony embedding; it does not use resolution, and the generated Methods text omits it accordingly.

Common pitfalls

Harmony writes X_pca_harmony, not X_pca. Unless Neighbors is told to use it, UMAP and clustering run on the uncorrected PCA.

UMAP without Neighbors. UMAP needs the kNN graph; the required order is PCA → Neighbors → UMAP. The node’s panel warns when the graph is missing upstream.

DEG pct values all 1.0. Run Scale before DEG Analysis so adata.raw (pre-scale, log-normalised) exists for pct_nz_group / pct_nz_reference.

DEG needs at least two populated groups. A single-group column stops with a clear message instead of a division-by-zero error.

UMAP distance is not biological distance. Only local neighbourhood structure is preserved; use PAGA for trajectory topology.

PCA node

PCA

pca

Principal Component Analysis — required before Neighbors/UMAP/Harmony.

Node LibraryscRNA-seqSpatial
InAnnData (scaled)
OutAnnData (obsm["X_pca"], varm["PCs"])
Parameters (7)
NameTypeDefaultDescription
n_compsnumber50Number of PCs.
use_highly_variablecheckboxtrueUse HVGs only (recommended).
layerlayer—Data layer to use (empty = X matrix).
svd_solverselectarpack"arpack" exact, "randomized" fast.
random_statenumber0Random seed.
chunkedcheckboxfalseProcess in chunks for very large datasets.
chunk_sizenumber20000Number of cells per chunk.
Neighbors node

Neighbors

neighbors

k-nearest neighbor graph on PCA space. Required for clustering and UMAP.

Node LibraryscRNA-seqSpatialATAC-seq
InAnnData (with PCA)
OutAnnData (obsp connectivities/distances)
Parameters (6)
NameTypeDefaultDescription
n_neighborsnumber1510-15 fine, 30-50 smooth.
n_pcsnumber15Default 15. 0 = use all PCs.
use_repselectauto"X_pca_harmony" after Harmony.
metricselecteuclideaneuclidean/cosine/manhattan/correlation.
methodselectumapGraph construction method: 'umap' (default), 'gauss', 'rapids' (requires rapids-singlecell + GPU).
random_statenumber0Random seed.
UMAP node

UMAP

umap

UMAP 2D embedding for visualization. Local neighborhood structure preserved; global distances are NOT meaningful.

Node LibraryscRNA-seqSpatialATAC-seq
InAnnData (with neighbors)
OutAnnData (obsm["X_umap"])
Parameters (8)
NameTypeDefaultDescription
min_distnumber0.1Lower = tighter clusters.
spreadnumber1.0Spread of embedded points.
n_componentsnumber22 or 3.
init_posselectspectralspectral/paga (trajectory)/random.
alphanumber1.0Initial learning rate (slider 0.1 .. 5). Default 1.0 is fine for most cases; very rarely tuned.
gammanumber1.0Weighting of negative samples (slider 0.1 .. 5). Default 1.0 is fine.
random_statenumber0Random seed.
maxiternumber0Maximum number of iterations. 0 = Scanpy automatic default.
t-SNE node

t-SNE

tsne

t-SNE embedding (alternative to UMAP). Good for distinct clusters; slower than UMAP.

Node LibraryscRNA-seq
InAnnData (with PCA)
OutAnnData (obsm["X_tsne"])
Parameters (6)
NameTypeDefaultDescription
perplexitynumber305-50; matches expected cluster size.
learning_ratenumber1000Usually N/12.
n_pcsnumber0Number of PCA components to use. 0 = automatic.
use_repselectauto"X_pca_harmony" after Harmony.
early_exaggerationnumber12.0Controls cluster separation in early iterations.
random_statenumber0Random seed.
Clustering node

Clustering

clustering

Leiden or Louvain community detection on the kNN graph, or K-Means with a fixed number of clusters on the embedding.

Node LibraryscRNA-seqSpatialATAC-seq
InAnnData (with neighbors)
OutAnnData (obs["leiden"] or obs["louvain"])
Parameters (9)
NameTypeDefaultDescription
methodselectleiden"leiden" or "louvain".
resolutionnumber1.00.3 coarse, 1.0 standard, 2.0 fine.
n_clustersnumber8Exact number of clusters. Used by method='kmeans' only — ignored by leiden/louvain.
key_addedtextleidenobs column name (default = method).
flavorselectleidenalgLeiden implementation: 'leidenalg' (default) or 'igraph'.
n_iterationsnumber-1Iterations for Leiden (-1 = until convergence).
kmeans_n_initnumber10Number of random K-Means restarts, keeping the best inertia. method='kmeans' only.
random_statenumber0Random seed.
restrict_totext—obs column to sub-cluster within.
Edit Clusters node

Edit Clusters

editClusters

Rename or merge cluster labels for cell type annotation. Mapping format: "old1, old2: new_label" (one rule per line). Use after identifying cell types from marker genes.

Node LibraryscRNA-seqSpatial
InAnnData (with clusters)
OutAnnData (new obs column)
Parameters (4)
NameTypeDefaultDescription
source_columnobs columnleidenExisting cluster column (e.g. "leiden").
new_columntextcell_typeNew column name.
mappinglabel map—Merge/rename rules.
categories_ordertext—Custom order (comma-separated).
DEG Analysis node

DEG Analysis

findMarkerssince v0.9.0-beta.25 (renamed from Find Markers)

Differential expression — ranks all genes per cluster (Wilcoxon by default). Replaces "Find Markers" naming. n_genes=None ranks ALL genes. pts=True computes pct_nz_group / pct_nz_reference (requires adata.raw, set automatically by Scale).

Node LibraryscRNA-seq
InAnnData (with clusters)
OutAnnData (uns["rank_genes_groups"])
Parameters (12)
NameTypeDefaultDescription
groupbyobs columnleidenGroup label column.
methodselectwilcoxonwilcoxon/t-test/t-test_overestim_var/logreg.
n_genesnumber—null = all genes (recommended).
referencetextrest"rest" or specific group for 1-vs-1.
groupstext—Restrict the DEG test to specific groups of groupby (comma-separated, e.g. '0,2' or 'Normal'). Empty (default) tests every group against the reference.
use_rawcheckboxtrueUse adata.raw (set by Scale).
layerlayer—Expression layer to use instead of X/raw.
corr_methodselectbenjamini-hochberg"benjamini-hochberg" or "bonferroni".
tie_correctcheckboxfalseCorrect for ties in Wilcoxon test.
rankby_abscheckboxfalseRank by absolute value of score.
ptscheckboxtrueCompute pct_nz_group / pct_nz_reference.
key_addedtextrank_genes_groupsKey in adata.uns to store results.
Harmony node

Harmony

harmony

Harmony batch correction — outputs to obsm["X_pca_harmony"]. Set use_rep="X_pca_harmony" in Neighbors after.

Node LibraryscRNA-seqSpatial
InAnnData (with PCA)
OutAnnData (obsm["X_pca_harmony"])
Parameters (10)
NameTypeDefaultDescription
batch_keyobs columnbatchobs column with batch labels.
thetanumber2.0Diversity penalty (correction strength).
basisselectX_pcaInput embedding key in adata.obsm to correct. Only 'X_pca' is currently supported (PCA must be run upstream).
adjusted_basistextX_pca_harmonyOutput embedding name after correction.
sigmanumber0.1Soft assignment width.
nclustnumber0Number of clusters for Harmony. 0 = auto.
max_iter_harmonynumber10Max Harmony iterations.
max_iter_kmeansnumber20Maximum K-means iterations per Harmony round.
block_sizenumber0.05Block size for ridge regression.
random_statenumber0Random seed.