CNS Single-Cell & Spatial Transcriptomics Guide: Analyzing snRNA-seq & MERFISH Brain Atlases
Best practices for post-mortem human brain quality control, donor-level pseudobulk differential expression, and spatial neighborhood analysis.
Single-nucleus RNA sequencing (snRNA-seq) and spatial transcriptomics (MERFISH, Xenium, Visium) have revolutionized our understanding of cellular vulnerability in neurodegenerative diseases. However, brain tissue presents unique bioinformatics challenges—including ambient synaptic RNA contamination and statistical pseudoreplication across cells from the same donor. This guide outlines gold-standard workflows using Scanpy, Squidpy, and DESeq2.
1. Nucleus-Specific Quality Control & Ambient Cytoplasmic RNA Removal
- Always enable intron counting when mapping single-nucleus brain RNA-seq reads.
- Run CellBender remove-background to strip ambient synaptic transcripts from microglia and oligodendrocyte clusters.
- Never run Wilcoxon rank-sum tests across individual cells for case-control comparisons; aggregate to donor-level pseudobulk counts first.
2. Avoiding Pseudoreplication: Donor-Level Pseudobulk Aggregation
Python Example: Donor-Level Pseudobulk Aggregation from AnnData (.h5ad) for DESeq2
Standard Python template ready for integration into local Jupyter notebooks or automated pipelines.
import anndata as ad
import pandas as pd
import numpy as np
def create_pseudobulk_by_donor(adata: ad.AnnData, cell_type_col: str, target_cell_type: str, donor_col: str = "donor_id"):
"""Sum raw UMI counts per donor within a specific brain cell type to prevent pseudoreplication."""
sub = adata[adata.obs[cell_type_col] == target_cell_type].copy()
# Ensure raw integer counts are used (from .layers['counts'] or .raw)
count_matrix = sub.layers["counts"] if "counts" in sub.layers else sub.X
df_counts = pd.DataFrame(
count_matrix.toarray() if hasattr(count_matrix, "toarray") else count_matrix,
index=sub.obs[donor_col].values,
columns=sub.var_names
)
# Sum counts per donor and filter donors with fewer than 20 nuclei
cells_per_donor = df_counts.groupby(level=0).size()
valid_donors = cells_per_donor[cells_per_donor >= 20].index
pseudobulk_counts = df_counts.loc[valid_donors].groupby(level=0).sum()
return pseudobulk_countsResearch Governance & Reproducibility Checklist
- Verify that raw integer UMI counts (not log-normalized values) are summed when constructing pseudobulk matrices.
- Exclude donor-celltype combinations with fewer than 15–20 cells to prevent noisy count estimates.
- Use Hierarchical Taxonomy of Brain Cell Types (Allen Brain Map / CELLxGENE) nomenclature for cross-study alignment.
Key Biomarkers & Standards Referenced in This Guide
High-throughput transcriptomic profiling at individual cell or nucleus resolution, enabling identification of disease-associated microglia (DAM), astrocytes, and vulnerable neuronal subtypes.
Subcellular-resolution spatial transcriptomics imaging hundreds to thousands of RNA species in intact brain tissue sections while preserving cytoarchitecture.
Standard Python/HDF5 container for single-cell and spatial omics, storing expression matrices (X) alongside cell annotations (obs), gene metadata (var), and embeddings (obsm).
Multimodal single-cell technique simultaneously capturing intrinsic electrophysiological properties, 3D axonal/dendritic morphology, and full-length transcriptome from the same neuron.
Major lipid carrier in the central nervous system; the APOE ε4 allele is the strongest genetic risk factor for late-onset Alzheimer's disease.
Live Open Datasets & Papers Matching This Guide
BICCN Whole Human Brain Single-Cell Transcriptomic Cell Type Atlas
Cell atlas spanning >3 million single nuclei across 100+ human brain regions, mapping distinct vulnerable neuronal and glial sublineages.
Spatial Transcriptomics of Chronic Active Multiple Sclerosis Lesions Reveals Iron-Laden MIMS Microglia Driving OPC Differentiation Arrest
Subcellular MERFISH and single-nucleus RNA sequencing across human post-mortem white matter lesions map complement C1q signaling and interferon-responsive oligodendrocyte states at paramagnetic lesion rims.
Dandiset 000108: Single-Cell Patch-seq Electrophysiology and Morphometry of Human Neocortical Neurons
Over 1,200 human surgical neocortical pyramidal neurons and interneurons characterized with patch-clamp electrophysiology, morphological reconstruction, and scRNA-seq.
Peripheral Immune Alterations and T Cell Clonal Dynamics Across the Parkinson's Disease Spectrum
The role of peripheral immunity in Parkinsons disease (PD) remains incompletely understood. Here, we performed paired single-cell RNA sequencing (scRNA-seq) and T-cell receptor (TCR) profiling of 630k peripheral blood mononuclear cells (PBMCs) from 168 donors spanning idiopathic and genetic PD, prod...
Allen Brain Atlas: Aging Dementia TBI - non-ISH data
Neuropathologic, molecular and transcriptomic study of aging, dementia, and Traumatic Brain Injury (TBI) of brains from control and TBI cases in a unique aged population-based cohort from the Adult Changes in Thought (ACT) study. Non-ISH data.... Freely accessible open data product maintained by the Allen Institute for Brain Science.
Allen Brain Atlas: Non-Human Primate Macrodissection Microarray
Genome-wide microarray data profiling gene expression in gross brain structures using rhesus macaque-specific DNA microarrays.... Freely accessible open data product maintained by the Allen Institute for Brain Science.