大家好,2025年了,霉运散去,财富缠身,高分SCI,助力我们登顶。
关于细胞类型空间关系之类的分析,分享了很多了,大家也应该有了一定的认识,但是呢,有一个问题,目前分析空间细胞类型的距离尺度并没有统一的标准,那么我们应该如何认识这种细胞类型的空间度量呢?
今日参考文献
知识积累
- 空间分辨组学(SRO)技术使分子谱分析能够促进不同细胞类型的识别,同时保留它们在组织内的空间组织,为评估细胞类型的空间关系提供了机会。细胞类型空间关系,如共定位(定义为哪些细胞类型在空间上彼此靠近)和分离(定义为哪些细胞类型在空间上彼此远离),可能表现出与健康组织功能和疾病相关的明显趋势。因此,评估这些细胞类型的空间关系提供了一个机会,以促进我们对细胞类型组织、组织功能和疾病之间关系的理解。
- 细胞类型的空间关系可以发生在不同的长度尺度上,一些细胞类型在精细的微米尺度上共定位参与旁分泌信号和其他近距离相互作用。其他的共定位到不同的环境和更大尺度的功能组织单位;而另一些则在更宏观的尺度上共定位到解剖结构中。
-
我们需要通过研究不同长度尺度的细胞类型空间关系来考虑空间范围的影响。
结果一、分析策略
给定细胞质心位置及其细胞类型注释,在特定空间长度尺度下评估参考细胞类型周围空间邻域内每种细胞类型的统计富集或depletion。
首先根据定义的邻域距离d在参考细胞类型的细胞周围绘制一个邻域,并计算该邻域中每种细胞类型的比例,不包括原始参考细胞。
不重叠的正方形或六边形网格,其中每个网格的大小对应于定义的空间长度比例。
做假设检验(null),评估数据中的细胞类型比例是否与基于随机分布的数据的偶然预期有显著差异。
结果二、模拟数据的测试,识别的细胞型空间关系可以更准确地区分细胞型空间富集和衰竭。
结果三、真实的组织空间组学数据集中概括了预期的细胞类型空间关系(Slide-seq、Stereo-seq、HD)
RCTD解卷积, using a neighborhood size of 50 µm across length scales ranging from 100 µm to
1000 µm。
结果4、跨多个样本比较细胞类型的空间关系
结果5、人类脾脏中功能相关的细胞类型空间关系(CODEX数据)
最后来看看代码,https://github.com/jefworks-lab/crawdad
require(remotes)
remotes::install_github('JEFworks-Lab/CRAWDAD')
library(crawdad)
library(tidyverse)
## load the spleen data of the pkhl sample
data('pkhl')
## convert dataframe to spatial points (SP)
cells <- crawdad::toSF(pos = pkhl[,c("x", "y")], cellTypes = pkhl$celltypes)
## define the scales to analyze the data
scales <- c(100, 200, 300, 400, 500, 600, 700, 800, 900, 1000)
## shuffle cells to create null background
shuffle_list <- crawdad:::makeShuffledCells(cells,
scales = scales,
perms = 3,
ncores = 7,
seed = 1,
verbose = TRUE)
## calculate the zscore for the cell-type pairs at different scales
results <- crawdad::findTrends(cells,
neighDist = 50,
shuffleList = shuffle_list,
ncores = 7,
verbose = TRUE,
returnMeans = FALSE)
dat <- crawdad::meltResultsList(results, withPerms = TRUE)
## calculate the zscore for the multiple-test correction
zsig <- correctZBonferroni(dat)
## summary visualization
vizColocDotplot(dat, zSigThresh = zsig, zScoreLimit = 2*zsig,
dotSizes = c(3,15)) +
theme(axis.text.x = element_text(angle = 35, h = 0))
## visualize trend for one cell-type pair
dat %>%
mutate(id = 'pkhl') %>%
filter(reference == 'Podoplanin') %>%
filter(neighbor == 'CD4 Memory T cells') %>%
vizTrends(lines = TRUE, withPerms = TRUE, zSigThresh = zsig)