单细胞细胞通讯
CellChat 是一个用于分析和可视化单细胞 RNA 测序数据中细胞间通讯的 R 包。它特别适用于研究细胞群体如何通过分泌因子(如细胞因子、趋化因子等)相互影响。CellChat 提供了一种方法来推断和分析细胞间的潜在相互作用,这些相互作用可能在许多生物学过程和疾病状态中发挥作用。
软件包安装和数据集加载
加载软件包
library(BiocNeighbors)
library(CellChat)
library(patchwork)
library(NMF)
library(ggalluvial)
options(stringsAsFactors = FALSE)
seurat-data ,它内置了很多数据集,我们可以通过下载SeuratData来加载里面所包含的多种数据集
install.packages('devtools')
devtools::install_github('satijalab/seurat-data')
devtools::install_github("sqjin/CellChat")
library(SeuratData) #加载seurat数据集
AvailableData()#查看可获得的数据集
getOption('timeout')
options(timeout=10000)
InstallData("pbmc3k") #下载pbmc3k数据集
data("pbmc3k.final")
sce <- pbmc3k.final
数据预处理及创建CellChat对象
CellChat需要两个输入:
- 一个是细胞的基因表达数据,
- 另一个是细胞标签(即细胞标签)。
对于基因表达数据矩阵,基因应该在带有行名的行中,cell应该在带有名称的列中。CellChat分析的输入是均一化的数据(Seurat@assay$RNA@data)。如果用户提供counts数据,可以用normalizeData函数来均一化。对于细胞的信息,需要一个带有rownames的数据格式作为CellChat的输入。
读取数据集数据
使用pbmc3k.final数据集,大部分计算已存储在该数据集中
data("pbmc3k.final")
data_obj <- UpdateSeuratObject(object = pbmc3k.final)
data.input <- data_obj@assays[["RNA"]]@data #提取归一化表达矩阵
meta <- data_obj@meta.data #提取样本信息表
DimPlot(data_obj,reduction = "umap") #umap降维图

创建对象
cellchat <- createCellChat(object = data.input,
meta = meta,
group.by = "seurat_annotations") #创建cellchat对象
cellchat <- addMeta(cellchat,meta = meta) #添加其他meta信息
cellchat <- setIdent(cellchat,ident.use = "seurat_annotations") #将lables设置为默认细胞标记类型
levels(cellchat@idents) # 查看细胞类型
as.numeric(table(cellchat@idents)) #统计每组细胞的数量

CellChat的配体受体数据库
CellChat提供了人和小鼠的配受体数据库,分别可以用CellChatDB.human,CellChatDB.mouse来导入。
CellChatDB <- CellChatDB.human


1万+

被折叠的 条评论
为什么被折叠?



