前言
單細(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ì)~~