Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >单细胞空间|在Seurat中对基于图像的空间数据进行分析(1)

单细胞空间|在Seurat中对基于图像的空间数据进行分析(1)

作者头像
数据科学工厂
发布于 2024-06-21 08:41:57
发布于 2024-06-21 08:41:57
77800
代码可运行
举报
运行总次数:0
代码可运行

引言

在这篇指南[1]中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点介绍由不同成像技术生成的三个公开数据集。

  • Vizgen MERSCOPE(用于小鼠大脑研究)
  • Nanostring CosMx空间分子成像仪(用于FFPE人类肺组织)
  • Akoya CODEX(用于人类淋巴结研究)

首先,我们将加载完成本指南所需的相关软件包。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(Seurat)
library(future)
plan("multisession", workers = 10)
library(ggplot2)

小鼠大脑:Vizgen MERSCOPE

这个数据集是通过Vizgen MERSCOPE系统生成的,该系统采用了MERFISH技术。整个数据集包含了九个样本(小鼠大脑的三个完整横截面,每个横截面有三个生物学重复样本)。基因面板涵盖了483个基因目标,包括了已知的典型细胞类型标志物、非感觉型G蛋白偶联受体(GPCRs)和受体酪氨酸激酶(RTKs)。

在本指南中,我们分析了其中一个样本——第二切片的第一个生物学重复样本。在每个细胞中检测到的转录本数量平均为206。

首先,我们导入数据集并构建了一个Seurat对象。

我们使用了我们自己编写的LoadVizgen()函数来读取Vizgen分析流程的结果。生成的Seurat对象包含了以下信息:一个计数矩阵,记录了每个细胞中483个转录本的观察分子数。这个矩阵在功能上与单细胞RNA测序中的计数矩阵相似,并且默认情况下存储在Seurat对象的RNA分析模块中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vizgen.obj <- LoadVizgen(data.dir = "/brahms/hartmana/vignette_data/vizgen/s2r1/", fov = "s2r1")

接下来的信息特定于成像分析,并存储在生成的 Seurat 对象的图像槽中:

  • 细胞中心定位:记录了每个细胞中心的位置信息。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
head(GetTissueCoordinates(vizgen.obj[["s2r1"]][["centroids"]]))

##          x        y                                    cell
## 1 638.5640 4594.216 149164679103246548309819743981609972453
## 2 593.8034 4516.240 215843146921706462965382248182021894607
## 3 597.3134 4566.676 230248905804673613678286091156141465134
## 4 613.2434 4609.498 237155298815097057940587033798543926454
## 5 609.1934 4603.180 256099454901769634241742157204636917386
## 6 623.8814 4642.708  52442222147121971758529793775250916001
  • 细胞边界划分:用于界定每个独立细胞轮廓的一系列空间坐标点,形成多边形以表示细胞的边界。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
head(GetTissueCoordinates(vizgen.obj[["s2r1"]][["segmentation"]]))

##          x        y                                    cell
## 1 644.0774 4589.022 149164679103246548309819743981609972453
## 2 643.9694 4589.022 149164679103246548309819743981609972453
## 3 643.8614 4589.022 149164679103246548309819743981609972453
## 4 643.7642 4588.924 149164679103246548309819743981609972453
## 5 643.7534 4588.914 149164679103246548309819743981609972453
## 6 643.6454 4588.914 149164679103246548309819743981609972453
  • 分子定位信息:记录了在多重单分子荧光原位杂交(smFISH)实验过程中发现的每一个分子的空间位置。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
head(FetchData(vizgen.obj[["s2r1"]][["molecules"]], vars = "Chrm1"))

##          x        y molecule
## 1 577.3373 4205.977    Chrm1
## 2 600.0218 3917.781    Chrm1
## 3 508.2736 3934.063    Chrm1
## 4 630.7590 3948.586    Chrm1
## 5 635.1143 3969.567    Chrm1
## 6 582.7043 4021.577    Chrm1

预处理和无监督分析

我们首先进行常规的无监督聚类分析,将数据集初步处理为单细胞RNA测序(scRNA-seq)实验。在标准化过程中,我们采用了基于SCTransform的方法,并对默认的裁剪参数进行了微调,以减少smFISH实验中偶尔出现的异常值对我们分析结果的干扰。完成标准化后,我们便可以进行数据的降维处理和聚类分析。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vizgen.obj <- SCTransform(vizgen.obj, assay = "Vizgen", clip.range = c(-10, 10))
vizgen.obj <- RunPCA(vizgen.obj, npcs = 30, features = rownames(vizgen.obj))
vizgen.obj <- RunUMAP(vizgen.obj, dims = 1:30)
vizgen.obj <- FindNeighbors(vizgen.obj, reduction = "pca", dims = 1:30)
vizgen.obj <- FindClusters(vizgen.obj, resolution = 0.3)

然后,我们可以在 UMAP 空间(使用 DimPlot())中可视化聚类结果,或者使用 ImageDimPlot() 覆盖在图像上。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DimPlot(vizgen.obj, reduction = "umap")
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ImageDimPlot(vizgen.obj, fov = "s2r1", cols = "polychrome", axes = TRUE)

由于在一起查看单个簇时很难可视化它们的空间定位模式,因此我们可以突出显示属于特定簇的所有细胞:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p1 <- ImageDimPlot(vizgen.obj, fov = "s2r1", cols = "red", cells = WhichCells(vizgen.obj, idents = 1))
p2 <- ImageDimPlot(vizgen.obj, fov = "s2r1", cols = "red", cells = WhichCells(vizgen.obj, idents = 15))
p1 + p2

我们能够识别每个独立聚类的特征标志物,并展示它们在空间上的表达分布。通过使用ImageFeaturePlot()函数,我们可以根据单个基因的表达量来对细胞进行着色,这与FeaturePlot()函数的作用相似,都是为了在二维平面上展示基因表达的分布情况。考虑到MERFISH技术能够对单个分子进行成像,我们还能够在图像上直接观察到每个分子的具体位置。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p1 <- ImageFeaturePlot(vizgen.obj, features = "Slc17a7")
p2 <- ImageDimPlot(vizgen.obj, molecules = "Slc17a7", nmols = 10000, alpha = 0.3, mols.cols = "red")
p1 + p2

请注意,我们可以通过设置nmols参数来降低图中展示的分子数量,这样可以避免因分子过多而导致的重叠问题。此外,您还可以调整mols.size(分子大小)、mols.cols(分子颜色)和mols.alpha(分子透明度)等参数,以进一步优化图表的展示效果。

在图表上绘制分子对于展示同一图表中多个基因的共表达情况尤为有用。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
p1 <- ImageDimPlot(vizgen.obj, fov = "s2r1", alpha = 0.3, molecules = c("Slc17a7", "Olig1"), nmols = 10000)
markers.14 <- FindMarkers(vizgen.obj, ident.1 = "14")
p2 <- ImageDimPlot(vizgen.obj, fov = "s2r1", alpha = 0.3, molecules = rownames(markers.14)[1:4],
    nmols = 10000)
p1 + p2

最新版的Seurat空间分析框架提供了两种显示细胞的方式:

  1. 一种是将细胞作为单独的点来处理,另一种是展示细胞的边界(即细胞的轮廓)。默认情况下,Seurat不显示细胞的轮廓,而是将每个细胞简化为一个点(称为“中心点”),这样做可以提高在大面积区域绘图时的效率,因为在这些区域中,细胞的边界细节往往难以辨认。
  2. 我们可以通过放大来聚焦组织的特定区域,从而形成一个新的观察视野。比如,我们可以放大到包含海马体的区域进行观察。放大后,我们可以通过设置DefaultBoundary()来展示细胞的边界。此外,为了提高绘图的效率,我们还可以选择“简化”这些细胞边界,即减少每个多边形的边数。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# create a Crop
cropped.coords <- Crop(vizgen.obj[["s2r1"]], x = c(1750, 3000), y = c(3750, 5250), coords = "plot")
# set a new field of view (fov)
vizgen.obj[["hippo"]] <- cropped.coords

# visualize FOV using default settings (no cell boundaries)
p1 <- ImageDimPlot(vizgen.obj, fov = "hippo", axes = TRUE, size = 0.7, border.color = "white", cols = "polychrome",
    coord.fixed = FALSE)

# visualize FOV with full cell segmentations
DefaultBoundary(vizgen.obj[["hippo"]]) <- "segmentation"
p2 <- ImageDimPlot(vizgen.obj, fov = "hippo", axes = TRUE, border.color = "white", border.size = 0.1,
    cols = "polychrome", coord.fixed = FALSE)

# simplify cell segmentations
vizgen.obj[["hippo"]][["simplified.segmentations"]] <- Simplify(coords = vizgen.obj[["hippo"]][["segmentation"]],
    tol = 3)
DefaultBoundary(vizgen.obj[["hippo"]]) <- "simplified.segmentations"

# visualize FOV with simplified cell segmentations
DefaultBoundary(vizgen.obj[["hippo"]]) <- "simplified.segmentations"
p3 <- ImageDimPlot(vizgen.obj, fov = "hippo", axes = TRUE, border.color = "white", border.size = 0.1,
    cols = "polychrome", coord.fixed = FALSE)

p1 + p2 + p3

我们可以在放大后以更高分辨率可视化绘制的单个分子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Since there is nothing behind the segmentations, alpha will slightly mute colors
ImageDimPlot(vizgen.obj, fov = "hippo", molecules = rownames(markers.14)[1:4], cols = "polychrome",
    mols.size = 1, alpha = 0.5, mols.cols = c("red", "blue", "yellow", "green"))
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
空间单细胞|基于图像的空间数据分析(2)
在这篇指南[1]中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点介绍由不同成像技术生成的三个公开数据集。
数据科学工厂
2024/07/05
6730
空间单细胞|基于图像的空间数据分析(2)
空间单细胞|基于图像的数据分析(3)
在这篇指南[1]中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点介绍由不同成像技术生成的三个公开数据集。
数据科学工厂
2024/07/05
2610
空间单细胞|基于图像的数据分析(3)
跟着Seurat官网学Xenium空转分析
Xenium是由 10x Genomics 推出的一种先进的空间转录组学技术,能够在单细胞分辨率的基础上,精确地检测和定位组织切片中的基因表达情况。这项技术结合了分子检测与空间定位的优势,为研究细胞在组织中的位置及其功能关系提供了重要工具。这里看一下AI对Xenium的理解,描述的非常详细:
生信菜鸟团
2024/12/20
1.4K0
跟着Seurat官网学Xenium空转分析
空间单细胞|在Seurat中对空间数据进行分析(4)
在这篇指南[1]中,我们介绍了Seurat的一个新扩展功能,用以分析新型的空间解析数据,将重点介绍由不同成像技术生成的三个公开数据集。
数据科学工厂
2024/07/05
3370
空间单细胞|在Seurat中对空间数据进行分析(4)
10X空间转录组Visium && HD && Xenium分析全更新
从8µm bin大小重新聚集细胞可能会很耗时,因为spot数量通常超过300,000。
追风少年i
2024/06/03
6970
10X空间转录组Visium && HD && Xenium分析全更新
单细胞空间转录组RCTD去卷积分析学习和整理
RCTD(Robust Cell Type Decomposition),是一种用于将单细胞RNA测序数据中的细胞类型注释转移到空间转录组学数据上的方法。RCTD 通过整合单细胞和空间转录组学数据,能够较为精确地为空间点(spots)分配细胞类型或细胞类型的混合,以便更好地理解空间组织结构中的基因表达情况。
凑齐六个字吧
2024/10/20
1.2K0
单细胞空间转录组RCTD去卷积分析学习和整理
空间转录组:从R导入数据
本系列讲解 空间转录组学 (Spatial Transcriptomics) 相关基础知识与数据分析教程[1],持续更新,欢迎关注,转发,文末有交流群(你懂的)!
数据科学工厂
2025/07/02
1240
空间转录组:从R导入数据
单细胞数据重新挖掘会有什么意外惊喜吗?(IF=12.4/Q1)
今天分享的一篇文章,本来是看看肾脏组织中的各种上皮细胞的分类,但是注释的时候却有个小插曲,下面来看看~
生信技能树
2025/04/14
1480
单细胞数据重新挖掘会有什么意外惊喜吗?(IF=12.4/Q1)
空间单细胞|Slide-seq分析、可视化与整合(2)
在本文中,我们将对利用Slide-seq v2技术获得的小鼠海马区数据集进行深入分析。
数据科学工厂
2024/07/26
2450
空间单细胞|Slide-seq分析、可视化与整合(2)
Seurat教程上新||Mixscape : 用多模态单细胞数据筛选免疫检查点
PD-L1等抑制性免疫检查点分子的表达在人类癌症中较为常见,可导致T细胞介导的免疫应答的抑制。在这里,我们应用ECCITE-seq技术来探索调控PD-L1表达的分子网络。ECCITE-seq技术将混合的CRISPR筛查与单细胞mRNA和表面蛋白测量相结合。我们还开发了一个计算框架,mixscape,它通过识别和去除混杂的变异源,大大提高了单细胞扰动屏幕的信噪比。利用这些工具,我们识别和验证PD-L1的调控因子,并利用我们的多模态数据识别转录和转录后的调控模式。特别是,我们发现kelch样蛋白keap1和转录激活因子NRF2介导了IFN刺激后PD-L1的上调。我们的结果为免疫检查点的调节确定了一个新的机制,并为分析多模态单细胞perturbation screens提供了一个强大的分析框架 。
生信技能树jimmy
2020/07/07
1.3K0
单细胞实战之单细胞hdWGCNA分析——入门到进阶(高级篇3)
在高级篇2中回顾了用于拟时序分析的CytoTRACE2和monocle3两个工具。
凑齐六个字吧
2025/04/27
5260
单细胞实战之单细胞hdWGCNA分析——入门到进阶(高级篇3)
spotBinning 在空间数据中的应用
我们知道,空间分析中常见的是解析每个spot中的细胞数,这是往细了做。而临近的细胞放到一个bin中获得概览,不仅是在可视化方面,在数据集大了之后,这种分箱的操作可以减少维度。这种分析方法或可叫做spotbinning抑或是pseudospot。之所以产生这个联想是因为之前做宏基因组的时候做过Contigbinning。今天我们就来看看spotBinning 在空间数据中的应用,主角是:同属于Seurat生态的schex ,起初,schex 拟解决单细胞转录组图谱(tsne/umap)中细胞重叠的问题。如:
生信技能树jimmy
2021/01/21
7550
Seurat4.0系列教程22:空间转录组的分析、可视化与整合
Seurat4.0系列教程告一段落,但这决不是终点。这个系列教程只是给大家打开一扇窗,知道Seurat4.0有这些功能可用,少走弯路,起到一个抛砖引玉的作用,后续还要自己深入研究。不要像我当初入门单细胞之时,为了找到整合方法耗费大量时间及不必要的金钱。君子生非异也,善假于物也。学,然后知不足。加油吧!少年!用好单细胞测序及分析这个技术,为人类健康研究做出自己的贡献!不足之处,恳请批评指正!
生信技能树jimmy
2021/08/20
11.1K0
【斑马鱼肾脏】多个单细胞数据整合分析(二)
作者用了SCT来整合24个数据集,建议大家换成harmony,否则电脑根本承受不来~
生信菜鸟团
2024/11/23
1400
【斑马鱼肾脏】多个单细胞数据整合分析(二)
单细胞最好的教程(二):归一化
在前面的教程中,我们从数据集中删除了低质量的细胞,包括计数较差以及双细胞,并将数据存放在 anndata文件中。由于单细胞测序技术的限制,我们在样本中获得RNA的时候,经过了分子捕获,逆转录还有测序。这些步骤会影响同一种细胞的细胞间的测序计数深度的变异性,故单细胞测序数据中的细胞间差异可能会包含了这部分测序误差,等价于计数矩阵中包含了变化很大的方差项。但在目前的统计方法中,绝大部分模型都预先假定了数据具有相同的方差结构。
生信技能树jimmy
2023/08/31
8360
单细胞最好的教程(二):归一化
课后补充---10X HD数据结合图像识别获取单细胞级空间数据
空间转录组学领域旨在捕捉组织完整的转录图谱,并将基因表达映射到特定位置,揭示不同细胞类型的空间分布及其分子活性。10x的Visium分析使用barcodes的载玻片捕获和定位转录表达。在Visium HD空间基因表达实验中,barcodes在2x2um方格内形成网格。除此之外,SpaceRanger pipline cre ates 8x8 um and 16 um的空间表达数据。 Each bin包含多个2x2um正方形的UMI计数的基因总和。这不是整合基因表达数据的唯一方法。另一种方法是使用Visium HD检测中使用的组织的显微镜图像中包含的信息来创建自定义bin。使用从高分辨率H&E图像染色的核,根据barcode对应的核,将barcode划分为bin。barcode被划分成特定于细胞核的bin,模仿单细胞数据,因为基因计数现在将按每个细胞形成。
追风少年i
2024/08/16
3350
课后补充---10X HD数据结合图像识别获取单细胞级空间数据
Seurat 4.0 || 单细胞PBMC多模态参考数据集
Seurat 4.0 ||您的单细胞数据分析工具箱上新啦 Seurat 4.0 ||单细胞多模态数据整合算法WNN Seurat 4.0 || 分析scRNA和膜蛋白数据 Seurat 4.0 || WNN整合scRNA和scATAC数据
生信技能树jimmy
2020/11/09
3.1K1
Seurat 4.0 || 单细胞PBMC多模态参考数据集
Seurat_V5|单细胞转录组 + 蛋白,WNN方法分析单细胞多模态数据
前面Seurat V5|一个函数就能解决多种去批次方法,按需尝试提到V5的升级部分(https://satijalab.org/seurat/articles/get_started_v5_new)主要体现在4个方面,本次介绍 Seurat V5 的WNN方法分析单细胞多模态数据,本文以转录组+蛋白组数据为例。
生信补给站
2024/03/25
4780
Seurat_V5|单细胞转录组 + 蛋白,WNN方法分析单细胞多模态数据
脚本更新----多样本联合分析(Seurat V4)空间基因梯度(STG)
追风少年i
2024/11/26
1410
脚本更新----多样本联合分析(Seurat V4)空间基因梯度(STG)
针对高维数据(10X单细胞空间)的共表达网络分析(hdWGCNA)
生物系统是非常复杂的,在不同分子、细胞、器官和有机体之间严格调节的相互作用的基础上,被组织成一个多尺度的功能单元层次。虽然实验方法能够在数百万个细胞中进行转录组范围的测量,但流行的生物信息学工具不支持系统级分析。
追风少年i
2023/06/20
1.8K0
针对高维数据(10X单细胞空间)的共表达网络分析(hdWGCNA)
推荐阅读
相关推荐
空间单细胞|基于图像的空间数据分析(2)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验