Chapter 2 Dimensionality Reduction and Exploration of the Merged Slides

2.1 Dimensionality Reduction

Let’s run PCA and UMAP on the merged slides to explore the data structure and relationships between the mapped voxels.

ST011 = Seurat::RunPCA(ST011, verbose = TRUE)
ST011 = Seurat::FindNeighbors(ST011, dims = 1:30)
ST011 = Seurat::FindClusters(ST011, verbose = TRUE)
ST011 = Seurat::RunUMAP(ST011, dims = 1:30)

Let’s plot the UMAP embedding of the voxels colored by the cluster assignment.

# UMAP plot
plot1 = Seurat::DimPlot(ST011, reduction = "umap", group.by = c("ident"), label = TRUE)
plot2 = Seurat::DimPlot(ST011, reduction = "umap", group.by = c("orig.ident"), cols = c("indianred", "brown2", "firebrick", "#BCD2EE", "lightskyblue3", "dodgerblue"), label = FALSE)
patchwork::wrap_plots(plot1, plot2, ncol = 2)
UMAP merged slides

Figure 2.1: UMAP merged slides

Indeed, cell groups 9, 10 and 11 seems enriched in the AD slides. There is also an evident separation between control and AD cells in groups 2 and 5.

Let’s now overlay the Groups over the slides.

# Visualize Layers
Seurat::SpatialDimPlot(ST011, pt.size.factor = 2000, label = TRUE, label.size = 3, ncol = 3)
Slides VS cell groups

Figure 2.2: Slides VS cell groups

Let’s confirm that cell groups 9, 10 and 11 are indeed enriched in the AD slides by highlighting these cells over the slides.

# group 9
p1 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[1],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
p2 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[2],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
p3 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[3],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
p4 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[4],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
p5 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[5],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
p6 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[6],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 9),
                            pt.size.factor = 2000) + NoLegend()
patchwork::wrap_plots(p1, p2, p3, p4, p5, p6, ncol = 3)
Cell Group 9 distribution

Figure 2.3: Cell Group 9 distribution

# group 10
p1 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[1],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
p2 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[2],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
p3 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[3],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
p4 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[4],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
p5 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[5],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
p6 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[6],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 10),
                            pt.size.factor = 2000) + NoLegend()
patchwork::wrap_plots(p1, p2, p3, p4, p5, p6, ncol = 3)
Cell Group 10 distribution

Figure 2.4: Cell Group 10 distribution

# group 11
p1 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[1],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
p2 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[2],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
p3 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[3],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
p4 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[4],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
p5 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[5],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
p6 = Seurat::SpatialDimPlot(ST011, images = names(ST011@images)[6],
                            cells.highlight = CellsByIdentities(object = ST011, idents = 11),
                            pt.size.factor = 2000) + NoLegend()
patchwork::wrap_plots(p1, p2, p3, p4, p5, p6, ncol = 3)
Cell Group 11 distribution

Figure 2.5: Cell Group 11 distribution

Wang et al. reports as most Differentially Expressed genes in AD vs control for these slides MTRNR2L1, MTRNR2L6, SERPINA3 and DEPP1. Let’s see the expression of these genes across the slides.

# MTRNR2L1 and MTRNR2L6 expression
Seurat::SpatialFeaturePlot(ST011, features = c("MTRNR2L1", "MTRNR2L6"), pt.size.factor = 2000)
MTRNR2L1 and MTRNR2L6 expression

Figure 2.6: MTRNR2L1 and MTRNR2L6 expression

# DEPP1 and SERPINA3 expression
Seurat::SpatialFeaturePlot(ST011, features = c("DEPP1", "SERPINA3"), pt.size.factor = 2000)
DEPP1 and SERPINA3 expression

Figure 2.7: DEPP1 and SERPINA3 expression

2.2 Identification of Spatially Variable Genes across groups

We can also compute the most spatially variable genes across the slides using the FindMarkers function in Seurat. We can choose cell groups 2 and group 11 to see which markers are more differentially expressed across these two groups.

ST011 = Seurat::PrepSCTFindMarkers(ST011)
gc()

Let’s plot the top 3 markers identified

de_markers = Seurat::FindMarkers(ST011, ident.1 = 2, ident.2 = 11)
p1 = Seurat::SpatialFeaturePlot(
    ST011,
    features = rownames(de_markers)[1:3], alpha = c(0.1, 1),
    pt.size.factor = 2000, ncol = 6
)
p1
Top 3 spatially variable markers

Figure 2.8: Top 3 spatially variable markers