定义
Monocle 3是面向单细胞 RNA 测序实验的分析工具包,用于聚类细胞、开展差异表达分析和拟时序(trajectory)分析[1]。它以 R 统计计算环境中的软件包形式提供,输入为细胞 × 基因的表达矩阵,通常使用 UMI 等绝对转录本计数,可与 10X Genomics 的 Cell Ranger 流水线输出直接对接[1]。数据被存放在该工具自定义的 cell_data_set 类对象中,该类继承自 Bioconductor 的 SingleCellExperiment 类,需要表达矩阵、细胞元数据和基因元数据3类输入[1]。
在分析流程上,Monocle 3既支持从原始计数开始的完整处理,也支持在 Seurat 等工具完成预处理后通过转换函数接手对象继续分析[4]。除了轨迹与拟时序,它还提供细胞聚类、标记基因鉴定、差异表达和基因模块识别等功能[5]。官方文档把工作流概括为:装载数据、去除批次效应、聚类细胞、按拟时序排序细胞、做差异表达分析[1]。
原理
Monocle 3的核心思路是把细胞的动态过程描述为低维几何空间中的一个或多个图结构,在该空间中学习穿过细胞云中心的主图(principal graph)来重建轨迹[3]。具体步骤大致为4步:先用 主成分分析(PCA)和 UMAP 等方法降维,再自动检测彼此分离的细胞群并划为不同的分区(partition),然后在每个分区内用 SimplePPT 算法学习主图,最后由用户指定根节点并计算细胞到最近根节点的最短路径距离[3]。
在实现细节上,Monocle 3 会对基因计数矩阵作 log2 变换和标准化,将数据投影到前 50 个主成分,再用默认参数的 UMAP 完成降维[6]。在聚类环节,Monocle 3 引入了基于 Louvain 的社区发现算法,通过分辨率参数控制聚类粒度,数值越大得到的类群越多,默认值为 1e-4,也支持在 PCA 空间而非 UMAP 空间上聚类[7]。
拟时序的定义是细胞在图上到最近根节点的测地距离:从细胞在图上的位置出发沿图行走到最近根节点所经过的最短路径长度,即该细胞的拟时序值;无法从任一指定根节点到达的细胞,其拟时序被赋为无穷大[8]。与前代不同,Monocle 3 允许把树的内部区域而非只能是叶节点指定为根节点,并可由用户交互式点选根细胞[8]。
寻找沿轨迹变化的基因时,Monocle 3 采用空间自相关分析中的 Moran's I 统计量作为检验方法,通过 graph_test 判断在轨迹上位置相近的细胞是否具有相似的表达水平[8][5]。在此基础上可以用 find_gene_modules 把变化基因聚成模块,并做 GO 与 KEGG 功能富集分析[9]。
发展历程
Monocle 系列的前身由 Trapnell 实验室开发,早期版本以细胞计数、差异表达和轨迹分析为主[10]。Monocle 3 的代码仓库首次提交出现在 2019 年 1 月,同年前后陆续合入分区、主图学习等功能,并发布 0.1.3 版[11]。
2019 年 2 月 20 日,曹俊越、Cole Trapnell 与 Jay Shendure 等人在《自然》发表关于小鼠器官发生的单细胞转录组图谱研究,用 Monocle 3 识别出数百种细胞类型和 56 条轨迹[12][13]。该研究在单次实验中分析了来自 61 个胚胎、约 200 万个细胞的转录组,构建了小鼠器官发生细胞图谱[14]。
在此之后,Monocle 3 被陆续集成到多个分析平台与流程中,包括 Illumina 的多组学分析模块、Galaxy 平台的 Monocle3 工作流,以及若干商业云平台的拟时序分析模块,并提供不写代码的参数配置界面[6][15][3]。
应用
Monocle 3 的典型用途是从单细胞转录组数据中推断细胞分化、重编程或免疫应答等连续过程的轨迹,并据此比较细胞状态与分支点,识别在不同分支上表达分化的基因[1]。它也被用于刻画疾病进展和药物响应过程中的细胞状态转变[3]。
在器官发生图谱研究中,Monocle 3 被用来在约 200 万个细胞的数据上识别细胞类型与轨迹,并定义相应的标记基因[14]。在肿瘤研究中,有工作以胰腺癌细胞为对象做拟时序分析,把腺泡细胞设为起点,重建出分别通向正常导管细胞状态和癌前病变细胞的分化路径[9]。
Monocle 3 也常与 Seurat 等工具配合使用:把 Seurat 对象转换为 cell_data_set 后运行自带的聚类以得到轨迹分析所需的分区,再在单个连通分区内学习轨迹并排序细胞[4]。在分析流程上,它还可与 Cell Ranger 的计数输出、CytoTRACE 等辅助工具衔接,用于选定轨迹起点[1][9]。
局限
拟时序轨迹是基于转录组数据的计算推断,并不等同于真实的细胞谱系,关键结论仍需谱系追踪、功能验证等生物学实验加以确认[9]。Monocle 3 的结果高度依赖用户指定的根节点,起点选择错误会导致轨迹方向和后续结论错误[9]。
轨迹只能在单个连通的细胞分区内推断,因此需要先做聚类并切分出感兴趣的分区;若分区缺失,数据会被归入单一分区并给出警告[4]。从 Seurat 对象转换而来时,必须运行 Monocle 3 自身的 cluster_cells 才能得到分区[4]。
上游的降维与聚类会影响轨迹构建,轨迹形态不理想时往往需要调整 UMAP 参数或聚类分辨率[9]。在超大数据集上估计文库大小因子和离散度会占用大量内存,需要借助分块处理包控制内存,否则运行可能极慢甚至崩溃[7]。此外,分析结果的稳定性还受随机过程影响,例如不设随机种子时不同会话间聚类编号可能不一致[5]。
参见
-
Seurat —— 常用的单细胞分析工具,可与 Monocle 3 互相转换对象并联合使用
-
UMAP —— Monocle 3 学习轨迹所依赖的降维方法
-
主成分分析 —— Monocle 3 在降维前先投影数据所用的线性方法
-
拟时序 —— Monocle 3 为每个细胞计算的核心指标
-
单细胞 RNA 测序 —— Monocle 3 处理的数据来源
-
Bioconductor —— Monocle 3 所属的软件生态
参考资料
- Load Monocle 3 [引用日期2026-10-14]
- scRNA-Seq Trajectory Inference Analysis [引用日期2026-10-14]
- Monocle3 拟时序分析文档 [引用日期2026-10-14]
- Monocle 3 trajectory analysis - SeuratWrappers [引用日期2026-10-14]
- UCD Bioinformatics Core Workshop [引用日期2026-10-14]
- Monocle 3 | Multiomics Software [引用日期2026-10-14]
- Monocle [引用日期2026-10-14]
- Paul_blood_dataset [引用日期2026-10-14]
- Monocle3 Analysis [引用日期2026-10-14]
- monocle-vignette-knitr(PDF) [引用日期2026-10-14]
- 13308204545/monocle3 · GitHub [引用日期2026-10-14]
- mouse-organogenesis-cell-atlas-moca [引用日期2026-10-14]
- monocle trapnell - Search Results [引用日期2026-10-14]
- monocle 3 - Search Results [引用日期2026-10-14]
- Monocle3 workflow 1.0 [引用日期2026-10-14]