单细胞数据挖掘实战:文献复现(八)marker基因在Hom-MG、 Act-MG 和 Mo/MΦ 细胞中的表达情况

单细胞数据挖掘实战:文献复现(一)批量读取数据

单细胞数据挖掘实战:文献复现(二)批量创建Seurat对象及质控

单细胞数据挖掘实战:文献复现(三)降维、聚类和细胞注释

单细胞数据挖掘实战:文献复现(四)细胞比例饼图

单细胞数据挖掘实战:文献复现(五)细胞亚群并可视化

单细胞数据挖掘实战:文献复现(六)标记基因及可视化

单细胞数据挖掘实战:文献复现(七)MG 和 Mo/MΦ 评分

这篇文献的第四个结果就是观察了marker基因在Hom-MG、 Act-MG 和 Mo/MΦ 细胞中的表达情况,结果主要体现在Fig. 4中。

一、将cell_type由三类细分为四类

  • Hom-MG: h.Microglia <- ctrl_Microglia
  • Act-MG: a.Microglia <- tumor_Microglia
  • Mo/MΦ: Macrophages
  • BAM
table(Idents(seu_object))
#   MG Mo/MΦ   BAM 
#31959  5624  1680
#选出"MG","Mo/MΦ"
seu_object <- subset(seu_object, idents = c("MG","Mo/MΦ"))
table(Idents(seu_object))
#   MG Mo/MΦ 
#31959  5624
#将Microglia细分为"h.Microglia"和"a.Microglia"
Idents(seu_object) <- seu_object$seurat_clusters
seu_object$cell_type_4_groups <- plyr::mapvalues(Idents(seu_object), 
                                     from=c(0:4,6:11,13,14,16,18,19), 
                                     to = c("h.Microglia",  "h.Microglia", "a.Microglia",                                           "h.Microglia", "Macrophages", "h.Microglia",  
                                            "h.Microglia", "Macrophages","a.Microglia",                                             "a.Microglia", "Macrophages","a.Microglia", 
                                            "h.Microglia", "Macrophages" ,"Macrophages",                                            "Macrophages"))
# Figure 4a
# left panel
DimPlot(seu_object, group.by = "cell_type_4_groups")
1.png

二、Act-MG 和 Mo/MΦ 中差异上调基因的表达水平

数据处理

Idents(seu_object) <- seu_object$cell_type_4_groups
#markers_ActMG_vs_HomMG
markers_ActMG_vs_HomMG <- FindMarkers(object = seu_object, ident.1 = "a.Microglia", 
                                      ident.2 = "h.Microglia", only.pos = TRUE, min.pct = 0.25, 
                                      logfc.threshold = 0.25)
markers_ActMG_vs_HomMG$gene <- rownames(markers_ActMG_vs_HomMG)
#markers_MoM_vs_ActMG
markers_MoM_vs_ActMG <- FindMarkers(object = seu_object, ident.1 = "Macrophages", 
                                    ident.2 = "a.Microglia", only.pos = TRUE, min.pct = 0.25, 
                                    logfc.threshold = 0.25)
markers_MoM_vs_ActMG$gene <- rownames(markers_MoM_vs_ActMG)

画图

Fig. 4b

#画图
genes <- unique(c(markers_ActMG_vs_HomMG$gene, markers_MoM_vs_ActMG$gene))
gene_expression_data <- GetAssayData(object = seu_object, slot = "data")
gene_expression_data <- as.data.frame(t(gene_expression_data[genes, ]))

common_genes <- intersect(markers_ActMG_vs_HomMG$gene, markers_MoM_vs_ActMG$gene)
markers_ActMG_only <- markers_ActMG_vs_HomMG$gene[!(markers_ActMG_vs_HomMG %in% common_genes)]
markers_MoM_only <- markers_MoM_vs_ActMG$gene[!(markers_MoM_vs_ActMG$gene %in% common_genes)]

genes <- unique(c(markers_ActMG_vs_HomMG$gene, markers_MoM_vs_ActMG$gene))
cell_types_selected <- c("h.Microglia", "a.Microglia", "Macrophages")
names(cell_types_selected) <- c("h.Microglia", "a.Microglia", "Macrophages")
genes_mean_expr <- sapply(cell_types_selected, function(cell_type) {
  Matrix::rowMeans(seu_object@assays$RNA@data[genes, 
                                              colnames(seu_object)[seu_object$cell_type_4_groups == cell_type]],
                   na.rm = T)
})

colnames(genes_mean_expr)[1:3]<-c("Hom_MG", "Act_MG", "MoMphi")
genes_mean_expr <- as.data.frame(genes_mean_expr)
genes_mean_expr$gene <- rownames(genes_mean_expr)

labels<-c("Ly6c2", "Ccl5", "Ly6i", "Lyz2",   "Lgals3","Ifitm2", 
          "Tgfbi","Tmsb10", "Il1rn","Ass1","Ifitm3","Il1b", 
          "Irf7","Ccr2", "H2-Aa","H2-Ab1", "H2-Eb1","Cd74","Ifit3",        
          "Il18bp", "Mif", "Apoe", "Stat1", "Ccl12",  "H2-D1",  "Ccl4", "Ccl3", "Ly86")

genes_mean_expr$color <- 0
genes_mean_expr[genes_mean_expr$gene %in% markers_ActMG_only, "color"]<-"Act-MG"
genes_mean_expr[genes_mean_expr$gene %in% markers_MoM_only, "color"]<-"MoM"
genes_mean_expr[genes_mean_expr$gene %in% common_genes, "color"]<-"common"
genes_mean_expr$color<-factor(genes_mean_expr$color, levels=c("Act-MG", "MoM", "common"))

genes_mean_expr_labeled <- genes_mean_expr[labels, ]

col_Macro<-"#FABF00"
col_ActMG<-"#2F8EA1"

pdf(file = "fig4_scat.pdf",width = 10, height = 10)
ggplot(genes_mean_expr, aes(x=Act_MG, y=MoMphi))+
  geom_jitter(aes(fill=color),shape=21, color="white", alpha=0.7, size=4)+
  geom_text_repel(data=genes_mean_expr_labeled, aes(label=gene), nudge_y=0.2, size=5,
                  direction="both")+
  geom_abline(intercept=0, slope=1)+
  scale_fill_manual(values=c(col_ActMG, col_Macro, "black"))+ 
  xlim(0,5)+
  ylim(0,5)+
  xlab("Act-MG")+
  ylab("MoMphi")+
  coord_fixed()+
  theme_bw(base_size = 18)+
  theme(panel.grid = element_blank())
dev.off()
2.png

Fig. 4c
Hom-MG 与 Act-MG 和 Act-MG 与 Mo/MΦ 中前 25 个上调基因的表达情况

markers_MoM_vs_ActMG <- markers_MoM_vs_ActMG[order(-markers_MoM_vs_ActMG$avg_log2FC),]
markers_ActMG_vs_HomMG <- markers_ActMG_vs_HomMG[order(-markers_ActMG_vs_HomMG$avg_log2FC),]
genes_for_heatmap <- unique(c(markers_MoM_vs_ActMG$gene[1:25], markers_ActMG_vs_HomMG$gene[1:25]))
genes_mean_expr_heatmap <- genes_mean_expr[genes_for_heatmap, ]

mat_breaks <- seq(0, abs(max(genes_mean_expr_heatmap[,1:3])), length=51)

library(pheatmap)
pheatmap(
  mat               = genes_mean_expr_heatmap[, 1:3],
  color             = colorRampPalette(rev(c("#810f7c", "#8856a7", "#8c96c6", "#b3cde3", "#edf8fb")))(length(mat_breaks) - 1),
  breaks            = mat_breaks,
  border_color      = NA,
  cluster_cols      = F,
  cluster_rows      = F,
  show_colnames     = TRUE,
  show_rownames     = TRUE,
  treeheight_col    = 0,
  treeheight_row    = 0,
  gaps_row          = 25,
  drop_levels       = TRUE,
  fontsize          = 10,
  angle_col         = 0,
  main              = "Top upregulated genes in Act-MG and MoM"
)
3.png

往期单细胞数据挖掘实战

单细胞数据挖掘实战:文献复现(一)批量读取数据

单细胞数据挖掘实战:文献复现(二)批量创建Seurat对象及质控

单细胞数据挖掘实战:文献复现(三)降维、聚类和细胞注释

单细胞数据挖掘实战:文献复现(四)细胞比例饼图

单细胞数据挖掘实战:文献复现(五)细胞亚群并可视化

单细胞数据挖掘实战:文献复现(六)标记基因及可视化

单细胞数据挖掘实战:文献复现(七)MG 和 Mo/MΦ 评分

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,230评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,261评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,089评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,542评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,542评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,544评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,922评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,578评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,816评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,576评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,658评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,359评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,920评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,859评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,381评论 2 342

推荐阅读更多精彩内容