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

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

引言

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

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

首先,将加载Seurat及其所需的其他包以进行本教程的操作。

library(Seurat)
library(SeuratData)
library(ggplot2)
library(patchwork)
library(dplyr)

数据集

本文将介绍一个最新发布的小鼠脑矢状面切片数据集,该数据集是利用Visium v1化学技术生成的。数据集包括两组连续的前脑切片和两组(配对的)后脑切片。

您可以利用Seurat中的Load10X_Spatial()函数将其导入。该函数能够读取spaceranger流程的输出结果,并生成一个包含点级表达数据和相应组织切片图像的Seurat对象。

此外,您还可以通过SeuratData包轻松获取数据,如下面的示例所示。安装完数据集之后,输入命令?stxBrain即可获取更多相关信息。

InstallData("stxBrain")

brain <- LoadData("stxBrain", type = "anterior1")

数据预处理

对基因表达数据的初步处理过程与一般的单细胞RNA测序实验相仿。首先,需要对数据进行标准化处理,以校正不同数据点之间测序深度的差异。发现,空间数据集在分子计数或点上的变异可能非常显著,尤其是当组织中的细胞密度不同时。在这里观察到了显著的异质性,这就需要进行有效的数据标准化。

plot1 <- VlnPlot(brain, features = "nCount_Spatial", pt.size = 0.1) + NoLegend()
plot2 <- SpatialFeaturePlot(brain, features = "nCount_Spatial") + theme(legend.position = "right")
wrap_plots(plot1, plot2)

这些图表证明了分子计数的变异不单纯是技术层面的问题,还与组织结构有关。例如,组织中神经元较少的区域(如大脑皮层的白质部分),通常会显示出较低的分子计数。因此,一些常规方法(如LogNormalize()函数),它们要求每个数据点在标准化后具有相同的“基数”,可能会引起问题。

建议改用sctransform方法(Hafemeister和Satija,2019年发表于《基因组生物学》),这种方法通过建立基因表达的正则化负二项模型,旨在消除技术误差,同时保留生物学上的变异。sctransform能够对数据进行标准化处理,识别变异性大的特征,并将这些数据保存在SCT检测项中。

brain <- SCTransform(brain, assay = "Spatial", verbose = FALSE)

基因表达可视化

Seurat的SpatialFeaturePlot()函数是对FeaturePlot()的一个扩展,它允许在组织学图像上叠加分子层面的数据。例如,在小鼠大脑的这个数据集中,Hpca基因是海马区的一个强烈指示标志,而Ttr基因则是脉络丛的标志。

SpatialFeaturePlot(brain, features = c("Hpca", "Ttr"))

library(ggplot2)
plot <- SpatialFeaturePlot(brain, features = c("Ttr")) + theme(legend.text = element_text(size = 0),
    legend.title = element_text(size = 20), legend.key.size = unit(1, "cm"))
jpeg(filename = "../output/images/spatial_vignette_ttr.jpg", height = 700, width = 1200, quality = 50)
print(plot)
dev.off()

## agg_png 
##       2

在Seurat中,默认设置更侧重于分子数据的可视化效果。不过,您可以通过调整一些参数来改变点的尺寸(和透明度),从而提升组织学图像的可视性:

  • pt.size.factor 参数用于调整点的尺寸大小,其默认值为1.6。
  • alpha 参数用来设置点的透明度范围,其默认值是c(1, 1),即完全不透明到完全透明。

您可以尝试将alpha参数设置为c(0.1, 1),这样可以降低那些表达量较低的点的透明度,使得可视化效果更加突出。

p1 <- SpatialFeaturePlot(brain, features = "Ttr", pt.size.factor = 1)
p2 <- SpatialFeaturePlot(brain, features = "Ttr", alpha = c(0.1, 1))
p1 + p2

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

热门文章

最新文章

下一篇
无影云桌面