空转第10课共定位内容补充(通路 && 细胞类型)

2023-11-08  本文已影响0人  单细胞空间交响乐

作者,Evil Genius

在空转系列的课程中,第10课讲解了细胞类型的共定位描述,可以获得如下的分析结果:

其中不止一位学员问通路和细胞类型的共定位是如何做的,示例图如下:

我们这一篇进行空转第10课的内容补充,还是以课上的数据为例

library(argparse)
library(tidyverse)
library(Seurat)
library(mistyR)
source("misty_utilities.R")
自定义函数run_colocalization和source的脚本misty_utilities.R放在了最后,同样借助R包progeny做通路富集为例,其他富集结果替换即可。
library(progeny)
slide = readRDS(spatial_rds)
gene_expression = as.matrix(slide@assays$Spatial@data)

pathways <- progeny(gene_expression, scale=TRUE,organism="Mouse",top = 100, perm = 1)  ###物种是人的写Human

head(pathways)
下面在创建slot的时候时候是否进行均一化大家视情况而定
slide[['progeny']] <- CreateAssayObject(counts = t(pathways))

assay_label <- "progeny"

assay <- assay_label
DefaultAssay(slide) <- assay
useful_features <- rownames(slide)
useful_features <- useful_features[! useful_features %in% c("TNFa")]  ###通路特征
  
useful_features_ct <- rownames(GetAssayData(slide, assay = "predictions"))  ###细胞类型特征
useful_features_ct <- useful_features_ct[! useful_features_ct %in% "max"]
slide_id = 'CTR'###图片的slide信息

细胞类型和通路的共定位分析

mout <- run_colocalization(slide = slide,
                             useful_features = useful_features,
                             useful_features_ct = useful_features_ct,
                             out_label = slide_id,
                             assay = assay,
                             misty_out_alias = "./")

misty_res_slide <- collect_results(mout)
可视化
plot_folder <- paste0(mout, "/plots")
  
system(paste0("mkdir ", plot_folder))
  
pdf(file = paste0(plot_folder, "/", slide_id, "_", "summary_plots.pdf"))
  
mistyR::plot_improvement_stats(misty_res_slide)
mistyR::plot_view_contributions(misty_res_slide)
  
mistyR::plot_interaction_heatmap(misty_res_slide, "intra", cutoff = 0)
mistyR::plot_interaction_communities(misty_res_slide, "intra", cutoff = 0.5)
  
mistyR::plot_interaction_heatmap(misty_res_slide, "juxta_5", cutoff = 0)
mistyR::plot_interaction_communities(misty_res_slide, "juxta_5", cutoff = 0.5)
  
mistyR::plot_interaction_heatmap(misty_res_slide, "para_15", cutoff = 0)
mistyR::plot_interaction_communities(misty_res_slide, "para_15", cutoff = 0.5)
  
mistyR::plot_interaction_heatmap(misty_res_slide, "intra_ct", cutoff = 0)
  
mistyR::plot_interaction_heatmap(misty_res_slide, "para_ct_15", cutoff = 0)
  
dev.off()
文献的示例图

自定义函数run_colocalization

上一篇下一篇

猜你喜欢

热点阅读