Spatial Transcriptomics Technologies

A Comprehensive Guide to Spatially-Resolved Gene Expression Analysis (2016-2026)
From the foundational spatial transcriptomics method to cutting-edge 3D thick-tissue profiling: Understanding how to map gene expression while preserving spatial context in tissues. Based on systematic analysis of 14 landmark papers spanning nearly a decade of innovation.
14
Landmark Papers
21
Technologies Covered
2016–2026
Years Covered
4
Measurement Routes
Three goalkeeper poses of Healshu: standing precisely at a marked spot with a dotted coverage arc, rushing out of the box to sweep a through ball, and distributing the ball while directing a teammate run
Football lens · the goalkeeper

Position is a science.

A good keeper is half reflexes, half positioning — and so is a cell. Spatial transcriptomics keeps every cell on the pitch it actually played on: 留在原地的数据,才是能讲位置故事的数据.

The Goalkeeper's Guide.

「位置感,就是门线前的全部学问。」

Watch a keeper for ninety minutes and you learn that goalkeeping is geography: where you stand decides what you can reach. Spatial transcriptomics is that geography for cells — six scenes from the six-yard box, re-read as spatial analysis.

Scene 1 · 门卫的基本站位

Geography before reflexes

Before any shot comes, the keeper has already won or lost the duel — by where they chose to stand. The save is just the confirmation.

Spatial context itself. Knowing where a cell stands is data, just like knowing what it can do. See why it matters ↓

Scene 2 · 门线技术

Millimetre verdicts

Goal-line technology watches one line at centimetre precision and misses everything else; the stadium cameras cover the whole pitch at a glance, in less detail.

Resolution vs coverage. Imaging-based methods give sub-cellular detail on fewer targets; sequencing-based arrays cover the whole transcriptome at coarser spots. See the four measurement routes ↓

Scene 3 · 诺伊尔门卫

The sweeper-keeper

Neuer is never just on the line — he reads the entire box, steps out early, and owns the space between defense and goal.

Spatial domains, not just spots. Good analysis reads neighborhoods and domains, not only isolated cells. See spatial analysis ↓

Scene 4 · 盯人 vs 区域联防

Man-mark or hold the zone

Assign a defender to shadow one striker, or hold a zone and let the structure do the work — two legitimate ways to defend the same box.

Cell-level vs domain-level. Segment individual cells, or analyze spatial domains and niches — both are valid reads of the same tissue.

Scene 5 · 点球前的情报战

Homework before the penalty

Before every penalty the keeper studies the taker's habits — favorite corner, run-up rhythm, recent form.

Cell–cell communication — as a scouting report. Ligand–receptor analysis reads habits (expression next to expression); it suggests where signalling might happen, but the save still has to be made on the pitch: proximity is a hypothesis, not proof. See the evidence ladder ↓

Scene 6 · 门将的出球

Distribution from the back

Modern keepers start the attack: where you stand decides which pass is even possible. Position shapes every downstream option.

Spatially-informed downstream analysis. Spatially variable genes and region-specific functions only make sense with location kept. See the workflows ↓

← swipe for all six scenes →

好门将一半靠反应,一半靠站位 —— spatial context turns expression into geography. From the pitch to real tissue: what one spot, bin, or cell actually covers ↓

Evolution of Spatial Transcriptomics (2015–2025)

Two kinds of milestones are mixed in most timelines and are kept apart here: a Paper marks the first peer-reviewed description of a method; a Product marks when a commercial platform became available to labs, which is often years later and under a different name. The coloured tag gives the measurement route: Sequencing array Imaging in situ Region selection Multi-modal / analysis.

  1. 2015
    • PaperImaging MERFISH — error-robust combinatorial FISH (Chen et al., Science)
  2. 2016–2017
    • PaperSequencing Spatial Transcriptomics (ST) — 100 µm barcoded spots (Ståhl et al., Science 2016)
    • PaperRegion Geo-seq — laser-capture microdissection + low-input RNA-seq on cryosections (Peng et al., Dev Cell 2016; protocol Chen et al., Nat Protoc 2017); LCM-seq (Nichterwitz et al., Nat Commun 2016)
  3. 2018
    • PaperImaging STARmap — hydrogel-embedded 3D in situ sequencing (Wang et al., Science)
  4. 2019
    • PaperSequencing Slide-seq (10 µm beads, Science) and HDST (2 µm beads, Nat Methods)
    • PaperImaging seqFISH+ — 10,000 genes (Eng et al., Nature)
    • ProductSequencing 10x Visium — commercial successor of ST, 55 µm spots
    • ProductRegion NanoString GeoMx DSP — ROI-based profiling (method paper Merritt et al., Nat Biotechnol 2020)
  5. 2021
    • PaperSequencing Slide-seqV2 (Nat Biotechnol) and Seq-Scope (sub-micron, Cell)
    • ProductImaging Vizgen MERSCOPE — commercial MERFISH
  6. 2022
    • PaperSequencing Stereo-seq — DNB arrays, 0.5 µm pitch, cm-scale chips (Chen et al., Cell)
    • PaperProductImaging CosMx SMI — paper (He et al., Nat Biotechnol) and commercial launch in the same year
    • ProductImaging 10x Xenium — commercial in situ platform
    • ProductSequencing Visium CytAssist — probe-based FFPE workflow
  7. 2023
    • PaperMulti-modal SPOTS (protein + RNA, Nat Biotechnol) and STARmap PLUS (transcript + protein in situ, Nat Neurosci)
  8. 2024
    • ProductSequencing 10x Visium HD — continuous 2 µm grid (announced 2023, shipped 2024)
    • ProductImaging Xenium Prime 5K — 5,000-gene panels
    • PaperAnalysis BANKSY — joint cell typing + domain segmentation (Nat Genet)
  9. 2025
    • PaperImaging Deep-STARmap / Deep-RIBOmap — 60–200 µm thick tissue (Nat Methods)
    • PaperMulti-modal ESPRESSO — spatiotemporal live-cell omics (Nat Methods)
    • ProductImaging MERSCOPE Ultra — throughput / sensitivity upgrade

Product years are first commercial availability as announced by vendors and can differ by region and early-access programme. Resolution is deliberately not plotted on this timeline — see what “resolution” means for each platform.

What is Spatial Transcriptomics?

Spatial transcriptomics refers to a collection of methods that measure gene expression while preserving the spatial location of transcripts within tissues. Unlike traditional RNA-seq that requires tissue homogenization (losing spatial information) or single-cell RNA-seq that requires cell dissociation (losing tissue context), spatial transcriptomics maintains the native tissue architecture while profiling the transcriptome.

Why Spatial Context Matters

Four Measurement Routes

Platforms differ less in brand than in how they decide where an RNA came from: a barcode printed on a surface (sequencing arrays), the position of a fluorescent spot in a microscope image (imaging in situ), or a region a person chose and physically or optically isolated before sequencing (region selection). Multi-modal methods extend any of these with protein, translation, 3D, or time.

1. Sequencing-Based Methods (Capture + Seq)

Use spatially-barcoded oligonucleotides to capture mRNA at defined positions, followed by next-generation sequencing. Offer whole-transcriptome coverage but lower spatial resolution.

Spatial Transcriptomics (2016) - 100 um spots
Slide-seq/V2 (2019/2021) - 10 um beads
HDST (2019, Nat Methods, DOI 10.1038/s41592-019-0548-y) - 2 um features
Seq-Scope (2021, Cell, DOI 10.1016/j.cell.2021.05.010) - Subcellular resolution
Stereo-seq (2022) - Nanoscale resolution
Visium/VisiumHD (10x) - Commercial platform
Visium CytAssist (2022-2024, 10x Genomics) - Automated FFPE tissue processing that eliminates manual permeabilization steps; now the standard workflow for clinical archive samples in most core facilities

2. Imaging-Based Methods (In Situ)

Detect transcripts directly in tissue using fluorescence hybridization or in situ sequencing. Achieve single-molecule/subcellular resolution but typically target specific gene panels.

seqFISH+ (2019) - 10,000 genes, super-resolution
MERFISH (2015, Chen et al., Science, DOI 10.1126/science.aaa6090) - Error-robust barcoding
STARmap (2018) - 3D in situ sequencing
Deep-STARmap (2025) - 200 um thick tissue
Xenium (10x) - Commercial in situ
Xenium Prime (2024, 10x Genomics) - Expanded 5,000-gene panels; bridges imaging-based and sequencing-based gene coverage
CosMx SMI (NanoString/Bruker) - 1,000–6,000-gene panels + protein
MERSCOPE Ultra (2025, Vizgen) - Next-generation throughput upgrade with improved sensitivity on low-RNA FFPE samples

3. Region Selection: Microdissection & ROI Profiling

Look first, then measure: a stained section is inspected under the microscope, regions of interest are chosen, and only RNA from those regions is collected and sequenced. Instead of tiling the whole section, the design question becomes which regions to sample, so spatial resolution is set by the region you draw (from a handful of cells to hundreds of µm) and the number of regions per section is limited. These methods excel at deep, whole-transcriptome profiles of anatomically defined compartments (a cortical layer, a glomerulus, an embryonic germ-layer position, a tumour margin) and work well with clinical material, but they do not produce an unbiased map of the whole section, and the region choice itself must be predefined to avoid selection bias.

LCM-seq (2016, Nat Commun) - Laser capture microdissection + Smart-seq2; down to single cells
Geo-seq (2016 Dev Cell; protocol Nat Protoc 2017) - LCM of ~10–50-cell regions on cryosections, positions recorded to rebuild a spatial map (e.g., mouse gastrula)
GeoMx DSP (NanoString/Bruker) - Optical ROI/AOI selection with UV-photocleavable barcodes; whole-transcriptome or panel, RNA + protein

4. Emerging & Multi-Modal Methods

Novel approaches combining transcriptomics with other modalities (protein, translation, temporal dynamics) or using innovative readout strategies.

SPOTS (2023) - Spatial protein + transcriptome
Deep-RIBOmap (2025) - Spatial translatomics
ESPRESSO (2025) - Spatiotemporal omics
Spatial platform landscapeHorizontal axis: genes measured per experiment, as targeted panel size on a log scale or a whole-transcriptome category. Vertical axis: native spatial feature size in micrometres on a log scale. Sequencing arrays are circles, imaging panels are horizontal bars of plex range in the sub-micron band, region-selection methods are vertical bars of region size. 0.1 1 10 100 1,000 100 1,000 10,000 whole transcriptome (~18–20k) Genes per experiment (targeted panel, log scale) Native feature size, µm (log) — finer ↑ sub-micron: single-molecule localization MERSCOPE Xenium Xenium Prime CosMx STARmap / Deep-STARmap seqFISH+ Stereo-seq · Seq-Scope · 0.5 µm Visium HD · HDST · 2 µm Slide-seq / V2 · 10 µm Visium · 55 µm ST (2016) · 100 µm bin50 ≈ 25 µm 8 µm bin GeoMx WTA LCM-seq / Geo-seq GeoMx panel (~1.8k)

← swipe to see the whole chart →

  • Sequencing array: native capture feature (spot / bead / grid square)
  • Common analysis unit after binning (not a platform spec)
  • Imaging: range of panel sizes; all localize single molecules at sub-micron precision (row order is for legibility only)
  • Region selection: typical size of a user-drawn region
Figure 2 (redrawn). Where each platform sits — and what its “resolution” number means. The vertical axis is the platform's native spatial feature: the printed spot, bead or grid square for arrays; the localization of individual molecules for imaging; the drawn region for ROI/LCM methods. That number is not the unit you analyse: Visium HD's 2 µm squares are usually aggregated into 8–16 µm bins or segmented cells, and Stereo-seq's 0.5 µm pitch is typically binned to bin50 (≈25 µm) or cell bins. Imaging platforms measure molecules, but you analyse segmented cells. Panel sizes reflect vendor panels as of 2026 (Xenium 300–480 genes plus add-ons; Xenium Prime 5,000; CosMx 1,000–6,000; MERSCOPE up to ~1,000); whole-transcriptome probe panels cover ~18,000 genes and poly-A capture is untargeted. No “breakthrough” markers are used — whether a platform is better depends on the question.

Technology Comparison Guide

A 55 micrometre Visium spot drawn over tissue: the spot covers several whole and partial cells 20 µm 55 µm spot

Visium spot

Native feature
55 µm spot, 100 µm centre-to-centre (gaps between spots are not measured)
Analysis unit
The spot — a mixture of roughly 1–10 cells and partial cells; cell types need deconvolution
Visium HD 2 micrometre grid with sparse counts per square, an 8 micrometre analysis bin, and a cell outline that crosses bin borders 8 µm bin 10 µm

Visium HD 2 µm grid

Native feature
Continuous 2 × 2 µm squares, each with only a few UMIs
Analysis unit
8 or 16 µm bins, or squares re-assigned to segmented cells (dashed outline). A bin edge does not follow a cell edge, so “2 µm” ≠ “single-cell”
Imaging-based data: individual transcript dots coloured by gene, with segmentation outlines that assign each dot to a cell; a few dots near boundaries are ambiguous 10 µm

Imaging (Xenium · CosMx · MERSCOPE)

Native feature
Each dot is one decoded molecule, localized at sub-micron precision
Analysis unit
The segmented cell; molecules near boundaries (circled) can be assigned to the wrong cell, typically ~5–15%
Figure 3 (redrawn). Three numbers that get conflated: capture feature, localization precision, analysis unit. All three panels are drawn to scale with similar ~15 µm cells (panel A at a coarser zoom; see scale bars). A platform's headline “resolution” is the size of its capture feature or its localization precision; the biology you report is resolved only at the analysis unit you construct afterwards — spot, bin, segmented cell, or drawn region. When comparing platforms, ask for all three.
Technical workflows of array-based capture, in situ barcoding arrays, and imaging-based spatial transcriptomics

Figure 4. Technical workflows across three approaches. Left (Array-based Capture): tissue permeabilization → mRNA capture on barcoded spots → reverse transcription → library prep → demultiplexing; output: Spot × Gene matrix. Center (high-density arrays whose barcode positions are decoded before the tissue is placed): spatial barcode sequencing → tissue overlay → mRNA capture → sequencing → mapping; output: a very fine pixel × gene matrix that is normally binned or cell-segmented before analysis. The ★ in the image marks the whole-transcriptome + sub-micron capture combination; it is a design feature, not a ranking. Right (Imaging-based): probe hybridization → platform-specific detection (combinatorial/RCA/ISS) → cyclic imaging → barcode decoding → single-molecule localization; output: (x, y, gene) coordinates. Numbers in the image are approximate; the current panel sizes are given in Figure 2 and the table below. Region-selection methods (GeoMx, LCM-seq, Geo-seq) are not drawn here — their workflow is “image → choose regions → collect RNA → sequence each region as a library”.

Resolution vs Coverage Trade-off

Method Native feature (spec) Gene Coverage Tissue Depth Best For
Visium 55 um spots Whole transcriptome 10 um sections Discovery, FFPE tissues
VisiumHD 2 um squares (analysed as 8–16 um bins or cells) Whole transcriptome 10 um sections High-resolution discovery
Slide-seq V2 10 um beads Whole transcriptome 10 um sections Near-cellular resolution
Stereo-seq ~500 nm pitch (analysed as bin50 ≈ 25 um, bin20, or cell bins) Whole transcriptome Thin sections Large-area atlases; subcellular patterns
Xenium Single molecules (sub-micron) 300–480 genes + add-on 5-10 um Targeted, clinical FFPE
Xenium Prime Single molecules (sub-micron) 5,000 genes 5-10 um Large panels on clinical FFPE
seqFISH+ Super-resolution 10,000 genes ~5 um Discovery + localization
MERSCOPE Single molecules (~100 nm) Up to ~1,000 genes 10 um MERFISH-based targeted imaging, research grade
CosMx SMI Single molecules (sub-micron) 1,000–6,000 genes (+ protein) 5 um High-plex imaging
Deep-STARmap Single molecules in 3D ~1,000 genes 60-200 um 3D architecture
GeoMx DSP User-drawn ROI (~50–660 um) Whole transcriptome or panel 5–10 um Deep profiles of predefined compartments
LCM-seq / Geo-seq Microdissected region (single cells to hundreds of um) Whole transcriptome Cryosections (~10–20 um) Few, well-defined regions; flexible, low equipment cost

Platform Fit: What Actually Decides the Choice

Resolution and gene number are only two of the constraints. In practice the sample type, how much tissue you need to cover, how many biological samples you can afford, whether the section must stay intact for histology, and which instruments your core facility runs often decide first. The table keeps native feature (a platform specification) separate from the analysis unit (what you will actually model).

Platform Native feature Typical analysis unit Readout Sample types Area per assay Morphology on same section Practical constraints
Visium (CytAssist)55 µm spots, 100 µm pitchSpot (≈1–10 cells) → deconvolutionWhole transcriptome (probes; poly-A on fresh frozen)FFPE, fresh frozen, fixed frozen6.5 × 6.5 mm or 11 × 11 mmH&E / IF imaged before captureStandard sequencer; lowest cost per sample, so easiest to scale to many donors
Visium HD2 × 2 µm squares, continuous8 / 16 µm bins or segmented cellsWhole transcriptome (probes)FFPE, fresh frozen, fixed frozen6.5 × 6.5 mmH&E / IF imaged before captureNeeds CytAssist; deep sequencing and large data; segmentation needed for cell-level claims
Slide-seqV2 / Curio Seeker10 µm beadsBead (≈1–2 cells) or deconvolvedWhole transcriptome (poly-A)Fresh frozen~3 × 3 mm (larger formats offered)Adjacent sectionLow UMIs per bead; small field of view
Stereo-seq~0.22 µm DNBs, 0.5 µm pitchbin50 / bin20 or cell binsWhole transcriptome (poly-A)Mainly fresh frozen (FFPE kits newer)1 × 1 cm standard; cm-scale chipsssDNA / H&E stain on same sectionDNBSEQ sequencing; very large data; best for whole-organ / embryo maps
GeoMx DSPUser-drawn ROI / AOIROI (tens–hundreds of cells), optionally split by markerWhole transcriptome or panel; proteinFFPE, fresh frozenROIs anywhere on the slide; limited number per slideWhole-slide IF imageGeoMx instrument; regions must be chosen up front — predefine criteria to avoid selection bias
LCM-seq / Geo-seqMicrodissected regionRegion (pooled cells)Whole transcriptome (low-input RNA-seq)Best on fresh frozen; FFPE possible with degraded RNAAny region visible under the microscopeStained section guides cuttingLCM microscope; manual, low throughput; RNA degradation during dissection
Xenium / Xenium PrimeSingle molecules, sub-micronSegmented cellsTargeted: 300–480 (+ add-on) or 5,000 genesFFPE, fresh frozen~10.45 × 22.45 mm per slideNon-destructive; H&E / IF afterwardsXenium Analyzer; panel must cover every cell type you need to call
CosMx SMISingle molecules, sub-micronSegmented cellsTargeted: 1,000–6,000 genes (larger panels newer); proteinFFPE, fresh frozenField-of-view based; scanned area depends on run configurationMorphology markers imaged in the same runCosMx instrument; run time grows with area
MERSCOPE (Ultra)Single molecules (~100 nm)Segmented cellsTargeted: up to ~1,000 genesFFPE, fresh frozen~1 cm² (larger on Ultra)Same-section imagingMERSCOPE instrument; custom panel design
STARmap / Deep-STARmapSingle molecules in 3D3D-segmented cellsTargeted, ~1,000 genesFixed, hydrogel-embedded tissue; up to ~200 µm thickSmall volumesSame tissue, imaged volumetricallyAcademic protocol; confocal imaging and in-house expertise

Indicative values as of 2026; vendors revise panel sizes, chip formats, and sample-type support frequently, so check current datasheets before ordering. Cost is described relatively because list prices vary by institution and region.

Choosing the Right Technology

Work through the questions below with your own study in mind. They replace the old resolution-first flowchart: in real projects the number of biological samples, the sample type, and whether you already know the genes usually narrow the field before resolution does.

  1. How many biological samples do you need?

    • Group comparisons need several donors / animals per group (see Experimental design). Multiply per-sample cost by that n first.
    • Many samples → lower-cost-per-sample formats (Visium, GeoMx, imaging on tissue microarrays or multiple sections per slide).
    • One or two reference specimens (atlas, method development) → you can afford large-area or high-plex runs.
  2. What is the sample, and how good is its RNA?

    • FFPE archives → probe-based: Visium / Visium HD (CytAssist), Xenium, CosMx, MERSCOPE, GeoMx. Check DV200.
    • Fresh frozen → all of the above plus poly-A capture (Slide-seq, Stereo-seq, Visium 3′) and LCM-seq / Geo-seq.
    • Thick or 3D tissue → Deep-STARmap, or serial sections registered afterwards.
  3. Do you already know which genes matter?

    • No (discovery) → whole transcriptome: sequencing arrays, GeoMx WTA, LCM-seq / Geo-seq.
    • Yes (validation, cell mapping from an existing scRNA-seq atlas) → targeted imaging panel — but confirm the panel contains markers for every cell type present, not only the ones you care about.
  4. At what spatial scale does the biology happen?

    • Tissue domains, gradients, layers (>50 µm) → Visium, GeoMx, Stereo-seq bins.
    • Cell neighbourhoods and contacts → imaging platforms, or Visium HD / Stereo-seq with cell segmentation.
    • Subcellular RNA localization → imaging platforms.
  5. How much tissue, and do you know where to look?

    • Whole section or unknown location → tiling platforms; compare capture area (6.5 mm Visium frames vs cm-scale Stereo-seq chips vs ~1–2 cm² imaging areas) with your specimen.
    • A few predefined compartments (glomeruli, tumour margin, germ-layer position) → GeoMx or LCM-seq / Geo-seq give deeper profiles per region.
  6. Do you need protein, morphology, or other modalities?

    • Protein on the same section → CosMx, GeoMx, Xenium protein, SPOTS, STARmap PLUS.
    • H&E or IF on the very same cells afterwards → non-destructive imaging platforms.
    • Translation or time → Deep-RIBOmap, ESPRESSO (academic protocols).
  7. What can you actually run?

    • Instrument access at your core (CytAssist, Xenium, CosMx, MERSCOPE, GeoMx, LCM microscope) and turnaround time.
    • Sequencing budget (arrays) vs consumable / panel cost (imaging), plus storage and compute for 105–106-cell datasets.
    • Pilot one section before committing a full cohort.

Common Starting Points

For Discovery Studies (Unbiased)

Use sequencing-based methods (Visium, VisiumHD, Slide-seq, Stereo-seq) when you need whole-transcriptome coverage without predefined gene targets. Best for hypothesis generation and atlas building.

For Targeted Validation (High Resolution)

Use imaging-based methods (Xenium, CosMx, seqFISH+, MERFISH) when you have specific genes of interest and need single-cell or subcellular resolution. Best for validating scRNA-seq findings.

For 3D Tissue Architecture

Use Deep-STARmap/RIBOmap for thick tissue (60-200 um) profiling to capture complete 3D cellular organization. Essential for studying cell-cell interactions and spatial clustering that are missed in 2D.

For Clinical FFPE Samples

Use probe-based platforms built for archival formalin-fixed paraffin-embedded tissue: Visium / Visium HD (CytAssist), Xenium, CosMx, MERSCOPE, or GeoMx.

Quality Check: Assess RNA integrity using DV200 (% of RNA fragments >200 nucleotides). Aim for DV200 ≥50% for optimal results.

For Multi-Modal Integration

Use SPOTS for simultaneous protein + transcriptome, Deep-RIBOmap for transcription + translation, or combine Xenium + Visium + Chromium for comprehensive multi-platform profiling.

Experimental Design & the Statistical Unit

A single Visium section yields thousands of spots and an imaging run hundreds of thousands of cells, which makes it tempting to treat every spot or cell as a data point in a group comparison. They are not independent: neighbouring spots share cells, diffusion, and tissue microenvironment (that spatial autocorrelation is exactly what Moran's I detects), and every observation on a section shares the same donor, fixation, section thickness, and slide chemistry. For comparisons between conditions, the replicate is the patient, animal, or independent biological specimen — not the spot or cell. Treating thousands of correlated locations as n is pseudoreplication: standard errors shrink, p-values become tiny, and a difference between two donors gets reported as a difference between two diseases.

  1. Donor / patient / animalIndependent biology; the unit that varies between conditions.
    this is n
  2. Tissue block / regionDifferent anatomical sites from one donor; nested within donor.
    not independent
  3. Section / capture areaSerial sections are technical replicates; slide and run add batch effects.
    technical replicate
  4. Spots / bins / cellsSpatially autocorrelated measurements within one section.
    not n

Worked example

3 tumours and 3 normal tissues, 2 sections each, ~4,000 Visium spots per section → ~24,000 spots per group. For “is gene X higher in tumour?” the sample size is 3 vs 3. The 24,000 spots tell you a lot about where X is expressed within each tissue; they add nothing about whether the difference generalizes to other patients.

Design rules

# adata: all sections concatenated; obs has "donor", "condition", "section", "domain"
import scanpy as sc

# 1. Pseudobulk: sum RAW counts per donor x domain (sections of a donor are pooled)
pb = sc.get.aggregate(adata, by=["donor", "condition", "domain"],
                      func="sum", layer="counts")
pb.X = pb.layers["sum"]

# 2. Test one domain across donors (n = donors, not spots)
from pydeseq2.dds import DeseqDataSet
from pydeseq2.ds import DeseqStats
sub = pb[pb.obs["domain"] == "tumor_margin"].copy()
dds = DeseqDataSet(counts=sub.to_df().round().astype(int),
                   metadata=sub.obs, design="~condition")
dds.deseq2()
res = DeseqStats(dds, contrast=["condition", "tumor", "normal"])
res.summary()

# 3. Spatial statistics: one value per section, then compare across donors
#    (e.g. Moran's I of a gene per section -> mean per donor -> t-test / Wilcoxon on donors)

Further reading: Kurogi et al., “Ten quick tips for spatial transcriptomics analysis”, PLOS Comput Biol 2026; Squair et al., “Confronting false discoveries in single-cell differential expression”, Nat Commun 2021; Zimmerman et al., “A practical solution to pseudoreplication bias in single-cell studies”, Nat Commun 2021.

Landmark Papers Organized by Methodological Approach

1. Sequencing-Based Spatial Arrays (Capturing RNA onto surfaces)

Why these are grouped: These methods work by placing a tissue section onto a slide printed with barcoded capture spots (like beads or DNA nanoballs). The RNA is released from the tissue, captured on the surface, and then sequenced off-slide. The resolution is determined by the physical size and density of the capture spots on the array.

Spatial Transcriptomics Method (The Original) (2016)

2016 Science

Stahl et al. - The foundational paper introducing genome-wide spatial transcriptomics using arrayed barcoded primers on glass slides (the predecessor to 10x Genomics Visium).

Key Innovations:
  • First spatial genome-wide approach
  • 100 um diameter spots with positional barcodes
  • Compatible with H&E staining for histology overlap

Slide-seq V2 (High-Resolution Beads) (2021)

2021 Nat Biotech

Stickels et al. - A major improvement in array resolution using tightly packed, tiny microbeads instead of printed spots to achieve near-cellular resolution.

Key Features:
  • 10 um bead resolution (near-cellular)
  • 10-fold sensitivity improvement over original Slide-seq
  • Genome-wide capture

Stereo-seq (Nanoscale Resolution) (2022)

2022 Cell

Chen et al. - Utilizing DNA nanoball arrays to achieve the highest resolution among array-based methods, enabling subcellular definitions over large areas.

Key Features:
  • Nanoscale resolution (~500 nm center-to-center)
  • Very large field of view capability (whole embryos)
  • Subcellular resolution with whole transcriptome

2. Imaging-Based In Situ Technologies (Visualizing RNA directly in tissue)

Why these are grouped: Instead of capturing RNA onto a slide, these methods leave the RNA inside the tissue cells. They use fluorescent probes and sophisticated microscopes to capture images of individual RNA molecules over multiple rounds of hybridization. They offer very high (subcellular) resolution but usually target a predefined panel of genes rather than the whole transcriptome.

STARmap (3D In Situ Sequencing) (2018)

2018 Science

Wang et al. - An innovative approach combining hydrogel tissue clearing with error-correcting sequencing directly inside intact tissue blocks.

Key Innovations:
  • Truly 3D intact-tissue RNA sequencing (150 um thick)
  • SEDAL sequencing with error correction
  • Bypasses reverse transcription using SNAIL probes

seqFISH+ (Transcriptome-Scale Imaging) (2019)

2019 Nature

Eng et al. - A landmark paper demonstrating that fluorescence imaging could scale to detect 10,000+ genes at super-resolution using clever color-coding strategies.

Key Innovations:
  • Massive multiplexing (10,000 genes) via pseudocolour barcoding
  • Subcellular mRNA localization at super-resolution
  • High sensitivity (~35,000 individual transcript molecules detected per cell, across the 10,000-gene targeted panel — not 35,000 unique genes)

CosMx SMI (Commercial High-Plex Imaging) (2022)

2022 Nat Biotech

He et al. - A representative paper for the new generation of robust, commercial single-molecule imaging platforms suitable for difficult clinical samples.

Key Features:
  • High-plex single-molecule imaging (1000+ gene panels)
  • Robust performance on FFPE tissue sections
  • Focus on clinical translation and reproducibility

3. Beyond 2D RNA: Multi-Modal, 3D, and Temporal Expansions

Why these are grouped: These papers represent the "next frontiers" of spatial biology. They push beyond standard 2D transcriptomics by adding new modalities (like proteins or active translation), analyzing thick 3D tissues, or adding the fourth dimension of time (live-cell tracking).

SPOTS (Spatial Protein & Transcriptome) (2023)

2023 Nat Biotech

Ben-Chetrit et al. - A pioneering method combining whole transcriptome spatial profiling (Visium) with protein detection in the exact same tissue section.

Key Innovations:
  • True multi-modal integration (RNA + Protein)
  • Uses DNA-barcoded antibodies readable by sequencing
  • Allows correlation of gene expression vs. actual protein levels

Deep-STARmap & Deep-RIBOmap (3D & Translatomics) (2025)

2025 Nat Methods

Sui et al. - Advances 3D imaging into thicker tissues more cheaply, and introduces "translatomics"—mapping actively translating ribosomes, not just total mRNA.

Key Innovations:
  • Scalable 3D profiling in thick blocks (up to 200 um)
  • Significant cost reduction via CNVK photocrosslinking
  • First spatial translatomics method (RIBOmap)

ESPRESSO (Spatiotemporal Live-Cell Omics) (2025)

2025 Nat Methods

Scipioni et al. - Moves from static snapshots to dynamic movies. It uses organelle phenotyping to track cell states over 24+ hours in live cells.

Key Innovations:
  • Adds the temporal dimension (4D tracking)
  • Hyperspectral imaging and CNN enhancement
  • Tracks live-cell state transitions in 2D and 3D spheroids

STARmap PLUS (Integrated Transcript + Protein In Situ Mapping) (2023)

2023 Nat Neurosci

Zeng et al. - Extends STARmap to jointly detect RNA transcripts and proteins (including pathological markers like amyloid plaques and phosphorylated tau) in the same tissue section, applied to an Alzheimer's disease mouse model.

Key Innovations:
  • Sub-100nm resolution, simultaneously measuring 2,000+ transcripts alongside protein pathology markers
  • Maps 15 cell types across cortex and hippocampus at 8 and 13 months in a TauPS2APP mouse model
  • Resolves disease-associated microglia states by their spatial proximity to amyloid plaques
  • Demonstrates that multi-modal (RNA + protein) in situ mapping reveals disease progression that single-modality profiling misses

4. Benchmarking, Biological Application, and Future Outlook

Why these are grouped: These papers are less about inventing a new method and more about making sense of the existing ones. They include direct head-to-head comparisons of platforms, deep biological applications demonstrating real-world utility, and high-level perspectives on where the field is headed.

Visium-GeoMx-Chromium Comparison (Benchmarking) (2025)

2025 Nat Comm

Dong et al. - A crucial resource for users trying to choose a platform. It provides a comprehensive comparison of three major commercial technologies on difficult FFPE tumor samples.

Key Findings:
  • Compares unbiased sampling (Visium) vs. targeted enrichment (GeoMx)
  • Validates FFPE compatibility across major platforms
  • Highlights the importance of computational deconvolution

Spatial TRM Cell Diversity (Biological Application) (2025)

2025 Nature

Reina-Campos et al. - A prime example of how these tools are used for biological discovery. It integrates multiple spatial platforms to reveal how tissue architecture dictates immune cell behavior.

Key Innovations:
  • Advanced multi-platform integration (Xenium, MERSCOPE, VisiumHD)
  • Development of a new tissue coordinate system (IMAP)
  • Links spatial niches to immune cell maintenance

Human Cell Atlas Perspective (Future Outlook) (2024)

2024 Nature

Rood et al. - A high-level view of how spatial data will be integrated into global efforts like the Human Cell Atlas to create AI-driven foundation models of biology.

Key Perspectives:
  • Integrating spatial maps with single-cell census data
  • The role of spatial data in understanding development and disease
  • The future of AI/ML approaches for atlas-scale analysis

BANKSY (Spatial Domain Identification) (2024)

2024 Nat Genetics

Singhal et al. - A new computational standard for spatial domain identification: embeds each cell's own expression together with a neighborhood-averaged expression signal into one combined vector before clustering.

Key Innovations:
  • Embeds neighborhood-averaged expression alongside each cell's own profile, so clustering is sensitive to both cell identity and microenvironment
  • A single tunable parameter (lambda) interpolates between pure cell typing and pure domain segmentation — no need to choose one or the other upfront
  • Outperforms BayesSpace and SpaGCN on human brain, mouse embryo, and tumor tissue benchmarks
  • Scales to millions of cells/spots across platforms (Visium, MERFISH, Slide-seq, CosMx)

Common Analysis Workflows

Five-stage diagram from spatial transcriptomics measurements to biological claims: assay observations (spot-based counts or imaging x, y, gene) are measured; image registration, segmentation or binning, and cell-type annotation or deconvolution are computational processing; cell types, neighbour relationships, spatial domains and spatially variable genes are analysis-derived patterns; ligand and receptor expression in neighbouring cells is only a candidate interaction (dashed arrow); orthogonal protein evidence plus functional tests such as pathway blockade with a downstream phenotype are needed for a supported biological mechanism.

← swipe, or tap the figure to open it full size →

Figure 6. From measurements to biological claims. Read the pipeline left to right as a drop in certainty. The assay measures RNA-associated signals within its detection limits (a targeted panel sees only its genes). Registration, segmentation or binning, and annotation or deconvolution are computational processing whose output depends on image quality and reference data. Cell types, neighbourhoods, domains, and spatially variable genes are analysis-derived summaries. A ligand–receptor pair across neighbouring cells is an inferred hypothesis (dashed arrow) — and on spot-based data the “two cells” may share one spot. Only independent evidence (protein in situ, pathway blockade or perturbation with a downstream phenotype) supports a mechanism. Throughout, group-level conclusions rest on biological samples, not on spots or cells (Experimental design; evidence ladder).
Data Formats and Structures

Figure 7. Data output formats across platforms. Panel A (Sequencing-based): Spot × Gene count matrix with coordinates; high-res platforms require segmentation (⚠). Formats: MTX, H5AD, Parquet. Panel B (Imaging-based): transcript coordinate table (transcript_id, x, y, gene); requires cell segmentation. Formats: Parquet, CSV, Zarr. Panel C (Unified): all platforms converge to Cell × Gene matrix with spatial coordinates in AnnData/H5AD structure containing X (counts), obs (cell metadata), var (gene metadata), obsm (spatial coordinates), layers, and uns (images).

Computational Challenges by Platform

Figure 8. Platform-specific computational challenges. Low-res Sequencing (Visium): deconvolution, reference integration; tools: cell2location, RCTD; difficulty: medium. High-res Sequencing (Visium HD, Stereo-seq): cell segmentation (⚠), scalability, binning strategy; tools: Cellpose, Baysor; difficulty: high. Imaging-based: cell segmentation, assignment errors (~5-15%), panel limitations; tools: Cellpose, Baysor, StarDist; difficulty: high. ROI-based (GeoMx): low sample size, cell mixtures in AOIs; difficulty: low-medium (computation), high (statistics). Shared challenges (all platforms): batch effects, normalization, spatial statistics, cell-cell interactions.

1. Data Processing & Quality Control

2. Cell Type Annotation

3. Spatial Analysis

Spatial proximity is not proof of communication

Ligand–receptor scores combine two facts: cells expressing a ligand sit near cells expressing its receptor. That makes signalling plausible — it is a hypothesis generator, not a measurement of signal transfer. mRNA does not guarantee secreted or surface protein; a receptor can be present but unengaged; diffusion ranges differ by orders of magnitude between molecules; and on spot-based data a “ligand–receptor pair in the same spot” may simply be two cell types mixed in one 55 µm spot. Write results as “predicted” or “candidate” interactions and climb the evidence ladder before calling them a mechanism:

  1. Co-localization / co-expression — the two cell types are neighbours and express the pair (hypothesis).
  2. Spatially constrained scoring against a null — the pair is enriched at the measured distance more than permuted labels predict; downstream target genes in receiver cells agree (still inference).
  3. Protein-level evidence in situ — ligand and receptor protein (IF, CosMx/GeoMx protein, multiplexed imaging), receptor activation or pathway readouts (e.g., phospho-signalling) in the predicted receiver cells.
  4. Perturbation — blocking antibody, ligand addition, genetic knockout, or co-culture shows the predicted downstream change (causal evidence).

See also: Cell–Cell Communication on this site; Armingol et al., “Deciphering cell–cell interactions and communication from gene expression”, Nat Rev Genet 2021.

4. Foundation Model-Informed Spatial Analysis (2025-2026)

Key Software Packages

Package Language Primary Use
Scanpy/Squidpy Python Single-cell and spatial analysis
Seurat R Comprehensive spatial workflows
Cell2location Python Cell type deconvolution
CellPose Python Cell segmentation
Baysor Julia Transcript-based segmentation
FuseMap Python Spatial atlas integration
BayesSpace R Spatial clustering enhancement
BANKSY Python/R Spatial domain identification (joint cell-typing + neighborhood context)
GraphST Python Graph self-supervised spatial clustering
spatialdata Python Unified multi-platform, multi-modal spatial data container (OME-Zarr, scverse)

🛠️ Hands-On Practice

The walkthrough below takes a Visium slide from raw spot counts to spatial statistics using Python/Scanpy/Squidpy — QC, normalization, clustering, plotting clusters back onto the tissue image, building a spatial neighbor graph, ranking spatially variable genes with Moran's I, and testing which cluster pairs sit next to each other. The same Squidpy calls apply to imaging-based data (Xenium, MERFISH, CosMx) once transcripts have been segmented into cells; the differences are noted at each step.

Environment & packages

Squidpy sits on top of Scanpy/AnnData and adds the spatial graph, spatial statistics, and image-aware plotting. For Xenium, MERFISH, or any multi-modal experiment (image + transcripts + polygons), spatialdata and its readers (spatialdata-io) are the better container because they keep coordinate transforms, segmentation shapes, and image pyramids aligned rather than flattening everything into adata.obsm["spatial"].

# conda / mamba recommended
conda create -n spatial python=3.10 -y
conda activate spatial

pip install scanpy squidpy leidenalg
# multi-modal / imaging platforms (Xenium, MERFISH, CosMx)
pip install spatialdata spatialdata-io spatialdata-plot
# spot deconvolution (GPU strongly recommended)
# pip install cell2location            # or run RCTD / spacexr in R
# transcript-aware segmentation
# pip install cellpose                 # Baysor is a separate Julia binary

Hardware. A single Visium section (~3–5k spots) runs comfortably on a laptop with 8 GB RAM. Visium HD (2 µm bins), Stereo-seq, and Xenium runs reach 105–106 cells or bins and need 32–128 GB RAM plus backed/Zarr-chunked I/O. Deconvolution with cell2location is a variational-inference fit and effectively needs a GPU; RCTD is CPU-only but slower.

Data structures & formats

Minimal code walkthrough

Load a Visium H&E dataset, run standard QC and normalization, cluster with Leiden, project clusters back onto the tissue, build a hexagonal-grid neighbor graph, score spatially variable genes with Moran's I, and test which clusters are spatial neighbors more often than chance.

import scanpy as sc
import squidpy as sq
import numpy as np

# 1. Load data. The bundled demo (mouse brain, Visium H&E) ships coordinates,
#    the H&E image, and scale factors already wired into AnnData.
adata = sq.datasets.visium_hne_adata()
#    For your own SpaceRanger output instead:
#    adata = sc.read_visium("outs/")          # expects filtered_feature_bc_matrix.h5
#    adata.var_names_make_unique()
#    For Xenium / MERFISH, read via spatialdata_io and pull out the cell table:
#    import spatialdata_io as sdio
#    sdata = sdio.xenium("xenium_output/")    # keeps transcripts + polygons + image
#    adata = sdata.tables["table"]            # cells x panel genes, post-segmentation

print(adata)                                  # obsm["spatial"], uns["spatial"] present
print(adata.obsm["spatial"][:3])              # full-res pixel coords, NOT microns

# 2. QC. Same metrics as scRNA-seq, but interpret per SPOT, not per cell:
#    a low-count spot is often edge/low-cellularity tissue, not a dead cell.
adata.var["mt"] = adata.var_names.str.startswith(("MT-", "mt-"))
sc.pp.calculate_qc_metrics(adata, qc_vars=["mt"], inplace=True, log1p=True)
sc.pl.violin(adata, ["total_counts", "n_genes_by_counts", "pct_counts_mt"],
             jitter=0.4, multi_panel=True)

#    Filter gently. Aggressive thresholds carve holes in the tissue map and
#    break the neighbor graph. Inspect counts IN SPACE before choosing cutoffs.
sq.pl.spatial_scatter(adata, color="total_counts", img_alpha=0.5)
adata = adata[adata.obs["total_counts"] > 500].copy()
sc.pp.filter_genes(adata, min_cells=10)

# 3. Normalize + log1p. Keep raw counts around: deconvolution (cell2location,
#    RCTD) and most spatially-variable-gene models require raw integers.
adata.layers["counts"] = adata.X.copy()
sc.pp.normalize_total(adata, inplace=True)
sc.pp.log1p(adata)
sc.pp.highly_variable_genes(adata, n_top_genes=2000)
#    NOTE: skip HVG selection for targeted panels (Xenium/MERFISH) — every gene
#    in a 300-plex panel was already chosen to be informative.

# 4. Expression-space clustering (spatially agnostic on purpose — this is the
#    baseline you compare spatial-domain methods like BayesSpace/SpaGCN against).
sc.pp.pca(adata, n_comps=50)
sc.pp.neighbors(adata)                        # EXPRESSION knn, not spatial
sc.tl.umap(adata)
sc.tl.leiden(adata, resolution=1.0, key_added="cluster")

# 5. Put the clusters back on the tissue. This is the plot that tells you
#    whether transcriptomic clusters correspond to real anatomy.
sq.pl.spatial_scatter(adata, color="cluster", size=1.3, img_alpha=0.6)

# 6. Spatial neighbor graph. Visium spots sit on a hex lattice -> 6 neighbors.
sq.gr.spatial_neighbors(adata, coord_type="grid", n_neighs=6)
#    Imaging platforms (irregular cell centroids) use a generic graph instead:
#    sq.gr.spatial_neighbors(adata, coord_type="generic", delaunay=True)
#    or radius-based, which is more interpretable in microns:
#    sq.gr.spatial_neighbors(adata, coord_type="generic", radius=30.0)
print(adata.obsp["spatial_connectivities"].shape)

# 7. Spatially variable genes via Moran's I. Positive I = neighboring spots
#    have similar expression, i.e. the gene forms spatial structure.
#    Run on the normalized layer; permutations give the empirical p-value.
sq.gr.spatial_autocorr(adata, mode="moran", genes=adata.var_names[adata.var.highly_variable],
                       n_perms=100, n_jobs=4)
svg = adata.uns["moranI"].sort_values("I", ascending=False)
print(svg.head(10)[["I", "pval_norm_fdr_bh"]])
sq.pl.spatial_scatter(adata, color=list(svg.index[:4]), img_alpha=0.4)

# 8. Neighborhood enrichment: which cluster pairs are adjacent more (or less)
#    often than expected under label permutation on the SAME graph?
sq.gr.nhood_enrichment(adata, cluster_key="cluster")
sq.pl.nhood_enrichment(adata, cluster_key="cluster", method="ward")
#    Complementary summaries on the same graph:
#    sq.gr.co_occurrence(adata, cluster_key="cluster")   # vs. distance, graph-free
#    sq.gr.ripley(adata, cluster_key="cluster", mode="L")

# 9. Deconvolution — REQUIRED for spot-based platforms before any statement
#    about cell types. A Leiden "cluster" on Visium is a spot NEIGHBORHOOD, not
#    a cell type. Fit cell2location (or RCTD in R) against a matched scRNA-seq
#    reference, then treat the per-spot abundances as the cell-type signal:
#    import cell2location
#    cell2location.models.RegressionModel.setup_anndata(ref_adata, labels_key="cell_type")
#    ... fit reference signatures, then Cell2location(adata_vis, ...).train()
#    -> adata.obsm["q05_cell_abundance_w_sf"]  # spots x cell types
#    Imaging platforms skip this: after segmentation, cells are annotated
#    directly with standard label transfer.

adata.write_h5ad("visium_spatial_processed.h5ad")

Common pitfalls & tips

Back to the Goal Line

Four-panel goalkeeper comic: winning the duel before the shot by standing right; one goal-line camera at high detail versus the whole-pitch stadium view; sweeping the space between defense and goal; and studying the penalty taker's habit dots on a clipboard
The goalkeeper in four plays. Win it before the shot (spatial context) · one line or the whole pitch (resolution vs coverage) · sweep the space between (spatial domains) · read the taker's habits — a scouting report, not yet a save (cell–cell communication as a hypothesis).