前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >cellchat-(2)信号通路可视化-上

cellchat-(2)信号通路可视化-上

原创
作者头像
R小白
发布2023-08-06 17:44:44
7830
发布2023-08-06 17:44:44
举报
文章被收录于专栏:生信学习生信学习

学习,记录,分享。

上一篇学习了用cellchat进行单数据集的细胞通讯分析,接下来学习不同可视化方式。

  • 注: 上一篇忘写保存cellchat对象的代码,在cellchat <- aggregateNet(cellchat)这步之后即可保存供后续可视化操作:
代码语言:javascript
复制
#保存数据
readr::write_rds(cellchat, 'data/cellchat_pbmc3k.rds')

可视化方式:

对于单数据集的细胞通讯分析,我们一般会先看测序样本中所有类型的细胞间相互作用的数量和强度,和感兴趣的细胞类型与哪些细胞相互作用较多,就是上一节中的总的相互作用网络图和单个细胞类型作为source的网络图。

然后我们会想看感兴趣的细胞和其他细胞都有哪些的通讯或者是感兴趣的信号通路主要集中在哪些细胞间,更进一步,我们可能还想看具体的配体受体(感兴趣的基因)在其信号通路中的贡献,以挖掘能够支持科研故事的证据。

为了满足这些需求就要利用好不同的可视化方式进行信息挖掘或者结果展示。这节先学习单个信号通路的可视化。主要用到以下四种图:

  • 层次图
  • 网络图
  • 和弦图
  • 热图

1. 层次图

层次图需要用参数vertex.receiver指定接收信号的细胞类型(表达受体的细胞),这样可以看到感兴趣的细胞接收了哪些细胞的信号,先看下如何查看和选择所需参数:

代码语言:javascript
复制
library(tidyverse)
library(CellChat)

cellchat <- read_rds("data/cellchat_pbmc3k.rds")

# 查看各种细胞类型的索引,用于后面做图的vertex.receiver参数
levels(cellchat@idents)
# [1] "Naive CD4 T"  "CD14+ Mono"   "Memory CD4 T" "B"            "CD8 T"        "FCGR3A+ Mono"
# [7] "NK"           "DC"           "Platelet" 

# 查看受体配体库,用于pathway_name和interaction_name参数
cellchat@LR$LRsig %>% View() 

上面这个数据框包含了这个数据集中的信号通路和受体配体的信息,其中的pathway_nameinteraction_name中的值分别对应作图函数中的signalingpairLR.use参数。

可以看到很多信号通路都包含多个不同的配体和受体间的相互作用,这里有两个函数,其中netVisual_aggregate可以展示一个信号通路ITGB2中的所有配体受体间的细胞通讯,而netVisual_individual可以指定展示一个信号通路中的特定配体受体ITGB2_ICAM2间的细胞通讯。可以用extractEnrichedLR获得指定信号通路中具有显著意义的相互作用受体配体对。

代码语言:javascript
复制
# 信号通路水平
netVisual_aggregate(
  cellchat,
  signaling = "ITGB2", #pathway_name
  vertex.receiver = c(1, 3, 5), #指定受体细胞
  layout = "hierarchy" #指定输出层次图
)

# 单个配体受体水平
extractEnrichedLR(cellchat, signaling = "ITGB2", geneLR.return = FALSE)
netVisual_individual(
  cellchat,
  signaling = "ITGB2",
  vertex.receiver = c(1, 3, 5),
  pairLR.use = 'ITGB2_ICAM2', #指定配体受体对, interaction_name
  layout = "hierarchy"
)

层次图包含两张图,颜色代表细胞类型,两边实圈代表source,中间空圈⭕️代表target,左边是指定的细胞类型作为受体时的细胞通讯情况,右边是余下的细胞类型作为受体时的细胞通讯情况,这样就可以看到感兴趣的信号通路或配体受体对在所有细胞类型中的通讯情况。

注:这里上下两个图是一样的,是因为这个数据的细胞和基因数量比较少,这个通路中就只有这一个配体受体对是显著的,下面一些图也会这样。

2. 网络图

网络图相当于把层次图的两张图整合在了一起,一般用于展示感兴趣的通路的整体通讯情况,更节省空间,但是不够清晰。可以不指定受体细胞,只需要调整layout参数即可,如果不加这个参数默认也是网络图:

代码语言:javascript
复制
# circle plot
# 信号通路水平
netVisual_aggregate(
  cellchat,
  signaling = "ITGB2",
  # vertex.receiver = c(1, 3, 5),
  layout = "circle"
)
# 单个配体受体水平
netVisual_individual(
  cellchat,
  signaling = "ITGB2",
  # vertex.receiver = c(1, 3, 5),
  pairLR.use = 'ITGB2_ICAM2',
  layout = "circle"
)

3. 和弦图

和弦图和网络图类似,都是用于展示整体的通讯情况,但是和弦图可以展示出每种受体细胞接收信号的强度(内环中不同颜色的条对应不同细胞类型,长度代表信号强度),同样更改layout参数即可:

代码语言:javascript
复制
# chord plot
# 信号通路水平
netVisual_aggregate(
  cellchat,
  signaling = "ITGB2",
  # vertex.receiver = c(1, 3, 5),
  layout = "chord"
)
# 单个配体受体水平
netVisual_individual(
  cellchat,
  signaling = "ITGB2",
  # vertex.receiver = c(1, 3, 5),
  pairLR.use = 'ITGB2_ICAM2',
  layout = "chord"
)

和弦图也可以将不同细胞亚群合并成大群:

代码语言:javascript
复制
# 查看细胞类型
levels(cellchat@idents)
# 合并亚群
group.cellType <- c("T cell", "Mono", "T cell", "B cell", "T cell", "Mono", "T cell", "Dc", "Platelet") # grouping cell clusters into fibroblast, DC and TC cells
names(group.cellType) <- levels(cellchat@idents)
netVisual_chord_cell(
  cellchat,
  signaling = "ITGB2",
  group = group.cellType,
  title.name = paste0("ITGB2", " signaling network")
)

可以看到细胞亚群已经按照指定大群聚集分布了,这样和弦图就变得更加结构化,能够一眼看出大群之间通讯状况。

另外,可以使用函数netVisual_chord_gene在基因水平展示信号通路:

代码语言:javascript
复制
netVisual_chord_gene(
  cellchat,
  signaling = "ITGB2"
)

这样就可以看到整个信号通路的不同配体受体在不同细胞间相互作用情况了。

4. 热图

热图也是从整个信号通路水平展示不同细胞间的相互作用:

代码语言:javascript
复制
netVisual_heatmap(
  cellchat, 
  signaling = "ITGB2",
  color.heatmap = "Reds")

去掉signaling参数后就是所有细胞间的所有相互作用,类似于第一节中总的相互作用网络图。

代码语言:javascript
复制
netVisual_heatmap(
  cellchat, 
  # signaling = "ITGB2",
  color.heatmap = "Reds")

热图的Y轴是配体细胞,X轴是受体细胞,能够比较清晰的展示不同细胞的相互作用数量。

5. 计算信号通路中各受体配体对的贡献

代码语言:javascript
复制
netAnalysis_contribution(cellchat, signaling = "ITGB2")

这样就能看到不同配体受体对对于该通路的贡献了。

参考资料:

  • cellchat官方教程(https://github.com/sqjin/CellChat)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 可视化方式:
    • 1. 层次图
      • 2. 网络图
        • 3. 和弦图
          • 4. 热图
            • 5. 计算信号通路中各受体配体对的贡献
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档