11  轨迹推断:细胞的“命运”轨迹,能否仅凭 ATAC-seq 一语道破?

11.1 【地基篇】洞悉第一性原理

轨迹推断 (Trajectory Inference, TI) 是单细胞生物学中最激动人心的分析之一。其目标是利用单细胞测序数据,在没有时间序列信息的情况下,重构出细胞在发育、分化或疾病进展等连续过程中的“伪时间” (pseudotime) 轨迹。在 scRNA-seq 领域,已涌现出 MonocleSlingshot 等众多成熟的算法,它们通过寻找基因表达的连续变化模式,成功地描绘出了细胞的“命运”路径。

一个自然而然的问题随之而来:我们能否直接将这些为 scRNA-seq 设计的轨迹推断算法,应用于 scATAC-seq 数据呢?答案是:可以,但必须极其小心,且必须理解其根本的局限性。

让我们回到 scATAC-seq 数据的本质。它测量的是染色质的开放状态,反映了基因的调控潜能。而 scRNA-seq 测量的是 RNA 的丰度,反映了基因的实时表达水平。这两者之间存在着紧密但并非一一对应的关系。

在细胞状态转变的动态过程中,调控格局的变化(染色质开放性的改变)往往是先行事件。例如,一个关键的增强子可能会在基因开始转录之前的数小时甚至数天就已经变得“可及” (accessible),为后续转录因子的结合和基因激活做好准备。反之,当一个细胞谱系被关闭时,基因的转录可能已经停止,但其染色质区域可能需要更长的时间才能完全闭合。

这意味着,基于 scATAC-seq 数据推断出的轨迹,其本质是细胞调控状态的演化轨迹。它描绘了细胞“决定”去向何方的过程,而非细胞“已经成为”什么的过程。将 ATAC-seq 的“潜能”轨迹直接等同于 RNA-seq 的“功能”轨迹,是轨迹推断分析中最核心、也最容易产生误导的思维陷阱。

11.2 【构筑篇】从代码到科学决策

11.2.1 第一步:在正确的降维空间中推断轨迹

所有轨迹推断算法,其第一步都是在一个低维空间(如 PCA、UMAP)中对细胞进行排序。因此,进行轨迹推断的前提,是你已经完成了正确、稳健的降维。正如【手册 06】所强调的,对于 scATAC-seq,这个降维空间必须是基于 TF-IDF 和 SVD 构建的,而非 PCA。

大多数现代 scATAC-seq 分析包,如 ArchR,已经将轨迹推断功能深度整合。ArchR 的轨迹推断模块,会自动在其内部计算的 UMAP 或 LSI (Latent Semantic Indexing, 即 SVD 降维结果) 空间中进行操作。

# ArchR 轨迹推断示例
# proj 是一个 ArchRProject 对象
# name 定义了轨迹的名称
proj <- addTrajectory(
  ArchRProj = proj, 
  name = "MyeloidTrajectory", 
  groupBy = "Clusters",
  trajectory = c("Progenitor", "Monocyte", "Macrophage")
)

这段代码的背后,是用户需要根据生物学先验知识(例如,已知的分化路径),手动指定轨迹的起点(如“Progenitor”)和终点(如“Macrophage”)。算法随后会在降维空间中,计算出一条连接这些细胞群的“最短路径”,并为路径上的每个细胞赋予一个伪时间值。

11.2.2 第二步:识别与轨迹相关的动态特征

推断出伪时间后,下一步的关键是找出哪些基因组特征(Peaks 或 Motifs)的开放性,是随着这条轨迹动态变化的。这些动态特征,是驱动细胞命运转变的关键调控开关。

ArchR 提供了强大的功能来识别这些与伪时间相关的特征。

# 寻找与伪时间相关的 Peaks
traj_peaks <- getTrajectory(
  ArchRProj = proj, 
  name = "MyeloidTrajectory", 
  useMatrix = "PeakMatrix", 
  log2Norm = TRUE
)

这段代码会拟合每个 Peak 的开放性与伪时间的关系模型,并找出那些开放性随伪时间显著变化的 Peaks。

11.3 【避坑篇】新手常见的思维陷阱

  1. 陷阱一:“潜能”轨迹与“功能”轨迹的混淆。这是最根本的陷阱。在解读基于 scATAC-seq 推断出的轨迹时,必须始终保持克制。例如,你发现一个 Peak 在伪时间的早期就开放了,正确的解读是“驱动细胞向某方向分化的调控开关可能在这个时间点被打开了”,而非“细胞在这个时间点已经开始执行某项功能了”。结论的重心应放在“调控”而非“功能”上。

  2. 陷阱二:忽略轨迹的“分支点” (Branch points)。细胞分化常常不是线性的,而是存在命运抉择的“分支点”。一个好的轨迹推断分析,不仅要描绘出主干路径,更要能识别出这些关键的分支点,并找出驱动细胞走向不同分支的差异性调控元件。许多算法,如 ArchRSlingshot,都提供了识别分支点的功能,忽略它们会使你对复杂分化过程的理解变得片面。

  3. 陷阱三:将轨迹的“方向性”视为绝对真理。尽管我们通常会根据生物学知识指定轨迹的起点和终点,但算法本身在数学上往往是“无方向”的。一条从 A 到 B 的轨迹,在数学上也可以被解释为从 B 到 A。因此,轨迹的生物学方向性,必须由生物学先验知识来赋予和验证,而不能完全依赖于计算结果。

11.4 【蓝图篇】构建你的分析框架

在你的 scATAC-seq 分析框架中,轨迹推断应被视为一个探索性和假设生成的高级分析模块,而非一个给出确定性结论的终点。

  1. 定位于“调控”轨迹: 明确你推断的是细胞调控状态的演化路径。你的所有解读和结论,都应围绕“调控潜能”、“表观遗传重编程”等概念展开。

  2. 验证是关键: 将 scATAC-seq 推断出的轨迹,视为一个需要被验证的假设。最强大的验证方式,就是与 scRNA-seq 数据进行整合。如果你能证明,在 ATAC-seq 轨迹的某个时间点开放的增强子,其关联基因的表达在 RNA-seq 轨迹的稍后时间点出现了上调,那么你就构建了一个强有力的、从“潜能”到“现实”的因果链条证据。

  3. 聚焦动态调控因子: 轨迹推断的最大价值,在于帮助你识别那些动态变化的调控元件和转录因子 Motif。这些动态特征,是真正驱动细胞命运转变的“引擎”。将分析的重点放在这些动态特征上,而不是仅仅满足于画出一条漂亮的细胞轨迹线。

最终,仅凭 scATAC-seq 一己之力,我们很难“一语道破”细胞的完整命运故事。但它为我们提供了一个独一无二的视角,让我们能够窥见在命运的剧本被“上演”(转录)之前,它是如何被“编写”(表观遗传调控)的。将这个“编写”过程的轨迹,与“上演”过程的轨迹相结合,我们才能真正读懂生命这本复杂的剧本。


探索生命科学前沿,提升实战技能!🔥 欢迎加入「生信实战圈」,获取最新技术干货、实战案例与行业动态。📊 点击关注,与同行一起成长! #生物信息学 #组学数据分析 #生信案例代码分享 #R语言编程