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

作者: Hayley笔记 | 来源:发表于2021-04-20 19:38 被阅读0次

常用的细胞通讯软件:

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

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



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']] <- pbmc@active.ident
pbmc[["group"]] <- pbmc$orig.ident #该数据没有分组

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

iTALK_data$cell_type <- pbmc@meta.data$cell.types
iTALK_data$compare_group <- pbmc@meta.data$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

    本文链接:https://www.haomeiwen.com/subject/mbpilltx.html