tradeSeq | Slingshot下游 沿轨迹分析pathway表达

博客介绍了在找到沿轨迹变化的基因后,换思路直接找出沿轨迹显著变化的pathway的方法。先通过AUCell给pathway打分,可从GSEA网站下载或自制geneset.gmt文件进行打分,再进行tradeSeq常规分析,输入文件为pathway打分矩阵。

之前分享了用tradeSeq分析沿轨迹变化的基因,可以找到谱系内和谱系间都显著表达的基因,找到这些基因之后,按照常规思路,需要看看这些基因分别是什么,有什么功能,富集到了哪些pathway。换个思路,能不能直接找出沿轨迹显著变化的pathway?其实很简单,把tradeSeq的输入文件换成pathway打分矩阵就可以。

1.用AUCell给pathway打分

在GSEA网站上下载自己需要的geneset.gmt文件,也可以自己制作,用AUCell打分

#####=========AUCell打分=========#####
library(AUCell)
library(clusterProfiler)

cells_rankings <- AUCell_buildRankings(sc@assays$RNA@data) 
Hallmarker <- read.gmt("/project/mh.all.v2023.1.Mm.symbols.gmt.txt") 
geneSets <- lapply(unique(Hallmarker$term), 
            function(x){print(x);Hallmarker$gene[Hallmarker$term == x]})
names(geneSets) <- unique(Hallmarker$term)
cells_AUC <- AUCell_calcAUC(geneSets, cells_rankings, 
                            aucMaxRank=nrow(cells_rankings)*0.1)
sc_AUC <- getAUC(cells_AUC)

2.tradeSeq常规分析(参考之前分享Tradeseq | Slingshot下游 沿轨迹分析基因表达-CSDN博客

注意:这里的counts是pathway打分矩阵,nGenes是pathway个数,k自定(后续分析参考之前的文章,出图类似)

icMat <- evaluateK(counts = sc_AUC, 
                   sds = crv1, 
                   nGenes = 50,
                   k = 3:10,
                   verbose = T, 
                   plot = TRUE)
sce <- fitGAM(counts = sc_AUC, 
              pseudotime = pseudotime, 
              cellWeights = cellWeights,
              nknots = 6, verbose = TRUE,
              BPPARAM = MulticoreParam(20),parallel=T)
table(rowData(sce)$tradeSeq$converged)#查看收敛基因个数

### 使用 Slingshot 包进行单细胞轨迹分析 Slingshot 是一种用于单细胞 RNA 测序数据的伪时间推断工具,能够帮助研究人员理解细胞分化过程中的动态变化。以下是关于如何使用 Slingshot 进行单细胞轨迹分析的具体说明。 #### 数据准备 在开始分析前,需要准备好经过预处理的数据集,通常是一个表达矩阵或者 Seurat 对象。这些对象应包含降维后的坐标(如 PCA 或 t-SNE 坐标),以及聚类结果。这是因为在构建轨迹时,Slingshot 需要知道初始簇之间的连接关系[^1]。 #### 安装与加载 R 包 如果尚未安装 `slingshot` 和其他依赖项,则可以通过 Bioconductor 来完成安装: ```r if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install("slingshot") ``` 接着,在脚本中加载必要的库: ```r library(slingshot) library(Seurat) ``` #### 构建轨迹模型 为了生成轨迹图谱,可以按照以下流程操作: 1. **提取降维嵌入** 如果使用的是 Seurat 对象,可从中获取 UMAP 或 tSNE 的二维坐标作为输入。 2. **指定起始节点** 轨迹计算需要知道哪个簇代表起点。这一步可能基于生物学先验知识来决定,比如干细胞所在的群体。 3. **调用 slingshot 函数** 将上述信息传递给核心函数以获得平滑曲线表示的路径结构。 下面给出一段完整的代码示例: ```r # 提取降维结果 (假设已存在 seurat_object 变量) reduced_data <- Embeddings(seurat_object, reduction = "umap") # 获取分组标签 clusters <- Idents(seurat_object) # 执行 slingshot 分析 sling_res <- slingshot(reduced_data, clusters, start.clus = c("Cluster0")) # 查看拟合好的轨迹线 plot_s sling_res$curves[[1]], type="l" points(reduced_data, col=as.numeric(clusters)+1, pch=19) legend("topright", legend=levels(as.factor(clusters)), fill=1:(length(levels(as.factor(clusters)))+1), bty='n') ``` 以上命令会绘制出一条或多条连续的变化趋势,并标注各个阶段所属类别。 #### 结果解释 通过观察最终图形可知不同亚型之间是否存在分支现象;同时还能进一步估算每种状态沿特定方向发展的相对顺序位置——即所谓的“伪时间”。这种定量指标有助于揭示基因调控网络随发育进程改变的特点[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值