新研究揭示鼻咽癌中的三级淋巴组织与肿瘤进展和免疫治疗反应的关系
近日,发表在《自然通讯》上的一项研究通过单细胞和空间转录组分析,揭示了鼻咽癌(NPC)中三级淋巴组织(TLS)的细胞组成及其与肿瘤进展和免疫治疗反应的关联。该研究深入探讨了TLS在肿瘤微环境中的作用,为癌症治疗提供了新的见解和潜在的治疗策略。
研究背景
三级淋巴组织(TLS)是一种在炎症、感染或肿瘤组织中形成的免疫细胞聚集区,其结构类似于淋巴结中的生发中心,是免疫反应的重要场所。研究表明,TLS的存在与多种人类肿瘤中的免疫细胞浸润、患者生存率以及对免疫检查点抑制疗法(ICB)反应性有关。然而,TLS与肿瘤细胞聚集的具体相互作用机制尚不清楚。为了揭示这些机制,本研究团队使用鼻咽癌作为模型,进行了大规模的单细胞和空间转录组分析。
研究方法与发现
本研究共分析了77个鼻咽癌患者的肿瘤和血液样本,通过单细胞RNA测序分析了343,829个细胞,覆盖了包括B细胞、T细胞、肿瘤相关成纤维细胞(CAFs)和恶性细胞等多种细胞类型。同时,研究还对15个肿瘤样本进行了空间转录组分析,解析了TLS的空间分布和细胞成分。
研究发现,在鼻咽癌的TLS中,存在一群关键的细胞群体,包括表达CXCL13的癌相关成纤维细胞(CAFs)、干细胞样CXCL13+CD8+ T细胞以及B细胞和T滤泡辅助细胞(Tfh细胞)。这些细胞群体通过复杂的细胞间相互作用,参与了肿瘤微环境的重塑和抗肿瘤免疫反应。
三级淋巴组织促进抗肿瘤免疫反应
研究进一步发现,TLS内的B细胞经过生发中心反应后,能够分化成浆细胞,这些浆细胞散布在肿瘤细胞聚集区中,通过抗体依赖的细胞毒性(ADCC)和抗体依赖的细胞吞噬(ADCP)作用,促进EB病毒相关恶性细胞的凋亡。与此同时,TLS中的CXCL13+ CAFs通过促进B细胞粘附和抗体产生,激活了CXCL13+CD8+ T细胞,这些T细胞在肿瘤细胞聚集区中逐渐变得耗竭。
免疫治疗反应的预测
本研究还评估了TLS关键成分在患者生存和免疫治疗反应中的预后价值。结果显示,TLS相关细胞的特征与鼻咽癌患者的预后和PD-1抑制剂治疗反应密切相关。特别是,具有较高TLS细胞特征评分的患者在免疫治疗中的反应更佳,生存率也显著提高。这表明TLS的组成和功能状态可以作为鼻咽癌患者治疗反应的潜在预测指标。
未来展望
这项研究首次通过单细胞和空间转录组学方法揭示了TLS在鼻咽癌中的详细组成和功能。研究团队指出,进一步的研究应集中于探索如何调控TLS的形成和功能,以增强抗肿瘤免疫反应,并开发基于TLS的个性化治疗策略。随着对TLS在不同癌症类型中作用的深入了解,未来可能会出现更多的免疫治疗创新方法,为癌症患者带来新的希望。
CSOmap 从单细胞数据中推测空间关系,张泽民院士团队开发的
###Pre-process
cancer <- subset(npc, subset = MajorCluster == "Malignant cells")
cancer_filt <- subset(cancer, subset = Source == "Tumor")
aa <- sample(colnames(cancer_filt),500)
cancer_filt_sample <- subset(cancer_filt, cells=aa)
###
cd8_filt_t <- subset(cd8_filt, subset = Source == "Tumor")
cd8_filt_sample <- subset(cd8_filt_t, cells=SeuratObject::WhichCells(cd8_filt_t, downsample=300))
cd8_filt_sample$annotation <- cd8_filt_sample@active.ident
###
subset_cells <-merge(x = cancer_filt_sample,y = list(cd8_filt_sample))
###
eff <- read.table("genes.results",
header = T,stringsAsFactors = F)
eff$gene <- strsplit(eff$gene_id,split = "_") %>% lapply(.,function(x){x[[2]]}) %>% unlist()
eff_length <- plyr::mapvalues(rownames(subset_cells),from =eff$gene,to =eff$effective_length )
ref_dat <- data.frame(gene = rownames(subset_cells), eff_length = eff_length,stringsAsFactors = F)
ref_dat$eff_length <- as.numeric(ref_dat$eff_length)
ref_dat <- na.omit(ref_dat)
ref_dat_rm <- ref_dat[ref_dat$eff_length > 0,]
###
dat <- subset_cells@assays$RNA@counts %>% as.matrix()
dat_filt <- dat[ref_dat_rm$gene,]
cpm <- RelativeCounts(data = dat_filt,scale.factor = 1e6)
########
TPMs <- apply(cpm,2,function(x){
x/(ref_dat_rm$eff_length)
})
###
TPM <- round(TPMs,2)
labelData <- data.frame(cells = rownames(subset_cells@meta.data),labels = subset_cells@meta.data$annotation)
save(TPM,labelData,file = "npc_cancer_CD8_sample_filt.RData")
###CSOmap
load("npc_cancer_CD8_sample_filt.RData")
library(CSOmapR)
library(CSOmapR.demo)
LR <- read.table("LR_pairs.txt",stringsAsFactors = F)
affinityMat = getAffinityMat(TPM, LR, verbose = T)
coords_res = runExactTSNE_R(
X = affinityMat,
no_dims = 3,
max_iter = 1000,
verbose = T
)
coords = coords_res$Y
rownames(coords) <- colnames(TPM)
colnames(coords) <- c('x', 'y', 'z')
require(dplyr)
# arrange data
coords_tbl = bind_cols(cellName = rownames(coords), as.data.frame(coords))
join_vec = setNames(colnames(labelData)[1], nm = colnames(coords_tbl)[1])
cellinfo_tbl = left_join(coords_tbl, labelData, by = join_vec)
density_obj = getDensity3D(cellinfo_tbl$x, cellinfo_tbl$y, cellinfo_tbl$z)
cellinfo_tbl = cellinfo_tbl %>% mutate(density = density_obj)
signif_results = getSignificance(coords, labels = cellinfo_tbl$labels, verbose = T)
contribution_list = getContribution(TPM, LR, signif_results$detailed_connections)
save(signif_results,contribution_list,cellinfo_tbl,file = "Cancer_CD8_res.RData")
后苔↩️之前贴子的岸号即可霍得之前的代码,今日关键词:240905
Liu, Y., Ye, SY., He, S. et al. Single-cell and spatial transcriptome analyses reveal tertiary lymphoid structures linked to tumour progression and immunotherapy response in nasopharyngeal carcinoma. Nat Commun 15, 7713 (2024).
想学生信的,跟班的,想快速入门上手的,可以看下面👇这个文章