近日,做单细胞细胞间通讯分析,发现又有新的方法出现---cellcall,文章发表在Nucleic Acids Research杂志。 看了一下,这个方法相比于Cellchat、cellphonedb等,在可操作性方面就具有优势,不会有技术难题。此外在结果方面,受配体信息更加全面!所以很值得一试!分析源代码作者也提供了,见https://github.com/ShellyCoder/cellcall。这里我们还是以学习介绍为主。 1、cellcall包介绍 2、安装包 library(devtools) devtools::install_github("ShellyCoder/cellcall") 3、数据格式 test <- CreateObject_fromSeurat(Seurat.object=Seurat_single, #seurat对象 slot="counts", cell_type="celltype", #细胞类型 data_source="UMI", scale.factor = 10^6, Org = "Mus musculus") #物种信息 接下来推断细胞-细胞通讯得分。参数我们都使用默认值,具体意义可以查看函数,根据需要修改! mt <- TransCommuProfile(object = test, pValueCor = 0.05, CorValue = 0.1, topTargetCor=1, p.adjust = 0.05, use.type="median", probs = 0.9, method="weight", IS_core = TRUE, Org = 'Mus musculus') CellCall 嵌入了一种通路活性分析方法,以帮助探索某些细胞之间通信所涉及的主要通路。这个整合在其他工具中不常见,所以做一下看看。 n <- mt@data$expr_l_r_log2_scale
pathway.hyper.list <- lapply(colnames(n), function(i){ print(i) tmp <- getHyperPathway(data = n, object = mt, cella_cellb = i, Org="Mus musculus") return(tmp) }) myPub.df <- getForBubble(pathway.hyper.list, cella_cellb=colnames(n)) plotBubble(myPub.df) 5、细胞互作可视化 #有多少细胞类型就设置多少个颜色 cell_color <- data.frame(color=c("#FF34B3","#BC8F8F","#20B2AA","#00F5FF","#FFA500","#ADFF2F","#FF6A6A","#7CFC00"), stringsAsFactors = FALSE) rownames(cell_color) <- c("Plasma cell","CD8+ Tcell","B cell","pDC","NK","Th17","CD4+ Tcell","Th1") 使用 CellCall 对象绘制圆图(这里作者提出两种object画图,我觉得第一种好,另一种就不展示了): ViewInterCircos(object = mt, font = 2, cellColor = cell_color, lrColor = c("#F16B6F", "#84B1ED"), arr.type = "big.arrow",arr.length = 0.04, trackhight1 = 0.05, slot="expr_l_r_log2_scale", linkcolor.from.sender = TRUE, linkcolor = NULL, gap.degree = 0.5, #细胞类型多的话设置小点,不然图太大画不出来 order.vector=c('ST', "SSC", "SPGing", "SPGed"), trackhight2 = 0.032, track.margin2 = c(0.01,0.12), DIY = FALSE) 还可以采用热 图来呈现不同细胞类型之间 L-R 相互作用的详细通信分数。 viewPheatmap(object = mt, slot="expr_l_r_log2_scale", show_rownames = T, show_colnames = T,treeheight_row=0, treeheight_col=10, cluster_rows = T,cluster_cols = F,fontsize = 12,angle_col = "45", main="score") 还有其他的弦图去展现结果,和其他工具类似,我认为没有多少意义,不画了,感兴趣的可以去尝试。 pDC.tf <- names(mt@data$gsea.list$pDC@geneSets) pDC.tf Draw the TF enrichment plot: getGSEAplot(gsea.list=mt@data$gsea.list, geneSetID = c("Rb1","Runx2","Tcf7l2"), myCelltype="pDC", fc.list=mt@data$fc.list, selectedGeneID = mt@data$gsea.list$pDC@geneSets$Rb1[1:10], mycol = NULL)
以上就是所有内容了,总体感受,cellcall分析快速简单。除此之外,还有很多可视化的选项,具体参考作者的代码介绍。有兴趣的做单细胞细互作还发愁不会做的可以尝试!!! 参考文献: [1] Yang, Z. , Tianyuan, L. , Xuesong, H. , Mei, W. , Jing, W. , & Bohao, Z. , et al. Cellcall: integrating paired ligand–receptor and transcription factor activities for cell–cell communication. Nucleic Acids Research(15), 15. |
|