CellChat part3 可视化细胞间通信网络

CellChat part3 可视化细胞间通信网络

可视化框架概述

CellChat提供四大类可视化工具:

层次图(Hierarchy plot)

圆形图(Circle plot)

弦图(Chord diagram)

气泡图(Bubble plot)

这些工具从不同角度展示细胞通讯网络,支持从整体通路到单个配体-受体对的多层次分析。

一、使用层次图、圆图或弦图进行可视化

这里我们以输入一条信号通路为例进行说明。所有显示出显著细胞通讯的信号通路都可以通过 cellchat@netP$pathways 来获取。

(首先借助 @ 操作符从 cellchat 这个 S4 对象中提取 netP 槽位的数据,接着使用 $ 操作符从 netP 所代表的数据里提取 pathways 元素)

1、选择要展示的信号通路

pathways.show <- c("CXCL")

定义字符向量pathways.show,其值为“CXCL”,在CellChat分析中,可能存在多个信号通路,但这里仅选取了CXCL信号通路用于后续的可视化分析。CXCL是一类趋化因子信号通路,在细胞迁移、免疫反应等生理过程中发挥着重要作用。

2、绘制层次图:

# Hierarchy plot

# Here we define `vertex.receive` so that the left portion of the hierarchy plot shows signaling to fibroblast and the right portion shows signaling to immune cells

vertex.receiver = seq(1,4) # a numeric vector.

netVisual_aggregate(cellchat, signaling = pathways.show, vertex.receiver = vertex.receiver)

seq(1, 4) 函数会生成一个从 1 到 4 的连续整数序列,这个序列被赋值给vertex.receiver。在CellChat的可视化中,vertex.receiver参数用于指定接收信号的细胞类型在图中的位置和分组。这里通过设置vertex.receiver,目的是让层次图的左侧部分展示向成纤维细胞(fibroblast)的信号传递,右侧部分展示向免疫细胞(immune cells)的信号传递。

netVisual_aggregate是CellChat包中的一个函数,用于对细胞间通讯结果进行聚合可视化。

cellchat:这是一个CellChat对象,它包含了细胞间通讯分析的所有结果,如细胞类型、信号通路强度等信息。

signaling = pathways.show:指定要可视化的信号通路,这里使用之前定义的pathways.show,即只对CXCL信号通路进行可视化。

vertex.receiver = vertex.receiver:传递前面定义的接收细胞类型的索引向量,以此控制层次图的布局。

绘制圆形图:

# Circle plot

par(mfrow=c(1,1))

netVisual_aggregate(cellchat, signaling = pathways.show, layout = "circle")

par函数用于设置图形参数,mfrow参数用于指定图形的布局方式。c(1, 1) 表示将图形布局设置为 1 行 1 列,即只显示一个图形。这一步通常是为了确保后续的圆形图能够单独显示,不受之前图形布局的影响。

再次调用netVisual_aggregate函数进行可视化,但这次设置layout = "circle",表示使用圆形布局来展示CXCL信号通路的细胞间通讯结果。圆形图可以更直观地展示细胞类型之间的相互通讯关系,每个细胞类型通常用一个节点表示,节点之间的连线表示细胞间的通讯信号

绘制和弦图:

# Chord diagram

par(mfrow=c(1,1))

netVisual_aggregate(cellchat, signaling = pathways.show, layout = "chord")

par 函数用于设置图形的参数,mfrow 用于指定图形的布局方式。c(1, 1) 表示将图形布局设置为 1 行 1 列,即只显示一个图形。这一步确保弦图会单独显示,不会受到之前图形布局的影响。

绘制热图:

# Heatmap

par(mfrow=c(1,1))

netVisual_heatmap(cellchat, signaling = pathways.show, color.heatmap = "Reds")

#> Do heatmap based on a single object

同样,这行代码将图形布局设置为 1 行 1 列,保证热图单独显示。

netVisual_heatmap 是 CellChat 包中专门用于绘制热图的函数,用于展示细胞间通讯的强度。

cellchat:依旧是包含细胞间通讯分析结果的 CellChat 对象。

signaling = pathways.show:指定要可视化的信号通路为 CXCL 信号通路。

color.heatmap = "Reds":设置热图的颜色方案为红色系。在热图中,不同的颜色深浅表示不同的通讯强度,红色系通常用于突出显示较强的通讯关系。

# Chord diagram

group.cellType <- c(rep("FIB", 4), rep("DC", 4), rep("TC", 4)) # grouping cell clusters into fibroblast, DC and TC cells

names(group.cellType) <- levels(cellchat@idents)

netVisual_chord_cell(cellchat, signaling = pathways.show, group = group.cellType, title.name = paste0(pathways.show, " signaling network"))

#> Plot the aggregated cell-cell communication network at the signaling pathway level

rep("FIB", 4) 表示重复字符串 "FIB" 4 次,同理,rep("DC", 4) 和 rep("TC", 4) 分别重复 "DC" 和 "TC" 4 次。

c(...) 函数将这些重复的字符串组合成一个向量。最终,group.cellType 向量包含了 12 个元素,前 4 个为&n

相关推荐

电影致青春 原来你还在这里所有歌曲歌词
365体育论坛网址

电影致青春 原来你还在这里所有歌曲歌词

📅 07-20 👁️ 4447
伟哥效果持续多久,多快开始起作用?
365体育网址备用

伟哥效果持续多久,多快开始起作用?

📅 07-14 👁️ 4103
为什么网球一个赛事夺冠就叫大满贯?
365体育app

为什么网球一个赛事夺冠就叫大满贯?

📅 07-25 👁️ 826