monocle3手动选取细胞发育轨迹分析

monocle3手动选取细胞发育轨迹分析


接之前分析:


1.玉米根热胁迫单细胞转录组复现


2.玉米根单细胞转录组细胞类型注释代码


3.热胁迫处理玉米根单细胞转录组差异基因分析

4.单细胞拟时序分析monocle2-代码

5.单细胞转录组拟时序-monocle3分析代码

monocle3相对于monocle2的升级我觉得最重要的就是可以手动在umap图赏选取起始细胞和终止细胞分析特定轨迹,这样可以个性化的分析自己关注的细胞亚群发育轨迹及关键表达变化的基因。

library(qs)
library(scop)
library(monocle3)

# 设置工作路径
setwd("~/maize_root/07.monocle3")

cds <- load_monocle_objects(directory_path = "monocle.Columella2//monocle3_cds.data/")
obj <- qread("../06.subset/Columella.added.subtype.qs")  # 读入seurat对象

# 将cds UMAP替换seurat obj里面的umap
# 如果你跑monocle3是用的seurat降维结果(--use.seurat.umap),这步可以省略
umap_embeddings <- reducedDims(cds)$UMAP
colnames(umap_embeddings) <- c("umap_1", "umap_2")
obj[["umap"]]@cell.embeddings <- umap_embeddings[colnames(obj), ]

# 可视化结果
p1 <- plot_cells(cds,
  color_cells_by = "subtype",
  label_cell_groups = F,
  label_groups_by_cluster = F,
  label_leaves = T,
  label_branch_points = TRUE,
  reduction_method = "UMAP"
) +
  ggtitle("trajectory") +
  scale_color_manual(values = color_palette) +
  theme(plot.title = element_text(hjust = 0.5))

p2 <- plot_cells(cds,
  color_cells_by = "pseudotime",
  label_cell_groups = FALSE,
  label_leaves = FALSE,
  label_branch_points = FALSE,
  graph_label_size = 1.5
)

p1 + p2


attachments-2026-04-XCJHWqpb69dd90b08e9b2.png

轨迹拐点ID显示:graph_label_size 点大小,label_principal_points 显示主点. 

plot_cells(cds,
  color_cells_by = "pseudotime",
  label_cell_groups = FALSE,
  label_leaves = FALSE,
  label_branch_points = FALSE,
  label_principal_points = TRUE,
  group_label_size = 2,
  labels_per_group = 1,
  graph_label_size = 5
)



attachments-2026-04-Ge61NJlA69dd90bdd38f2.png

Columella2 细胞为发育起点细胞,很明显有两个发育方向。根据节点名称选取感兴趣的两个细胞发育轨迹:

Y_12 -> Y_33

Y_12 -> Y_34

obj$Monocle3_Pseudotime <- pseudotime(cds)[colnames(obj)]

# Select the lineage using monocle3::choose_graph_segments
cds_sub <- choose_graph_segments(
  cds,
  starting_pr_node = "Y_12",
  ending_pr_nodes = "Y_33"
)
obj$Lineage_1 <- NA
obj$Lineage_1[colnames(cds_sub)] <- obj$Monocle3_Pseudotime[colnames(cds_sub)]
CellDimPlot(
  obj,
  group.by = "subtype",
  lineages = "Lineage_1",
  lineages_span = 0.3,
  theme_use = "theme_blank"
)

# 第二条发育轨迹
cds_sub <- choose_graph_segments(
  cds,
  starting_pr_node = "Y_12",
  ending_pr_nodes = "Y_34"
)
obj$Lineage_2 <- NA
obj$Lineage_2[colnames(cds_sub)] <- obj$Monocle3_Pseudotime[colnames(cds_sub)]
CellDimPlot(
  obj,
  group.by = "subtype",
  lineages = "Lineage_2",
  lineages_span = 0.2,
  theme_use = "theme_blank"
)

# 合并绘图
FeatureDimPlot(
  obj,
  features = "Monocle3_Pseudotime",
  reduction = "UMAP",
  lineages_span = 0.3,
  lineages = paste0("Lineage_", 1:2),
  palette = "inferno"
)



attachments-2026-04-S6JykrD469dd90cd19f0d.png

发育轨迹表达变化基因展示:

obj <- RunDynamicFeatures(
  srt = obj,
  lineages = c("Lineage_1", "Lineage_2"),
  n_candidates = 200
)

ht <- DynamicHeatmap(
  srt = obj,
  lineages = c("Lineage_1", "Lineage_2"),
  use_fitted = TRUE,
  n_split = 6,
  reverse_ht = "Lineage_1",
  heatmap_palette = "viridis",
  cell_annotation = "subtype",
  pseudotime_label = 25,
  pseudotime_label_color = "red",
  height = 5,
  width = 1.5
)

print(ht$plot)


attachments-2026-04-1IYqQ01E69dd90dc77f85.png

如果遇到软件安装错误无法运行,可以使用组学大讲堂云服务器,已经安装好所有单细胞转录组数据分析的软件运行环境,省去环境配置麻烦,详情可扫下方二维码咨询:


attachments-2026-04-IkputILj69dd90eb45955.png


Wang, T., Wang, F., Deng, S. et al. Single-cell transcriptomes reveal spatiotemporal heat stress response in maize roots. Nat Commun16, 177 (2025). https://doi.org/10.1038/s41467-024-55485-3



跟多生信文章免费视频请关注,生信课堂:

attachments-2026-04-1P9hZC2l69dd912936035.png


  • 发表于 21小时前
  • 阅读 ( 36 )
  • 分类:转录组

0 条评论

请先 登录 后评论
omicsgene
omicsgene

生物信息

772 篇文章

作家榜 »

  1. omicsgene 772 文章
  2. 安生水 371 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 96 文章
  6. rzx 88 文章
  7. 红橙子 81 文章
  8. Ti Amo 78 文章