作者,Evil Genius
借助一个数据,来实现一下,数据里面已经做了单细胞空间的联合分析:
library(Seurat)
obj = readRDS(rds)
obj@assays$predictions@data[1:10,1:3]
接下来统计细胞对
我们这里阈值设定为0.1,也就是两种细胞类型占比均超过10%就认为是一个细胞对
###创建一个空矩阵
data = obj@assays$predictions@data
num = matrix(,nrow= length(rownames(data)),ncol = length(rownames(data)))
rownames(num) = rownames(data)
colnames(num) = rownames(data)
for (i in rownames(num)){
for (j in colnames(num)){
if (i != j){
num[i,j] = table(data[i,] > 0.1 & data[j,] > 0.1)[2]
}}}
num[is.na(num)] = 0
num
绘图
####抽取目标细胞,这里作为示例
num = num[1:10,1:10]
library(RColorBrewer)
library(corrplot)
corrplot(num, method = 'color',type = 'lower',is.corr = FALSE,col = colorRampPalette(brewer.pal(n = 9,name = 'Reds'))(100),cl.pos = 'r',cl.length = 5,col.lim = c(0,round(max(num,-2))))
好了,剩下的留给大家调整吧,生活很好,有你更好
网友评论