SCPA(一):揭示两群细胞通路差异的优化流程
2023-01-08 本文已影响0人
生信宝库
前言
在SCPA系列的第一篇推文:SCPA:系统性评估单细胞亚群通路活性中,Immugent已经初步介绍了SCPA的工作框架,其主要是用来揭示两种细胞或多组细胞间的以功能通路为单位的差异。从本篇推文开始,生信宝库将会通过代码实操系列推文的方式来对SCPA进行讲解。
本篇推文使用的是文章中的示例数据,我们先简单对原文中的图进行复现。当然,大家也可以使用自己之前分析好的seurat对象,只要有能进行对比的两种细胞信息就能跑下面的代码。
代码实操
软件安装
# install.packages("devtools")
devtools::install_version("crossmatch", version = "1.3.1", repos = "http://cran.us.r-project.org")
devtools::install_version("multicross", version = "2.1.0", repos = "http://cran.us.r-project.org")
devtools::install_github("jackbibby1/SCPA")
这里使用的是原文中的数据,大家也可以使用自己构建的seurat对象进行后续分析。
library(SCPA)
library(msigdbr)
library(Seurat)
library(dplyr)
library(ggplot2)
t_cells <- readRDS("szabo_t_cell.rds")
DimPlot(t_cells) + theme(aspect.ratio = 1)
图片
tcm <- seurat_extract(t_cells,
meta1 = "cell", value_meta1 = "cd4 tcm")
th1 <- seurat_extract(t_cells,
meta1 = "cell", value_meta1 = "cd4 th1")
scpa_out <- compare_pathways(samples = list(tcm, th1),
pathways = pathways)
plot_rank(scpa_out = scpa_out,
pathway = "MTORC1",
base_point_size = 2,
highlight_point_size = 3)
图片
从上面的流程我们可以看出SCPA在于它能将两种细胞的通路活性差异最大化,使用SCPA的核心就是找到和目标研究相关的基因集。当然,除了msigdbr自带的基因集外,我们还可以从gmt文件读取。
pathways <- "path/to/geneset/file.gmt"scpa_out <- compare_pathways(samples = samples, pathways = pathways)
当然还可以自己制作基因集,只需要讲对应的基因整理成excel表。。。
pathways <- "path/to/geneset/file.csv"
scpa_out <- compare_pathways(samples = samples, pathways = pathways)
图片
说在最后
在上述分析的输出结果中,qval是用于解释差异通路活性的主要度量,即更高的qval转换为条件之间更大的通路活性差异。如果只提供两个样品,也可以通过计算fold change(FC) 富集分数的形式进行比较。SCPA在评估多变量差异通路时,一个很大的优势是会有一些通路显示出较大的qvals,尽管只有相对较小的FC值。因此,这些途径显示出与基因表达的平均变化无关的巨大差异,也更倾向于是真实存在但通过传统分析得不到的差异结果。
在这篇推文中,Immugent只是简单带大家熟悉一下SCPA的基本用法,在后续推文中还会介绍它更高阶的用法,请大家持续关注。