单细胞分析之细胞交互-2:iTALK


常用的细胞通讯软件:

  • CellphoneDB:是公开的人工校正的,储存受体、配体以及两种相互作用的数据库。此外,还考虑了结构组成,能够描述异构复合物。(配体-受体+多聚体)
  • iTALK:通过平均表达量方式,筛选高表达的胚体和受体,根据结果作圈图。(配体-受体)
  • CellChat:CellChat将细胞的基因表达数据作为输入,并结合配体受体及其辅助因子的相互作用来模拟细胞间通讯。(配体-受体+多聚体+辅因子)
  • NicheNet // NicheNet多样本分析 // 目标基因的配体和靶基因活性预测:通过将相互作用细胞的表达数据与信号和基因调控网络的先验知识相结合来预测相互作用细胞之间的配体-靶标联系的方法。( 配体-受体+信号通路)
    附:NicheNet使用的常见问题汇总

其它细胞互作软件还包括CelltalkerSingleCellSignalRscTensorSoptSC(这几个也是基于配体-受体相互作用)


iTALK软件是使用的基因的平均表达量进行筛选,比如先筛选基因在每个亚群中的平均表达量,平均表达量前百分之多少的才保留,这里默认的为50%的基因保留。

作者将细胞受体配体分成了四个种类,分别为growth factor,cytokine,other,checkpoint,后续结果也将分成了四类进行分析展示。

载入注释好的数据,读入iTALK(示例数据集见monocle2)

pbmc <- readRDS("pbmc.rds")
library(iTALK)
library(Seurat)
library(dplyr)
library(Matrix)
iTALK_data <- as.data.frame(t(pbmc@assays$RNA@counts))

给pbmc加入两列数据:cell.types, group

pbmc[['cell_types']] <- [email protected]
pbmc[["group"]] <- pbmc$orig.ident #该数据没有分组

将pbmc的cell.type和group两列数据加入到iTALK_data中

iTALK_data$cell_type <- [email protected]$cell.types
iTALK_data$compare_group <- [email protected]$group

检查数据是否导入成功

unique(iTALK_data$cell_type)
unique(iTALK_data$compare_group)

绘图

my10colors <- my36colors <- c('#E5D2DD', '#53A85F', '#F1BB72', '#F3B1A0', '#D6E7A3', '#57C3F3', '#476D87', '#E95C59', '#E59CC4', '#AB3282')
head(my10colors)
highly_exprs_genes <- rawParse(iTALK_data,top_genes = 50,stats = "mean")
head(highly_exprs_genes,5)
# 通讯类型
comm_list <- c('growth factor','other','cytokine','checkpoint')
cell_types <- unique(iTALK_data$cell_type)
head(cell_types,5)
cell_col <- structure(my10colors[1:length(cell_types)],names=cell_types)
head(cell_col,5)
iTalk_res <- NULL
for (comm_type in comm_list){
    res_cat <- FindLR(highly_exprs_genes,datatype = 'mean count', comm_type = comm_type)
iTalk_res <- rbind(iTalk_res, res_cat)
  }
iTalk_res <- iTalk_res[order(iTalk_res$cell_from_mean_exprs*iTalk_res$cell_to_mean_exprs,decreasing=T),][1:20,]
NetView(iTalk_res, col = cell_col,vertex.label.cex = 1, arrow.width = 1, edge.max.width = 5)
LRPlot(iTalk_res[1:20,],datatype = "mean count", cell_col = cell_col,link.arr.lwd = 
iTalk_res$cell_from_mean_exprs[1:20],link.arr.width = iTalk_res$cell_to_mean_exprs[1:20])
外圈颜色显示不出来,不知道为什么

你可能感兴趣的:(单细胞分析之细胞交互-2:iTALK)