2023年02月20日,上海交通大学医学院上海市免疫学研究所叶幼琼研究员团队在Nature Communications 上发表题为“Reconstruction of the tumor spatial microenvironment along the malignant-boundary-nonmalignant axis”的研究论文。该研究开发了肿瘤空间微环境解析工具Cottrazm (Construction of Tumor Transition Zone Microenvironment), 结合空间转录组数据和HE染色图像以及单细胞转录组数据,精准绘制了肿瘤组织中连接恶性和非恶性区域的肿瘤边界区域,利用反卷积的方法解析不同空间定位上的细胞组成,并在sub-spot水平重构细胞类型特异的基因表达谱。利用该工具以结直肠癌和肝癌的肿瘤样本为例,发现在肿瘤边界富集的特定细胞亚型、细胞互作、以及靶向边界的潜在治疗靶点,为临床靶向肿瘤空间微环境治疗提供了新策略。
ST结合单细胞RNA测序(scRNA-seq)的优势使基因表达谱能够直接在组织内与二维空间信息相结合。与scRNA-seq分析中的聚类方法相比,ST在评估基因表达、空间定位和组织学信息时需要更全面和综合的考虑。许多原位捕获技术,如10X Genomics Visium,利用5000个直径为55-100?m的SPOT来记录6.5 × 6.5 mm捕获区域内的mRNA位置。这种方法容易在一个SPOT中包含多个同质或异质细胞(每个斑点1-10个细胞),这使得在混合SPOT中区分细胞身份变得困难。用于ST分析的传统生物信息学工具通常考虑图像分析、细胞类型鉴定、反卷积、空间分布、细胞-细胞通信、空间表达模式、调节因子在空间位置的相互作用和亚细胞分辨率。大多数用于ST数据中细胞类型鉴定的工具要么基于细胞类型映射,要么基于细胞类型反卷积。细胞类型定位方法通常根据基因表达或结合成像数据或邻近点推断出最可能的细胞类型,而失去了实际的细胞组成。细胞型反卷积方法一般依靠scRNA-seq数据作为参考来推断每个SPOT或位置的细胞组成,但不考虑SPOT的位置和形态特征,可能忽略了空间结构对细胞组成的影响。此外,目前还没有有效的方法来高分辨率重建同一点不同细胞类型的表达矩阵,这限制了对同一点不同细胞类型之间相互作用的研究以及空间建筑中特定细胞类型标记物潜在靶标的识别。在这里,文章开发了Cottrazm,一个集成的工具框架,能够基于10x Genomics Visium平台的空间转录组学构建肿瘤边界周围的微环境。Cottrazm确定连接恶性和非恶性细胞SPOT的肿瘤边界(Cottrazm- boundarydefine)。根据形态学调整后的表达矩阵的聚类和肿瘤的高CNV特征确定肿瘤核心的SPOT。其次,利用六边形系统连续外推肿瘤核心spot的相邻spot,并计算相邻点到肿瘤质心的UMAP距离。该方法能够确定相邻点是肿瘤还是边界(Bdy)。
核心功能:利用Cottrazm界定了连接恶性和非恶性空间点的肿瘤边界 (Cottrazm-BoundaryDefine);其次通过整合scRNA-seq、空间转录组学和空间点的位置信息通过反卷积算法预测空间各点的细胞组成 (Cottrazm-SpatialDecon);最终利用ST和scRNA-seq数据在sub-spot水平重建了细胞类型特异的基因表达谱 (Cottrazm-SpatialRecon)。
针对Cottrazm-BoundaryDefine,进行了空间形态基因表达(SME)归一化算法,利用相邻信息(空间位置)和形态距离对ST数据的基因表达进行归一化,得到了形态调整后的空间转录组学表达矩阵。然后,使用基于形态学调整表达矩阵的k近邻(KNN)算法对spot进行聚类,并根据免疫特征计算正常评分,获得正常组织内聚类的值。恶性spot被认为具有最高的CNV评分,并且由最高比例的恶性细胞组成。利用CNV评分在单细胞RNA-seq中分离恶性细胞和非恶性细胞,然后cotrazm通过intercnv鉴定拷贝数变异最大的cluster作为恶性spot的核心spot。Cottrazm在六边形格子上排列空间spot,计算点之间的曼哈顿距离,从而识别出肿瘤核心附近曼哈顿距离小于线性模型拟合半径的点。此外,根据到肿瘤质心的均匀流形近似和投影(UMAP)距离,利用六边形系统从恶性细胞的核心spot逐层推断,确定一个spot是恶性(Mal)斑点还是肿瘤边界(Bdy)斑点。当恶性spot的所有邻居都不是恶性时,外推过程结束,剩余的spot被标记为非恶性区域(nMal),既不是Mal spot,也不是Bdy spot.
library(Seurat)
library(magrittr)
library(dplyr)
library(Matrix)
library(ggplot2)
library(stringr)
library(RColorBrewer)
library(patchwork)
library(ggtree)
library(BiocGenerics)
library(readr)
library(rtracklayer)
library(infercnv)
library(phylogram)
library(utils)
library(dendextend)
library(assertthat)
library(reticulate)
library(openxlsx)
library(scatterpie)
library(cowplot)
library(stats)
library(quadprog)
library(data.table)
library(Rfast)
library(ggrepel)
library(tibble)
library(clusterProfiler)
library(utils)
library(org.Hs.eg.db)
#from local path
devtools::install_github('Yelab2020/Cottrazm')
#from github
install.packages("Cottrazm.tar.gz", repos = NULL, type = "source")
library(Cottrazm)
print('STPreProcess')
InDir = paste(system.file("extdata/outs",package = "Cottrazm"),"/",sep = "")
Sample = "CRC1"
OutDir = paste(getwd(),"/",Sample,"/",sep = "")
TumorST <-
STPreProcess(
InDir = InDir,
OutDir = OutDir,
Sample = Sample
)
print('STModiCluster')
res = 1.5
TumorST <-
STModiCluster(
InDir = InDir,
Sample = Sample,
OutDir = OutDir,
TumorST = TumorST,
res = res
)
print('STCNV' )
STInferCNV <-
STCNV(
TumorST = TumorST,
OutDir = OutDir,
assay = "Spatial"
)
print('STCNVScore')
TumorST <-
STCNVScore(
TumorST = TumorST,
assay = "Spatial",
Sample = Sample,
OutDir = OutDir
)
将CNV最高分定义为核心肿瘤spot
TumorSTn <-
BoundaryDefine(
TumorST = TumorST,
MalLabel = c(1,2),
OutDir = OutDir,
Sample = Sample
)
TumorST <-
BoundaryPlot(
TumorSTn = TumorSTn,
TumorST = TumorST,
OutDir = OutDir,
Sample = Sample
)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。