空间单细胞|10x Visium数据分析、可视化与整合(3)

简介: 空间单细胞|10x Visium数据分析、可视化与整合(3)

引言

本文介绍了使用Seurat分析具有空间分辨率的RNA测序数据的方法,重点在于将空间信息与分子数据相结合。将包括以下常见于空间数据分析的任务:

  • 数据标准化
  • 降维和数据聚类
  • 发现空间变异性特征
  • 与单细胞RNA测序数据的整合
  • 处理多个样本切片

与单细胞数据融合

Visium检测的分辨率大约为50微米,这意味着每个检测点会覆盖多个细胞的表达信息。随着单细胞RNA测序数据的日益增多,研究人员可能想要对每个空间体素进行“反演分析”,以推断其细胞类型的组成。

首先加载数据(可在此下载),对单细胞RNA测序的参考数据进行预处理,然后进行标签转移。这个过程会为每个检测点提供一个基于单细胞RNA测序派生类别的概率分类。将这些预测结果作为Seurat对象中的一个新的检测项目添加进去。

allen_reference <- readRDS("/brahms/shared/vignette-data/allen_cortex.rds")

# note that setting ncells=3000 normalizes the full dataset but learns noise models on 3k
# cells this speeds up SCTransform dramatically with no loss in performance
library(dplyr)
allen_reference <- SCTransform(allen_reference, ncells = 3000, verbose = FALSE) %>%
    RunPCA(verbose = FALSE) %>%
    RunUMAP(dims = 1:30)

# After subsetting, we renormalize cortex
cortex <- SCTransform(cortex, assay = "Spatial", verbose = FALSE) %>%
    RunPCA(verbose = FALSE)
# the annotation is stored in the 'subclass' column of object metadata
DimPlot(allen_reference, group.by = "subclass", label = TRUE)

anchors <- FindTransferAnchors(reference = allen_reference, query = cortex, normalization.method = "SCT")
predictions.assay <- TransferData(anchorset = anchors, refdata = allen_reference$subclass, prediction.assay = TRUE,
    weight.reduction = cortex[["pca"]], dims = 1:30)
cortex[["predictions"]] <- predictions.assay

目前,已经为每个类别的每个检测点计算出了预测得分。在前额皮层区域,特别关注的是层次化的兴奋性神经元。在这个区域,能够识别出这些神经元亚型的不同连续层次,例如:

DefaultAssay(cortex) <- "predictions"
SpatialFeaturePlot(cortex, features = c("L2/3 IT", "L4"), pt.size.factor = 1.6, ncol = 2, crop = TRUE)

利用这些预测得分,能够推断出那些在特定空间区域分布的细胞类型。采用了与定义基因表达的空间变异性相同的标记点过程方法,但在这里,将细胞类型的预测得分视作“标记”,而非基因表达本身。这种方法帮助识别出在空间分布上具有特定性的细胞类型。

cortex <- FindSpatiallyVariableFeatures(cortex, assay = "predictions", selection.method = "moransi",
    features = rownames(cortex), r.metric = 5, slot = "data")
top.clusters <- head(SpatiallyVariableFeatures(cortex, selection.method = "moransi"), 4)
SpatialPlot(object = cortex, features = top.clusters, ncol = 2)

img

最终,证明了的综合分析方法能够有效地重现已知的神经元和非神经元亚群的空间分布模式,这包括了层状兴奋性神经元、第一层星形胶质细胞以及皮层灰质区域。

SpatialFeaturePlot(cortex, features = c("Astro", "L2/3 IT", "L4", "L5 PT", "L5 IT", "L6 CT", "L6 IT",
    "L6b", "Oligo"), pt.size.factor = 1, ncol = 2, crop = FALSE, alpha = c(0.1, 1))

多切片处理

这个小鼠大脑的数据集还包含了另一个切片,它代表了大脑的另一半。将这个切片导入,并进行与之前相同的初步标准化处理。

brain2 <- LoadData("stxBrain", type = "posterior1")
brain2 <- SCTransform(brain2, assay = "Spatial", verbose = FALSE)

为了在同一个 Seurat 对象中处理多个切片,提供了合并功能。

brain.merge <- merge(brain, brain2)

这样就可以对底层 RNA 表达数据进行联合降维和聚类。

DefaultAssay(brain.merge) <- "SCT"
VariableFeatures(brain.merge) <- c(VariableFeatures(brain), VariableFeatures(brain2))
brain.merge <- RunPCA(brain.merge, verbose = FALSE)
brain.merge <- FindNeighbors(brain.merge, dims = 1:30)
brain.merge <- FindClusters(brain.merge, verbose = FALSE)
brain.merge <- RunUMAP(brain.merge, dims = 1:30)

最后,数据可以在单个 UMAP 图中联合可视化。 SpatialDimPlot() 和 SpatialFeaturePlot() 默认情况下将所有切片绘制为列,将分组/特征绘制为行。

DimPlot(brain.merge, reduction = "umap", group.by = c("ident", "orig.ident"))

SpatialDimPlot(brain.merge)

SpatialFeaturePlot(brain.merge, features = c("Hpca", "Plp1"))

相关文章
|
1天前
|
机器学习/深度学习 存储 数据可视化
数据分析和可视化
数据分析和可视化
|
11天前
|
数据可视化 数据挖掘 定位技术
基于geopandas的空间数据分析—geoplot篇(上)
基于geopandas的空间数据分析—geoplot篇(上)
|
11天前
|
数据可视化 算法 数据挖掘
基于geopandas的空间数据分析-深入浅出分层设色
基于geopandas的空间数据分析-深入浅出分层设色
|
18天前
|
数据可视化 数据挖掘 Python
"揭秘Visium HD黑科技:空间数据分析大揭秘,可视化与整合的艺术之旅!"
【8月更文挑战第20天】近年来,空间转录组技术,特别是Visium HD技术,因其高分辨率与高通量特性,在单细胞生物学领域受到广泛关注。本文通过Python演示了Visium HD数据的全流程分析:从数据准备(读取表达矩阵和空间坐标)、空间数据分析(计算基因表达统计量)、数据可视化(绘制基因表达热图和空间点分布图),到多样本数据整合,为读者提供了实用的分析指南,助力深入探索空间转录组学的奥秘。
49 4
|
7天前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
14 0
|
17天前
|
数据可视化 前端开发 JavaScript
Echarts+JS实现数据分析可视化大屏!!附源码!!
Echarts+JS实现数据分析可视化大屏!!附源码!!
|
25天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
在数字化时代,数据分析至关重要,而Python凭借其强大的数据处理能力和丰富的库支持,已成为该领域的首选工具。Python作为基石,提供简洁语法和全面功能,适用于从数据预处理到高级分析的各种任务。Pandas库则像是神兵利器,其DataFrame结构让表格型数据的处理变得简单高效,支持数据的增删改查及复杂变换。配合Matplotlib这一数据可视化的魔法棒,能以直观图表展现数据分析结果。掌握这三大神器,你也能成为数据分析领域的高手!
41 2
|
30天前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
|
1月前
|
机器学习/深度学习 算法 数据挖掘
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
本文介绍了2023年第二届钉钉杯大学生大数据挑战赛初赛A题的Python代码分析,涉及智能手机用户监测数据分析中的聚类分析和APP使用情况的分类与回归问题。
40 0
2023 年第二届钉钉杯大学生大数据挑战赛初赛 初赛 A:智能手机用户监测数据分析 问题二分类与回归问题Python代码分析
|
5天前
|
数据采集 数据可视化 数据挖掘
数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
【9月更文挑战第2天】数据分析大神养成记:Python+Pandas+Matplotlib助你飞跃!
24 5

热门文章

最新文章

下一篇
DDNS