SCPA(三):具有擬時(shí)序特征的通路活性評(píng)估

前言

單細(xì)胞的擬時(shí)序分析是利用算法模擬不同細(xì)胞之間的分化趨勢,目前已經(jīng)是一種相對(duì)常規(guī)化的分析手段。通過擬時(shí)序分析,可以模擬不同細(xì)胞之間的潛在分化聯(lián)系,因此可以起到動(dòng)態(tài)預(yù)測的作用。最近的一些文章開始利用模擬的分化路線關(guān)聯(lián)基因表達(dá)和功能通路的變化,這樣也能動(dòng)態(tài)反應(yīng)不同細(xì)胞之間功能狀態(tài)的變化趨勢。

今天Immugent就來用代碼實(shí)操的方式,來介紹如何使用SCPA將功能通路和擬時(shí)序分化路線聯(lián)合分析。


代碼實(shí)操

library(SCPA)
library(Seurat)
library(tidyverse)
library(magrittr)
library(dyno)
library(ComplexHeatmap)
library(circlize)

naive_cd4 <- load("naive_cd4.rds")
DimPlot(naive_cd4, split.by = "Hour")
圖片
naive_cd4 <- subset(naive_cd4, idents = "Treg", invert = T)

df <- as.matrix(naive_cd4[["RNA"]]@data)
var_genes <- names(sort(apply(df, 1, var), decreasing = TRUE))[1:1000]

counts <- Matrix::t(as(as.matrix(naive_cd4@assays$RNA@counts[var_genes,]), 'sparseMatrix'))
expression <- Matrix::t(as(as.matrix(naive_cd4@assays$RNA@data[var_genes,]), 'sparseMatrix'))

dataset_n4 <- wrap_expression(expression = expression,
                              counts = counts)
圖片
model_n4 <- infer_trajectory(dataset_n4, method = ti_slingshot(), verbose = T)

plot_dimred(model_n4, 
            "pseudotime", 
            pseudotime = calculate_pseudotime(model_n4), 
            hex_cells = F,
            plot_trajectory = T, 
            size_cells = 1, alpha_cells = 0.8) + 
  theme(aspect.ratio = 1)
plot_dimred(model_n4, 
            grouping = group_onto_nearest_milestones(model_n4), 
            hex_cells = F,
            plot_trajectory = T, 
            size_cells = 1, alpha_cells = 0.8) + 
  theme(aspect.ratio = 1)
圖片
mile_group <- data.frame(group_onto_nearest_milestones(model_n4)) %>%
  set_colnames("milestone") %>%
  rownames_to_column("cell")
  
naive_cd4$milestone <- mile_group$milestone
cd4_pseudo <- list()
for (i in 1:max(mile_group$milestone)) {
  cd4_pseudo[[i]] <- seurat_extract(naive_cd4, meta1 = "milestone", value_meta1 = i)
}

pathways <- "combined_metabolic_pathways.csv"

cd4_metabolism <- compare_pathways(samples = cd4_pseudo, 
                                   pathways = pathways)
                                   
cd4_metabolism <- cd4_metabolism %>%
  data.frame() %>%
  select(Pathway, qval) %>%
  column_to_rownames("Pathway")

col_hm <- colorRamp2(colors = c("white", "red"), breaks = c(0, max(mstone_out)))

Heatmap(t(cd4_metabolism),
        name = "Qvalue",
        col = col_hm,
        border = T,
        rect_gp = gpar(col = "white", lwd = 0.1),
        heatmap_height = unit(2, "cm"),
        show_column_dend = F,
        show_row_names = F,
        show_column_names = F)                               
圖片
plot_rank(scpa_out = cd4_metabolism, 
          pathway = "hallmark_gly",
          base_point_size = 2.5,
          highlight_point_size = 3)
圖片

小結(jié)

雖然擬時(shí)序分析得到的是一個(gè)連續(xù)的值,但是我們?cè)趯?shí)際分析時(shí)可以根據(jù)需要將其分成不同階段,如:早期,中期和晚期。但是單純的以時(shí)間分期是沒有太大的意義,需要聯(lián)合不同功能定義出的細(xì)胞亞群。就像T細(xì)胞可以分成naive, effector以及memory階段一樣,這樣就賦予了擬時(shí)間實(shí)際的生物學(xué)意義。在此基礎(chǔ)上,算出不同階段之間功能通路的差異,我們就能得知每個(gè)階段主導(dǎo)的功能通路。

好啦,本期分享到此就結(jié)束了,我們下期再會(huì)~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容