Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >手把手带你复现NC图表之Figure 4

手把手带你复现NC图表之Figure 4

作者头像
生信技能树jimmy
发布于 2023-09-26 12:12:13
发布于 2023-09-26 12:12:13
48800
代码可运行
举报
文章被收录于专栏:单细胞天地单细胞天地
运行总次数:0
代码可运行

复现文章信息:

文章题目:Single-cell analysis reveals prognostic fibroblast subpopulations linked to molecular and immunological subtypes of lung cancer 期刊:Nature Communications 日期:2023年1月31日 DOI: 10.1038/s41467-023-35832-6

复现图——Figure 4

轨迹推断识别与肺泡或外膜成纤维细胞向肌成纤维细胞转分化相关的共有基因模块

R包载入与数据准备

代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
library(Seurat)
library(ggplot2)
library(WGCNA)
library(tidyverse)
library(ggpubr)
library(ggsci)
library(destiny)
library(metap)
library(pheatmap)
library(xlsx)
library(ggplot2)
library(ggfittext)
data_directory <- "H:\\文献复现\\6" 
source(paste0(data_directory, "0_NewFunctions.R"))

load(paste0(data_directory, "Trajectory Analysis results.Rdata"))
load(paste0(data_directory, "IntegratedFibs_Zenodo.Rdata"))
load(paste0(data_directory, "MxIHC_Zenodo.Rdata"))
REACTOME<-read.xlsx("41467_2023_35832_MOESM16_ESM.xlsx",
                   as.data.frame=T,
                   header=T)
#在文章中的Supplementary Data 13可以下载
Fibs.integrated <- AddMetaData(Fibs.integrated, DPT_output)
A.M_pT_res_stats2$Gene <- rownames(A.M_pT_res_stats2)
T.M_pT_res_stats2$Gene <- rownames(T.M_pT_res_stats2)

Figure 4A-C

探究从肺泡和外膜成纤维细胞亚群(在对照组织中富集)到肌成纤维细胞(在肿瘤组织中富集)的分化过程,对scRNA-seq数据集进行轨迹推断。结果表明外膜和肺泡成纤维细胞可以作为独立的祖细胞,肌成纤维细胞可以从这些祖细胞转分化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pA <- ggplot(DM_dim_data, aes(x = DC1, y = DC2, colour = Fibs_subpopulation)) +
  theme_pubr(base_size = 10) +
  theme(axis.text = element_blank(), legend.title = element_blank(), legend.position = "right") +
  geom_point(size = 0.1) +
  scale_color_manual(values = Fibs_col.palette) +
  guides(colour = guide_legend(override.aes = list(size = 2)))
#突出显示分配给每个扩散拟时序(DPT)分支的细胞
pB <- ggplot(DM_dim_data, aes(x = DC1, y = DC2, colour = factor(dpt_branch))) +
  theme_pubr(base_size = 10) +
  theme(axis.text = element_blank(), legend.position = "right") +
  geom_point(size = 0.1) +
  scale_color_brewer(name = "DPT branch") +
  guides(colour = guide_legend(override.aes = list(size = 2), title.position = "top", title.hjust =  0.5))
#对细胞进行拟时序排序,代表它们向肌成纤维细胞表型的相对进展
pC <- ggplot(DM_dim_data, aes(x = DC1, y = DC2, colour = All_pT)) +
  theme_pubr(base_size = 10) +
  theme(axis.text = element_blank(), legend.key.width = unit(5, "pt"),
        legend.position = "right", legend.key.height = unit(10, "pt")) +
  geom_point(size = 0.1) +
  scale_color_viridis_c(name = "Pseudotime") +
  guides(colour = guide_colourbar(title.position = "top", title.hjust =  0.5))

Fig_4ABC <- ggarrange(pA,NULL,pB,NULL,pC, ncol = 5, widths = c(1,0.1,1,0.1), align = "h",
                  labels = c("a", "", "b", "", "c"))

Fig_4ABC

Alveolar到Myo

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
names(A.M_pT_res)
datExpr_Full <- list()
for(i in names(A.M_pT_res)){
  datExpr_Full[[i]]<- t(A.M_pT_res[[i]]$pT_fit)
}
sig_genes <- as.character(na.omit(rownames(A.M_pT_res_stats2)[A.M_pT_res_stats2$meta_p_adj.BH < 1e-10]))
length(sig_genes)
datExpr_CTR.TUMOUR <- list()
for(i in names(datExpr_Full)[c(1:4,7,8)]){
  datExpr_CTR.TUMOUR[[i]] <- datExpr_Full[[i]][, sig_genes]
}
datExpr_CTR.TUMOUR_median <- 
  Reduce(pmedian, datExpr_CTR.TUMOUR)
fit <- hclust(as.dist(1-cor(datExpr_CTR.TUMOUR_median)), method="ward.D2")
plot(fit) 
groups <- cutree(fit, k=4)
pheatmap(t(datExpr_CTR.TUMOUR_median[, order(groups)]), scale = "row",
                   cluster_cols = F,
                   cluster_rows = F,
                   clustering_distance_rows = "correlation",
                   clustering_method = "ward.D2",
                   show_rownames = F,
                   annotation_row = data.frame(
                     row.names = sig_genes,
                     cluster = as.factor(groups)
                   ))
rowMatch <- match(rownames(A.M_pT_res_stats2) ,sig_genes)
A.M_pT_res_stats2$Cluster <- as.factor(groups)[rowMatch]
A.M_pT_res_stats2$Module <- factor(
  A.M_pT_res_stats2$Cluster,
  levels = c(1:4),
  labels = c("Progenitor","Differentiation","Transient","Proto.Differentiation")
)
levels(A.M_pT_res_stats2$Module)
A.M_pT_res_stats2$Module <- factor(A.M_pT_res_stats2$Module, levels = c("Progenitor", "Transient", "Proto.Differentiation", "Differentiation"))
gene_order <- factor(
  groups,
  levels = c(1:4),
  labels = c("Progenitor","Differentiation","Transient","Proto.Differentiation")
)
gene_order <- factor(gene_order, levels = c("Progenitor", "Transient", "Proto.Differentiation", "Differentiation"))
Mod_cols <- RColorBrewer::brewer.pal(5, "Set1")
names(Mod_cols) <- levels(A.M_pT_res_stats2$Module)

Figure 4D

热图显示DPT中肺泡成纤维细胞进展为肌成纤维细胞时差异表达的基因。用层次聚类法将这些基因分组到DPT表达谱定义的模块中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AM.PT_TUMOUR_Heatmap <- 
  pheatmap(t(datExpr_CTR.TUMOUR_median)[order(gene_order), ], scale = "row",
                     cluster_cols = F, cluster_rows = F,
                     breaks = seq(-3,3,length=101),
                     show_rownames = F, show_colnames = F,
                     legend = F,
                     annotation_legend = F,
                     fontsize = 7,
                     annotation_names_row = F,
                     annotation_names_col = F,
                     gaps_row = c(
                       sum(as.numeric(gene_order) == 1, na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:2), na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:3), na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:4), na.rm = T)
                     ),
                     annotation_row = data.frame(
                       row.names = A.M_pT_res_stats2$Gene[A.M_pT_res_stats2$Gene %in% sig_genes],
                       Module = A.M_pT_res_stats2$Module[A.M_pT_res_stats2$Gene %in% sig_genes]
                     ),
                     annotation_col = data.frame(
                       row.names = rownames(datExpr_CTR.TUMOUR_median),
                       Pseudotime = as.numeric(rownames(datExpr_CTR.TUMOUR_median))
                     ),
                     annotation_colors = list(
                       Pseudotime = viridis::viridis(3),
                       Module = Mod_cols
                     )
  )

AM.PT_TUMOUR_Heatmap

DC_plotting.df <-   data.frame(
  DM_dim_data,
  Fibs.integrated@meta.data
)
names(DC_plotting.df)
AM_pT_plot <-  
  DC_plotting.df %>%
  ggplot(aes(x = DC1, y = DC2, colour = A.M_pT)) +
  geom_point(size = 0.1) + 
  theme_void(base_size = 10) +
  theme(legend.position = c(0.1,1), legend.justification = c("left", "top"),
        legend.direction = "horizontal",
        legend.key.width = unit(8, "pt"), legend.key.height = unit(2, "pt")) +
  guides(colour = guide_colourbar(title.position="top", title.hjust = 0.5)) +
  scale_color_viridis_c(name = "DPT", na.value = "grey80") 
AM_pT_plot

Fig_4D <- ggarrange(
  ggarrange(NULL, AM_pT_plot, ncol = 2),
  AM.PT_TUMOUR_Heatmap$gtable,
  nrow = 2, heights = c(2.5,6.5)
)

Fig_4D

Adventitial到Myo

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
names(T.M_pT_res)
datExpr_Full <- list()
for(i in names(T.M_pT_res)){
  datExpr_Full[[i]]<- t(T.M_pT_res[[i]]$pT_fit)
}
sig_genes <- as.character(na.omit(rownames(T.M_pT_res_stats2)[T.M_pT_res_stats2$meta_p_adj.BH < 1e-10]))
length(sig_genes)
datExpr_CTR.TUMOUR <- list()
for(i in names(datExpr_Full)[c(1:4,7,8)]){
  datExpr_CTR.TUMOUR[[i]] <- datExpr_Full[[i]][, sig_genes]
}
datExpr_CTR.TUMOUR_median <- 
  Reduce(pmedian, datExpr_CTR.TUMOUR)
fit <- hclust(as.dist(1-cor(datExpr_CTR.TUMOUR_median)), method="ward.D2")
plot(fit) # display dendogram
groups <- cutree(fit, k=4)
pheatmap(t(datExpr_CTR.TUMOUR_median[, order(groups)]), scale = "row",
                   cluster_cols = F,
                   cluster_rows = F,
                   clustering_distance_rows = "correlation",
                   clustering_method = "ward.D2",
                   #cutree_rows = 4,
                   show_rownames = F,
                   annotation_row = data.frame(
                     row.names = sig_genes,
                     cluster = as.factor(groups)
                   ))
rowMatch <- match(rownames(T.M_pT_res_stats2) ,sig_genes)
T.M_pT_res_stats2$Cluster <- as.factor(groups)[rowMatch]
T.M_pT_res_stats2$Module <- factor(
  T.M_pT_res_stats2$Cluster,
  levels = c(1:4),
  labels = c("Proto.Differentiation","Progenitor","Transient","Differentiation")
)
levels(T.M_pT_res_stats2$Module)
T.M_pT_res_stats2$Module <- factor(T.M_pT_res_stats2$Module, levels = c("Progenitor", "Transient", "Proto.Differentiation", "Differentiation"))
gene_order <- factor(
  groups, levels = c(1:4),
  labels = c("Proto.Differentiation","Progenitor","Transient","Differentiation")
)
gene_order <- factor(gene_order, levels = c("Progenitor", "Transient", "Proto.Differentiation", "Differentiation"))
Mod_cols <- RColorBrewer::brewer.pal(5, "Set1")
names(Mod_cols) <- levels(T.M_pT_res_stats2$Module)
Heatmap_df <- t(datExpr_CTR.TUMOUR_median)[order(gene_order), ]
Heatmap_df <- Heatmap_df[!is.na(gene_order[order(gene_order)]), ]
dim(Heatmap_df)

Figure 4E

热图显示DPT中外膜成纤维细胞进展为肌成纤维细胞时差异表达的基因。用层次聚类法将这些基因分组到DPT表达谱定义的模块中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TM.PT_TUMOUR_Heatmap <- 
                     pheatmap(Heatmap_df, scale = "row",
                     cluster_cols = F, cluster_rows = F,
                     breaks = seq(-3,3,length=101),
                     show_rownames = F, show_colnames = F,
                     legend = F,
                     annotation_legend = F,
                     fontsize = 7,
                     annotation_names_row = F,
                     annotation_names_col = F,
                     gaps_row = c(
                       sum(as.numeric(gene_order) == 1, na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:2), na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:3), na.rm = T),
                       sum(as.numeric(gene_order) %in% c(1:4), na.rm = T)
                     ),
                     annotation_row = data.frame(
                       row.names = T.M_pT_res_stats2$Gene[T.M_pT_res_stats2$Gene %in% sig_genes],
                       Module = T.M_pT_res_stats2$Module[T.M_pT_res_stats2$Gene %in% sig_genes]
                     ),
                     annotation_col = data.frame(
                       row.names = rownames(datExpr_CTR.TUMOUR_median),
                       Pseudotime = as.numeric(rownames(datExpr_CTR.TUMOUR_median))
                     ),
                     annotation_colors = list(
                       Pseudotime = viridis::viridis(3),
                       Module = Mod_cols
                     )
  )
TM_pT_plot <-  
  DC_plotting.df %>%
  ggplot(aes(x = DC1, y = DC2, colour = T.M_pT)) +
  geom_point(size = 0.1) + 
  theme_void(base_size = 10) +
  theme(legend.position = c(0.1,1), legend.justification = c("left", "top"),
        legend.direction = "horizontal",
        legend.key.width = unit(8, "pt"), legend.key.height = unit(2, "pt")) +
  guides(colour = guide_colourbar(title.position="top", title.hjust = 0.5)) +
  scale_color_viridis_c(name = "DPT", na.value = "grey80") 
TM_pT_plot

Fig_4E <- ggarrange(
  ggarrange(NULL, TM_pT_plot, ncol = 2),
  TM.PT_TUMOUR_Heatmap$gtable,
  nrow = 2, heights = c(2.5,6.5)
)

Fig_4E

这鉴定了两条轨迹上的四个模块,代表转分化的不同阶段:祖细胞、早期激活、原分化和分化

Figure 4F

损失曲线图显示了由对照和肿瘤样本或仅对照组织样本组成的数据集中每个共有DPT模块的表达谱。共有模块由在肺泡成纤维细胞至肌成纤维细胞和外膜成纤维细胞至肌成纤维细胞轨迹中分配到相同簇的基因组成,列出了每个模块的10个代表性基因

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Mod.Overlap_df <-  cbind(A.M_pT_res_stats2[,c("Gene", "Module", "meta_p_adj.BH")],
                         T.M_pT_res_stats2[,c("Gene", "Module", "meta_p_adj.BH")])
names(Mod.Overlap_df) <- c("GeneA", "Alv2M_Module", "Alv2M_adjP", "GeneB", "Adv2M_Module", "Adv2M_adjP")
Core.Mods <- Mod.Overlap_df[Mod.Overlap_df$Alv2M_Module == Mod.Overlap_df$Adv2M_Module, ]
Module.Genes_list <- list()
for(i in levels(Core.Mods$Alv2M_Module)) {
  Module.Genes_list[[i]] <- as.character(na.omit(Core.Mods$GeneA[Core.Mods$Alv2M_Module == i]))
}
names(Fibs.integrated@meta.data)
DefaultAssay(Fibs.integrated) <- "RNA"
Fibs.integrated <- 
  AddModuleScore(Fibs.integrated,
                 features = Module.Genes_list)
names(Fibs.integrated@meta.data)
names(Fibs.integrated@meta.data)[grep("^Cluster", names(Fibs.integrated@meta.data))] <-
  paste0("Core_", levels(T.M_pT_res_stats2$Module))
pT_df <- data.frame(
  Fibs.integrated@meta.data[, c("Sample.type", "All_pT", "dpt_branch", "Fibs_MajorClusters", "Dataset", "Sample.Subtype",
                                paste("Core", levels(T.M_pT_res_stats2$Module), sep = "_"))]
  
)
variables = paste("Core", levels(T.M_pT_res_stats2$Module), sep = "_")
pT_df_long <- reshape2::melt(pT_df[, c("All_pT", "Sample.type", "Dataset",variables)],
                             id.vars = c("All_pT","Sample.type", "Dataset"), na.rm = T)
levels(pT_df_long$variable)
pT_df_long$Dataset_ordered <- 
  factor(pT_df_long$Dataset, levels = levels(pT_df_long$Dataset) )
pT_df_long$Dataset_type <- 
  factor(pT_df_long$Dataset_ordered, levels = levels(pT_df_long$Dataset_ordered),
         labels = c("CTR & Tumour", "CTR Only", "CTR Only", rep("CTR & Tumour", 6)))
names(pT_df_long)
levels(pT_df_long$variable)
Mod_cols2 <- Mod_cols
names(Mod_cols2) <- levels(pT_df_long$variable)
pT_df_long$Mod.label <- factor(pT_df_long$variable,
                               labels = c("Progenitor", "Early-activation",
                                          "Proto-differentiation", "Differentiation"))
Fig_4F <- 
  pT_df_long[!is.na(pT_df_long$variable), ] %>%
  ggplot(aes(x = All_pT, y = value, colour = variable)) +
  facet_grid(Mod.label~Dataset_type, scales = "free_y") + 
  geom_smooth(method = "loess") +
  guides(colour = guide_legend(override.aes = list(size = 2))) +
  theme_bw(base_size = 15) +
  theme(legend.position = "none", panel.grid = element_blank(),
        strip.text = element_text(size = 10)) +
  xlab("Pseudotime") + ylab("Module Score") +
  scale_color_manual(values = Mod_cols2)

Fig_4F

Figure 4G

箱形图显示按组织类型和拟时序五分位数分组的细胞中共有DPT模块的表达

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fibs.integrated$All_pT_5cat <- factor(Hmisc::cut2(Fibs.integrated$All_pT, g = 5),
                                      labels = paste0("pT q", 1:5))

#Early−activation模块
test <- aggregate(x =Fibs.integrated@meta.data,
                  by =Core_Transient ~ All_pT_5cat + SampleID + Sample.type,
                  FUN = median)
Transient.boxplot <- 
  test %>%
  drop_na(All_pT_5cat) %>%
  ggplot(aes(x = Sample.type, y = Core_Transient, fill = Sample.type)) +
  theme_pubr(base_size = 15) +
  theme(axis.text.x = element_blank()) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(width = 0.2, alpha = 0.5, size = 0.1) +
  facet_grid(~All_pT_5cat) +
  ylab("Early-activation Module\n(Normalised exprs)") +
  stat_compare_means(comparisons = list(c("Control", "Tumour")),
                     size = 2.5,
                     bracket.size = 0.1, tip.length = 0.01,
                     label.y = max(test$Core_Transient)+0.1,
                     #vjust = 0.5,
                     hide.ns = T)+
  expand_limits(y = 2)
#Proto−Differentation模块
test <- aggregate(x =Fibs.integrated@meta.data,
                  by =Core_Proto.Differentiation ~ All_pT_5cat + SampleID + Sample.type,
                  FUN = median)

PD.boxplot <- 
  test %>%
  drop_na(All_pT_5cat) %>%
  ggplot(aes(x = Sample.type, y = Core_Proto.Differentiation, fill = Sample.type)) +
  theme_pubr(base_size = 15) +
  theme(axis.text.x = element_blank()) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(width = 0.2, alpha = 0.5, size = 0.1) +
  facet_grid(~All_pT_5cat) +
  ylab("Proto-Differentation Module\n(Normalised exprs)") +
  stat_compare_means(comparisons = list(c("Control", "Tumour")),
                     size = 2.5,
                     bracket.size = 0.1, tip.length = 0.01,
                     label.y = max(test$Core_Proto.Differentiation)+0.1,
                     #vjust = 0.5,
                     hide.ns = T)+
  expand_limits(y = 2)

#Differentation模块
test <- aggregate(x =Fibs.integrated@meta.data,
                  by =Core_Differentiation ~ All_pT_5cat + SampleID + Sample.type,
                  FUN = median)
Differentiation.boxplot <- 
  test %>%
  drop_na(All_pT_5cat) %>%
  ggplot(aes(x = Sample.type, y = Core_Differentiation, fill = Sample.type)) +
  theme_pubr(base_size = 15) +
  theme(axis.text.x = element_blank()) +
  geom_boxplot(outlier.shape = NA) +
  geom_jitter(width = 0.2, alpha = 0.5, size = 0.1) +
  facet_grid(~All_pT_5cat) +
  ylab("Differentation Module\n(Normalised exprs)") +
  stat_compare_means(comparisons = list(c("Control", "Tumour")),
                     size = 2.5,
                     bracket.size = 0.1, tip.length = 0.01,
                     label.y = max(test$Core_Differentiation)+0.1,
                     hide.ns = T)+
  expand_limits(y = 1.5)

Fig_4G <- 
  ggarrange(
    Transient.boxplot,
    PD.boxplot,
    Differentiation.boxplot,
    nrow = 3, common.legend = T, legend = "right")

Fig_4G

Figure 4H

条形图显示每个共识DPT模块的REACTOME途径富集结果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
REACTOME<-REACTOME[c(5,1,18,49,59,58),]
REACTOME$"Pathway genes in Consensus Module (%)"<-(REACTOME$Coverage.pct)*100
REACTOME<-REACTOME[rev(rownames(REACTOME)),]
col<-rep(c("#984EA3","#4DAF4A","#377EB8"),each = 2)
names(col)<-REACTOME$Name
ggplot(REACTOME, aes(x=factor(Name,levels=REACTOME$Name), y=`Pathway genes in Consensus Module (%)`, 
                     fill = Name,label=paste0(REACTOME$Name," (adj.P=", signif(REACTOME$q.value.FDR.B.H, 3),") ")))+
  geom_bar(stat = "identity", position = "dodge",color = "black")+
  labs(x="REACTOME pathway", y="Pathway genes in Consensus Module (%)", fill="Module") +
  theme_bw() +
  theme(axis.text.y = element_blank())+
  coord_flip()+
  scale_fill_manual(values = col)+theme(legend.position = "none")+
  geom_bar_text(position="stack",
                place="left",
                color="white",
                min.size = 10,
                reflow = TRUE)+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,55))+ 
  scale_x_discrete(expand=c(0,0))

Figure 4I

线图显示了通过mxIHC的每个成纤维细胞亚群的配对肿瘤和相邻正常组织之间的平均HSPA1A表达水平

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Fibs_HSPA1A.agg <- aggregate(
  MxIHC_Fibroblasts$HSPA1A,
  by = list(Sample = MxIHC_Fibroblasts$Slide.name,
            Subpop = MxIHC_Fibroblasts$Cell.type,
            TvN = MxIHC_Fibroblasts$Sample.Region.TvN,
            Subtype = MxIHC_Fibroblasts$Subtype,
            Inflam.Fibro = MxIHC_Fibroblasts$Control...Fibrosis.Inflammation,
            exclusion = MxIHC_Fibroblasts$Include.Normal.95pct),
  median)

Fig_4I <- 
  Fibs_HSPA1A.agg %>%
  drop_na(TvN) %>%
  filter(!Sample == "Drop-Seq Cohort 1") %>%
  ggplot(aes(x = TvN, y = x)) +
  theme_pubr(base_size = 15) +
  theme(legend.position = "none", axis.title.x = element_blank()) +
  facet_grid(~Subpop) +
  geom_point(size = 0.1, aes(colour = Subpop)) +
  geom_line(aes(group = Sample, colour = Subpop)) +
  scale_colour_manual(values = Fibs_col.palette) +
  rotate_x_text(angle = 45) +
  ylab("HSPA1A\n(MxIHC Median per cell exprs)") +
  stat_compare_means(comparisons = list(c("Control", "Tumour")), paired = T,
                     size = 4,
                     method = "wilcox", label.y = 0.18, tip.length = 0.01)+
  expand_limits(y = 0.2)

Fig_4I

Figure 4

这些结果表明了两种成纤维细胞亚群(外膜和肺泡)都可以作为肌成纤维细胞的组织驻留祖细胞。这些数据还表明,无论祖细胞亚群如何,转分化过程都重要:其涉及炎症基因上调的短暂阶段,独立于肿瘤的相互作用关系;随后是涉及热休克反应信号的原始分化,通过与肿瘤的相互作用而增加;最终导致完全分化的肌成纤维细胞表型,其ECM组织和胶原形成能力增加,这在肿瘤相关刺激下显著增强。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-09 21:04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 单细胞天地 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
手把手带你复现NC图表之Figure 2
非小细胞肺癌中存在的成纤维细胞与非癌性肺组织中确定的三个主要亚群一致,并且可能对ECM维持/重构进行差异调节。这些数据还表明,与NSCLC肿瘤的相互作用导致这些亚群中基因表达的显著变化,除了亚群特异性表型变化外,还持续涉及间质胶原的上调。此外,与对照肺成纤维细胞相比,非小细胞肺癌的myoCAF基因特征增加,而对照肺组织的iCAF基因特征增加。
生信技能树jimmy
2023/09/26
3710
手把手带你复现NC图表之Figure 2
手把手带你复现NC之Figure7
箱形图显示高/中分化LUAD肿瘤与低分化LUAD肿瘤成纤维细胞亚群的相对丰度,通过CIBERSORTx测量
生信技能树jimmy
2023/09/26
3110
手把手带你复现NC之Figure7
手把手带你复现NC图表之Figure5
基于机器学习的scRNA-seq数据和mxIHC分类显示外膜和肌成纤维细胞在胰腺癌、结直肠癌和口腔癌中是保守的,而肺泡成纤维细胞是肺特异性的
生信技能树jimmy
2023/09/26
3410
手把手带你复现NC图表之Figure5
手把手带你复现NC图表之Figure 3
多重IHC(mxIHC)和 CIBERSORT显示成纤维细胞亚群占据空间离散的小生境和不同的NSCLC组织亚型富集
生信技能树jimmy
2023/09/26
2580
手把手带你复现NC图表之Figure 3
手把手带你复现NC图表之Figure6
为了检测肌成纤维细胞丰度作为LUAD患者分层预后生物标志物的可能性,使用TCGA-LUAD数据集测试
生信技能树jimmy
2023/09/26
3700
手把手带你复现NC图表之Figure6
单细胞经典文章复现(一)
从零基础掌握单细胞数据的分析技巧最有效的方法就是复现一篇单细胞研究文章,学习作者的分析思路和可视化方法。本次我们选择复现的文章是2023年发表在《Nature Communications》上的一篇研究,题为《Single-cell analysis reveals prognostic fibroblast subpopulations linked to molecular and immunological subtypes of lung cancer》,研究聚焦于肺癌肿瘤中的成纤维细胞(CAFs)单细胞分析。
天意生信云
2025/02/25
1360
单细胞经典文章复现(一)
从空间聚类的角度看结直肠癌肝转移的细胞异质性
结直肠癌(CRC)是一种恶性肿瘤,其中部分CRC存在转移性,尤其是肝转移,这也是预后较差的一个指标。转移过程涉及多个步骤,包括癌细胞从原发肿瘤部位逃逸、在血流中存活、在远处部位播散,最终生长为转移性肿瘤。癌细胞和基质细胞之间的交流在促进转移扩散中起着至关重要的作用。这种交流通过分泌细胞因子、生长因子和蛋白酶来重塑肿瘤微环境(TME)。TME是一种复杂的细胞组成,包括不同群体的成纤维细胞和免疫细胞,所有这些细胞在癌症逃避、转移和对治疗的反应中发挥重要作用。所以时空组学的研究就在于发现两种肿瘤之间的区别。
追风少年i
2023/06/28
3821
从空间聚类的角度看结直肠癌肝转移的细胞异质性
NC单细胞文章复现(三):复杂热图
我们这次直接拿GSE118390上已经normalized 的数据进行下游分析。首先我们先看看文献的这张复杂热图,哈哈,这张热图画得真是好看。左边是不同的markers基因对应的细胞类型,上边是6个TNBC病人总共1189个细胞,cycling指的是处于细胞分裂期的样本,下边还有1189个细胞对应的是CD45阳性还是CD阴性的。代码作者都已经有提供,但是如果按照作者的代码跑,仍然会出现error,我把代码一些参数修改了一下并进行翻译,再结合文献的描述,跟大家一起学习。我们看看怎么画呗。
生信技能树jimmy
2021/07/02
3.2K2
NC单细胞文章复现(三):复杂热图
拯救你多年前质量差的单细胞数据
不知道有多少课题组仍然是有一些自己的束之高阁的单细胞转录组测序数据呢,也许是年少轻狂也许是轻信了销售的嘴。 看到了前两天(2023年1月31日)的一篇肺癌单细胞文章:《Single-cell analysis reveals prognostic fibroblast subpopulations linked to molecular and immunological subtypes of lung cancer》,下意识的看了看它是否公开测序数据方便我们做教学,发现居然是;https://www.n
生信技能树
2023/02/27
7530
拯救你多年前质量差的单细胞数据
9步骤完成单细胞数据挖掘文章全部图表复现
文章图表复现: Integration of scRNA-Seq and Bulk RNA-Seq to Analyse the Heterogeneity of Ovarian Cancer Immune Cells and Establish a Molecular Risk Model
生信技能树jimmy
2023/08/31
1.1K0
9步骤完成单细胞数据挖掘文章全部图表复现
单细胞亚群合理命名是数据分析基石啊
其实这样的笑话在单细胞数据挖掘文章里面层出不穷,比如另外一个数据挖掘文章;《Identification of Five Hub Genes Based on Single-Cell RNA Sequencing Data and Network Pharmacology in Patients With Acute Myocardial Infarction》,链接是:https://www.frontiersin.org/articles/10.3389/fpubh.2022.894129/full ,里面的bug就更可怕了,居然是把成纤维细胞错误的命名成为了单核细胞。如下所示:
生信技能树
2024/06/08
2200
单细胞亚群合理命名是数据分析基石啊
月更单细胞图表复现-文献1-第四和五集
但是我们的文字版推文还在第一篇文献,前面已经分享了3个:胃癌单细胞数据集GSE163558复现(二):Seurat V5标准流程,接下来是图表美化和单细胞亚群比例探讨:
生信技能树
2024/07/05
3030
月更单细胞图表复现-文献1-第四和五集
单细胞验证阻断Netrin-1能抑制子宫内膜癌的肿瘤生长和EMT特征
首先下载数据 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE225689
生信菜鸟团
2023/11/13
5300
单细胞验证阻断Netrin-1能抑制子宫内膜癌的肿瘤生长和EMT特征
单细胞转录组鉴定与骨关节炎相关的关键基因和通路
今天我们复现的文章是2020年发表在Medicine 杂志上的一个单细胞数据挖掘文章,标题是《Identification of the key gene and pathways associated with osteoarthritis via single-cell RNA sequencing on synovial fibroblasts》,文章链接是:https://journals.lww.com/md-journal/Fulltext/2020/08140/Identification_of_the_key_gene_and_pathways.81.aspx
生信技能树
2021/12/04
9820
单细胞转录组鉴定与骨关节炎相关的关键基因和通路
你还缺scRNA-seq的workflow吗?
之前曾老师给我看了一位在pipebio工作的生信工程师Roman Hillje的scRNA-seq的workflow,今天整理一下分享给大家。
生信菜鸟团
2024/07/31
3610
你还缺scRNA-seq的workflow吗?
复现单细胞结合常规转录组的Nat Med文章数据挖掘部分
英文标题:High systemic and tumor-associated IL-8 correlates with reduced clinical benefit of PD-L1 blockade
生信菜鸟团
2023/08/23
6960
复现单细胞结合常规转录组的Nat Med文章数据挖掘部分
NC单细胞文章复现(一):质控
最近看到了2018年Cell的一篇乳腺癌单细胞文章,文章题目是“Unravelling subclonal heterogeneity and aggressive disease states in TNBC through single-cell RNA-seq”,相关数据集是GSE118390,代码存放在Github上(https://github.com/Michorlab/tnbc_scrnaseq)。
生信技能树jimmy
2021/07/02
4.1K4
NC单细胞文章复现(一):质控
文献复现-单细胞揭示新辅助治疗后NSCLC的免疫微环境变化
文章在这:Tumor microenvironment remodeling after neoadjuvant immunotherapy in non-small cell lung cancer revealed by single-cell RNA sequencing 方法:来自3名治疗前和12名接受新辅助PD-1阻断联合化疗的非小细胞肺癌(NSCLC)患者的~92,000个单细胞的转录组。根据病理反应将12个治疗后样本分为两组:MPR(n = 4)和非MPR(n = 8)。
生信菜鸟团
2023/09/09
1.6K0
文献复现-单细胞揭示新辅助治疗后NSCLC的免疫微环境变化
单细胞水平看小鼠胰腺导管腺癌进展中的细胞异质性
文章链接:https://insight.jci.org/articles/view/129212
生信技能树
2021/12/10
8780
单细胞水平看小鼠胰腺导管腺癌进展中的细胞异质性
单细胞RNA-seq揭示TNBC的异质性(图表复现01)
后起之秀奔涌而至,欢迎大家在《生信技能树》的舞台分享自己的心得体会!(文末有惊喜)
生信技能树
2021/03/04
7920
单细胞RNA-seq揭示TNBC的异质性(图表复现01)
推荐阅读
相关推荐
手把手带你复现NC图表之Figure 2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验