细胞通讯分析,我很早之前就写过,当时详细介绍了CellPhoneDB
的原理
、实操
、可视化
。
单细胞分析实录(18): 基于CellPhoneDB的细胞通讯分析及可视化 (上篇)
单细胞分析实录(19): 基于CellPhoneDB的细胞通讯分析及可视化 (下篇)
今天说的这个问题还是很常见的:在进行细胞通讯分析之后,如何比较两组的受配体对的差异? 如果你的数据包含两个以上的组别,大概率是要做这个事情的。
CellPhoneDB这个软件很简单(这也是用得多的原因),在几组数据分别
运行之后,是不能直接比较的。我之前的做法是电脑打开两个图,对照着看,有些费时费力。
所以后来,想了一种方法,就是把两张图重叠起来,计算一个"图一相较于图二差异大小的指标",就只用看一张图了。
就比如这张图,在Old
组做完cellphonedb之后,能得到表示受配体表达的mean
;同样地,Young
组也能得到表示受配体表达的mean
。(在对应的两个p值满足一定条件下)这两个值相除,就能表示两组的差异了。
#这一个代码仿照cellphonedb的图,即气泡图
#我之前讲cellphonedb的帖子,也采用了这种图,见:
#单细胞分析实录(19): 基于CellPhoneDB的细胞通讯分析及可视化 (下篇)
source("CCC_compare.R")
### 必要参数
CCC_compare(group1.name = "Old",group2.name = "Young",
group1.pfile = "cellphonedb/Old/pvalues.txt",group1.mfile="cellphonedb/Old/means.txt",
group2.pfile="cellphonedb/Young/pvalues.txt",group2.mfile="cellphonedb/Young/means.txt",
p.threshold = 0.01,thre=1,
plot.width=105,plot.height=110,filename = "test1_"
)
### 额外参数
# 比如,这里我想展示EC细胞分别充当cellA和cellB的图
# 也可以指定gene pair
CCC_compare(group1.name = "Old",group2.name = "Young",
group1.pfile = "cellphonedb/Old/pvalues.txt",group1.mfile="cellphonedb/Old/means.txt",
group2.pfile="cellphonedb/Young/pvalues.txt",group2.mfile="cellphonedb/Young/means.txt",
p.threshold = 0.05,thre=1,
#gene.pair = NULL,
cell.pair=c(
paste0("EC|",c("APC","SMC","Mac","DC","Neutrophil")),
paste0(c("APC","SMC","Mac","DC","Neutrophil"),"|EC")
),
plot.width=18,plot.height=30,filename = "test2_"
)
获取代码
后-台回复2022A
可知。