图片 前言Hello小伙伴们大家好,我是生信技能树的小学徒”我才不吃蛋黄“。今天是胃癌单细胞数据集GSE163558复现系列第十二期。第十一期使用singleR对T细胞亚群进行细分。本期,我们将进入胃癌复现的最后一章,“细胞通讯”。 1.背景介绍肿瘤微环境中细胞类型、数量以及功能一直处于动态变化的过程,各类型的细胞组成了一个有序的统一体,而细胞之间频繁的“互动”维持着统一体的动态平衡。这种互动不仅存在于同类型细胞之间,存在与不同类型的细胞间,甚至是单个细胞的不同时间维度上。我们把这种互动,叫做细胞通讯 (Cell–cell communication, CCC)。 换句话说,细胞通讯是受生化信号调节的细胞间相互作用,它能够调节单个细胞的生命过程和细胞间关系,并通过包括信号通路的各种生化反应来联系。对于给定的信号通路,“发送信号”的配体与“受体细胞”表面表达的相应受体蛋白结合,进而触发下游基因反应。那么这种指令通常有两种类型的:自分泌,发送者和接收者是同一个细胞;旁分泌,发送者和接收者是两个不同的细胞。 如何利用单细胞测序数据从单个细胞和细胞群水平揭示细胞通讯? 目前已经开发了许多工具,大多数方法是推断细胞群之间的细胞通讯: SoptSC、CellChat使用非线性建模方法计算交互分数,SoptSC是推断单个细胞之间细胞通讯的方法之一,CellChat考虑了配体和受体的多亚基结构,可以准确地表示异聚复合物,更好地概括已知的配体-受体相互作用; SoptSC、NicheNet 、scMLnet和CytoTalk等方法解释了受体细胞中的细胞内基因-基因相互作用; scTensor对高阶相互作用进行建模,使用张量分解来检测多个细胞群和配体-受体对的多对多细胞通讯。 本期,我们介绍的细胞通讯的方法是“CellChat”。CellChat通过综合信号配体、受体及其辅因子基因的表达只与它们之间互作的先验知识对细胞通讯概率建模。在推断出细胞间通讯网络后,CellChat提供了进一步数据探索、分析和可视化的功能。 CellChat工作流程图如下: 图片 图片来源于简书Hayley笔记:https://www.jianshu.com/p/b3d26ac51c5a2.数据分析2.1 导入数据cellchat的导入的数据分为两个部分:标准化的矩阵data和细胞分组信息mata,data储存的是基因表达数据,行名是基因,列名是细胞。meta储存的是细胞标签,行名是细胞名 ,记住这个信息,可以方便于分析的时候取子集。 首先清除系统环境变量,加载R包及T细胞亚群数据: rm(list=ls())library(Seurat)options(stringsAsFactors = F)library(SeuratObject)library(ggplot2)library(clustree)library(cowplot)library(dplyr)getwd()setwd("")dir.create("10-cellchat")setwd('10-cellchat/')sce=readRDS( "../9-T/T_sce_celltype.rds")library(CellChat)library(tidyverse)library(ggalluvial)table(sce$singleR)table(Idents(sce))Idents(sce) = sce$singleR 创建cellchat对象,导入配受体库,查看描述该数据库组成的饼状图 cellchat <- createCellChat(sce@assays$RNA$data, meta = sce@meta.data, group.by = "singleR")levels(cellchat@idents)groupSize <- as.numeric(table(cellchat@idents)) CellChatDB <- CellChatDB.human showDatabaseCategory(CellChatDB) 图片 直接使用CellChatDB全库进行细胞通讯分析: CellChatDB.use <- CellChatDB 选择特定的信号来进行分析,这里还可以选择ECM-receptor和Cell-Cell Contact。 CellChatDB.use <- subsetDB(CellChatDB, search = "Secreted Signaling") cellchat@DB <- CellChatDB.use 预处理表达数据以进行细胞间通讯分析 # subset the expression data of signaling genes for saving computation costcellchat <- subsetData(cellchat)cellchat <- identifyOverExpressedGenes(cellchat)cellchat <- identifyOverExpressedInteractions(cellchat)# project gene expression data onto PPI network (optional)cellchat <- projectData(cellchat, PPI.human) 2.2 细胞通讯预测(1)计算通信概率并推断通信网络 #Compute the communication probability and iC3D1er cellular communication networkcellchat <- computeCommunProb(cellchat)# Filter out the cell-cell communication if there are only few number of cells in certain cell groups 这里还是不要过滤了,不然有些细胞亚群细胞数量过少被过滤掉之后会造成数据不一致而无法进行后续分析 #cellchat <- filterCommunication(cellchat, min.cells = 10) (2)提取配受体对细胞通讯结果表: df.net <- subsetCommunication(cellchat, slot.name = 'net')head(df.net) #得到配受体对细胞通讯结果表# #或访问其它感兴趣/特定的细胞通讯结果:# df.net1 <- subsetCommunication(cellchat,# sources.use = c('LC'),# targets.use = c('FBN1+ FIB')) #访问特定细胞对子集# head(df.net1)df.net2 <- subsetCommunication(cellchat, signaling = c('MIF')) #访问特定信号通路子集head(df.net2) (3)提取信号通路水平的细胞通讯表: cellchat <- computeCommunProbPathway(cellchat) #计算信号通路水平上的通讯概率df.netp <- subsetCommunication(cellchat, slot.name = 'netP') #得到信号通路水平细胞通讯表head(df.netp) (4)细胞互作关系展示:计算细胞对间通讯的数量和概率强度 cellchat <- aggregateNet(cellchat) 不同细胞亚群间的互作数量与概率/强度可视化: 细胞亚群间配受体数目网络图: groupSize <- as.numeric(table(cellchat@idents))par(mfrow = c(1,1), xpd = TRUE)netVisual_circle(cellchat@net$count, vertex.weight = groupSize, weight.scale = T, label.edge = F, title.name = 'Number of interactions') 图片 颜色代表不同的细胞亚群,圆圈的大小表示该细胞亚群所含配受体对数目。发出箭头的圆圈表示配体细胞亚群,箭头指向的圆圈表示受体细胞亚群。线的粗细表示细胞间互作配受体对数目,数目越多线越粗。 细胞亚群间配受体概率/强度网络图: par(mfrow = c(1,1), xpd = TRUE)netVisual_circle(cellchat@net$weight, vertex.weight = groupSize, weight.scale = T, label.edge= F, title.name = 'Interaction weights/strength') 图片 颜色代表不同的细胞亚群,圆圈的大小表示该细胞亚群所含配受体对数目。发出箭头的圆圈表示配体细胞亚群,箭头指向的圆圈表示受体细胞亚群。线的粗细表示通讯概率,概率越大线越粗。检查单个细胞亚群的互作信号强度: mat <- cellchat@net$weightpar(mfrow = c(3,4), xpd = TRUE)for (i in 1:nrow(mat)) { mat2 <- matrix(0, nrow = nrow(mat), ncol = ncol(mat), dimnames = dimnames(mat)) mat2[i, ] <- mat[i, ] netVisual_circle(mat2, vertex.weight = groupSize, weight.scale = T, edge.weight.max = max(mat), title.name = rownames(mat)[i])}saveRDS(cellchat,file = "cellchat.rds") 配受体对细胞通讯结果表: df.net <- subsetCommunication(cellchat, slot.name = 'net')head(df.net) 信号通路水平细胞通讯结果表: df.netp <- subsetCommunication(cellchat, slot.name = 'netP')head(df.netp) 使用网络图可视化细胞亚群间配受体对的数目与概率: par(mfrow = c(1,2), xpd = TRUE)netVisual_circle(cellchat@net$count, vertex.weight = groupSize, weight.scale = T, label.edge = F, title.name = 'Number of interactions')netVisual_circle(cellchat@net$weight, vertex.weight = groupSize, weight.scale = T, label.edge= F, title.name = 'Interaction weights/strength') 图片 信号通路查看: cellchat@netP$pathways 以'MIF'信号通路展示为例: pathways.show <- c('MIF') (1)层级图(Hierarchy plot)绘制
查看细胞亚群及factor顺序: levels(cellchat@idents) 选择其中感兴趣的细胞亚群: vertex.receiver = c(1,2,3)par(mfrow = c(1,1))netVisual_aggregate(cellchat, layout = c('hierarchy'), #"circle", "hierarchy", "chord" signaling = pathways.show, vertex.receiver = vertex.receiver) 图片 (2)网络图(Circle plot)绘制 par(mfrow = c(1,1))netVisual_aggregate(cellchat, layout = c('circle'), signaling = pathways.show) 图片 (3)弦图(Chord diagram)绘制 par(mfrow=c(1,1))netVisual_aggregate(cellchat, layout = c('chord'), signaling = pathways.show) 图片 (4)热图(Heatmap)绘制 par(mfrow=c(1,1))netVisual_heatmap(cellchat, signaling = pathways.show, color.heatmap = c("white", "#b2182b")) 图片 2.3 信号通路相关配受体对水平的细胞通讯分析计算配受体对在目标信号通路中的贡献度: netAnalysis_contribution(cellchat, signaling = pathways.show) 配受体对贡献条形图 图片 提取细胞对: pairLR.CXCL <- extractEnrichedLR(cellchat, signaling = pathways.show, geneLR.return = FALSE)LR.show <- pairLR.CXCL[1,] #以贡献度top1的配受体对为例pairLR.CXCL; LR.show 2.4 多个配受体对/信号通路水平介导的细胞通讯可视化指定信号通路: levels(cellchat@idents)netVisual_bubble(cellchat, sources.use = 4, targets.use = c(1:2), # signaling = c("MIF",'CCL"), #指定CCL和CXCL两个信号通路 remove.isolate = FALSE) 指定配受体对: pairLR.use <- extractEnrichedLR(cellchat, signaling = c("MIF")) #确定在目标信号通路中有重要作用的配受体对pairLR.use 参与目标信号通路的基因在各细胞亚群的表达分布展示: plotGeneExpression(cellchat, signaling = 'MIF', type = 'violin') 图片 结语胃癌复现系列到此完结,感谢各位小伙伴的捧场,同时也非常感谢Jimmy老师以及生信技能树各位老师的指导,欢迎大家提出意见建议和批评,你们的关注是我们更新的动力。提前预告:肺腺癌单细胞数据集GSE189357复现系列,咱们不见不散~ 图片
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。
|