作者,Evil Genius
今天我们的目标是实现这张图的近邻分析,图的出处在Single cell and spatial sequencing define processes by which keratinocytes and fibroblasts amplify inflammatory responses in psoriasis

借助一个数据,来实现一下,数据里面已经做了单细胞空间的联合分析:

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))))

好了,剩下的留给大家调整吧,生活很好,有你更好
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐