Cellcall:单细胞数据细胞间通讯分析工具

近日,做单细胞细胞间通讯分析,发现又有新的方法出现---cellcall,文章发表在Nucleic Acids Research杂志。


1636703877(1).png

看了一下,这个方法相比于Cellchat、cellphonedb等,在可操作性方面就具有优势,不会有技术难题。此外在结果方面,受配体信息更加全面!所以很值得一试!分析源代码作者也提供了,见https://github.com/ShellyCoder/cellcall。这里我们还是以学习介绍为主。
1、cellcall包介绍
CellCall 是一个通过整合细胞内和细胞间信号来推断细胞间通讯网络和内部调节信号的工具包。 (1) CellCall 基于 KEGG 通路收集配体-受体-转录因子 (L-R-TF) 轴数据集。 (2) 根据 L-R-TF 相互作用的先验知识,CellCall 通过结合配体/受体的表达和某些 L-R 对的下游 TF 活动来推断细胞间通讯。 (3) CellCall 嵌入了一种通路活性分析方法来识别某些细胞类型之间的通信所涉及的关键通路。 (4) CellCall 提供了一套丰富的可视化选项(Circos plot、Sankey plot、bubble plot、ridge plot等)来直观地呈现分析结果。 CellCall 概览图如下所示。

image.png

2、安装包

library(devtools)
devtools::install_github("ShellyCoder/cellcall")

3、数据格式
简单地说,cellcall需要的分析数据是一个行名为基因,列名为细胞类型的表达矩阵。列名不能包含逗号、句号、破折号等标点符号。建议使用下划线连接条形码和单元格类型。由于本包的方法依赖于细胞类型信息,因此正确获取细胞类型信息很重要。
4、单细胞数据细胞互作分析
这里我们以单细胞数据为例。本包的作者提供了一个函数,用来直接将seurat对象转化为cellcall需要输入的数据格式,所以直接用函数即可。准备好一个定义好细胞群的单细胞seurat对象。
构建cellcall object

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)
1636713541(1).png

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")
1636713114(1).png

使用 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")
1636713210(1).png

还有其他的弦图去展现结果,和其他工具类似,我认为没有多少意义,不画了,感兴趣的可以去尝试。
6、转录因子富集图
采用转录因子富集图来呈现受体细胞中的转录因子活性,这个很好,其他工具很少有整转录因子的,而且转录因子的分析费时费力。
比如我想关注pDC细胞的转录因子:

  pDC.tf <- names(mt@data$gsea.list$pDC@geneSets)
 pDC.tf
1636713918(1).png

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)
1636713955(1).png

以上就是所有内容了,总体感受,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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容