Arabidopsis Root - Ground Tissue Atlas

22,600 cellssingle-cellgenomicsplant-biologycosine

A TMAP of the Shahan et al. 2022 Arabidopsis root ground-tissue atlas (22,600 cells: 11,369 Endodermis, 11,073 Cortex, 158 Quiescent Center), built from published PCA coordinates with cosine metric (n_neighbors=30, matching the paper's UMAP setting). The tree is strongly cell-type coherent: only 537/22,599 edges (2.4%) cross ground-tissue labels, and several branch-defined subtrees reach 1.000 dominant-label purity (e.g. a 941-cell Cortex subtree, an 870-cell Endodermis subtree). Both tree distance and rooted hop-depth from the quiescent center correlate with the paper's consensus developmental pseudotime (Spearman 0.810 and 0.877 respectively). Along a 407-hop path from the quiescent center to a terminal endodermis cell, endodermis differentiation markers rise with hop position: MYB36 (Spearman +0.737), CASP1 (+0.403), SCR (+0.155).

Arabidopsis Root - Ground Tissue AtlasOpen full page
Loading interactive demo…

How it was made

generate.pypython
import scanpy as sc
from tmap import TMAP

adata = sc.read_h5ad("shahan_root_ground_tissue.h5ad")
model = TMAP(metric="cosine", n_neighbors=30, seed=42)
model.fit(adata.obsm["X_pca"])

# Ground-tissue boundary edges
cell_type = adata.obs["cell_type"].values
edges = model.tree_.edges
boundary = cell_type[edges[:, 0]] != cell_type[edges[:, 1]]
print(f"Boundary edges: {boundary.mean():.1%}")

# Pseudotime from the quiescent center
qc_root = np.where(cell_type == "Quiescent Center")[0][0]
depth = model.distances_from(qc_root)

viz = model.to_tmapviz()
viz.add_color_layout("cell type", cell_type.tolist(), categorical=True)
viz.add_color_layout("depth from QC", depth.tolist(), color="viridis")
viz.write_html("arabidopsis-root.html")