适用于比较不同生物条件下的主要信号变化。例如:来自特应性皮炎患者的非病变(NL,正常)和病变(LS,患病)人类皮肤,这两个数据集在降维聚类后具有相同的细胞组成。
一、加载每个数据集的 CellChat 对象,这里建议每个单独的CellChat对象先跑完单样本的流程(见上期),再合并成一个merged CellChat对象。
library(CellChat)
library(patchwork)
cellchat.NL <- readRDS("/your path/cellchat_humanSkin_NL.rds")
cellchat.LS <- readRDS("/your path/cellchat_humanSkin_LS.rds")
object.list <- list(NL = cellchat.NL, LS = cellchat.LS)
cellchat <- mergeCellChat(object.list, add.names = names(object.list))
二、可视化1:细胞群相互作用数量或强度
gg1 <- netVisual_heatmap(cellchat)
#> Do heatmap based on a merged object
gg2 <- netVisual_heatmap(cellchat, measure = "weight")
#> Do heatmap based on a merged object
gg1 + gg2
可视化2:根据结构相似性和功能相似性识别信号组,和之前的图类似。
#功能相似性
cellchat <- computeNetSimilarityPairwise(cellchat, type = "functional")
cellchat <- netEmbedding(cellchat, type = "functional")
cellchat <- netClustering(cellchat, type = "functional")
netVisual_embeddingPairwise(cellchat, type = "functional", label.size = 3.5)
netVisual_embeddingZoomIn(cellchat, type = "functional", nCol = 2)
#结构相似性
cellchat <- computeNetSimilarityPairwise(cellchat, type = "structural")
cellchat <- netEmbedding(cellchat, type = "structural")
cellchat <- netClustering(cellchat, type = "structural")
netVisual_embeddingPairwise(cellchat, type = "structural", label.size = 3.5)
netVisual_embeddingPairwiseZoomIn(cellchat, type = "structural", nCol = 2)
可视化3:查看通路距离,距离越大意味着两个数据集之间的通信网络在功能或结构相似性方面差异越大,可重点关注差异较大的通路。
rankSimilarity(cellchat, type = "functional")
rankSimilarity(cellchat, type = "structural")
可视化4:比较与每个细胞群相关的outgoing/incoming信号
library(ComplexHeatmap)
i = 1
pathway.union <- union(object.list[[i]]@netP$pathways,
object.list[[i+1]]@netP$pathways)
ht1 = netAnalysis_signalingRole_heatmap(object.list[[i]],
pattern = "outgoing", signaling = pathway.union, #pattern = "incoming"
title = names(object.list)[i], width = 5, height = 6)
ht2 = netAnalysis_signalingRole_heatmap(object.list[[i+1]],
pattern = "outgoing", signaling = pathway.union, #pattern = "incoming"
title = names(object.list)[i+1], width = 5, height = 6)
draw(ht1 + ht2, ht_gap = unit(0.5, "cm"))
可视化5: 分别查看NL和LS差异较大的通路,从sender、receiver、mediator、influencer比较两组差异细胞类型,并可视化单个配体-受体对。
pathways.show <- c("CXCL")
netAnalysis_signalingRole_network(cellchat.NL,
signaling = pathways.show,
width = 8, height = 2.5, font.size = 10)
netAnalysis_signalingRole_network(cellchat.LS,
signaling = pathways.show,
width = 8, height = 2.5, font.size = 10)
参考:Comparison analysis of multiple datasets using CellChat (htmlpreview.github.io)