3.12 细胞轨迹推断

刘小泽写于2020.7.16

1 前言

接触单细胞数据,相信你一定听过:轨迹推断,英文名词是: Trajectory Analysis。和它相关的另一个名词是:拟时序分析(pseudotime),指的是细胞沿着这个轨迹,并且对潜在的生物活动进行量化。注意这里看字面意思就知道,并不是指真正的时间,而是指细胞与细胞之间的更替、转化的顺序或者是轨迹,可以理解为“一个连续过程的缩影”。

不同的生物过程对应的“拟时序”也是不同的:

图片来自:https://www.youtube.com/watch?v=XmHDexCtjyw

许多生物过程都伴随着细胞状态的连续性变化,比如研究发育就会经常使用到。我们可以利用单细胞数据在高维空间画一条线,贯穿于多种细胞状态。最简单是点到点的一条路径,更复杂的还有一个点出发再生成多个分支。

看一下现在做相关分析的工具

自2014年以后,已经开发出了超50种方法,那么选择何种方法进行分析成为了一个难题,因为我们不可能每一种都试一下,但有评测文章发现:SlingshotTSCANMonocle DDRTree这几种方法都不错

当然还有其他的几种方法值得推荐,还做成了一个流程图方便查阅 如果对评测感兴趣,可以看看dynverse

资源整理

做这个分析之前,最好先问几个问题:

  • 确定数据会体现发育轨迹吗?也就是研究的样本是不是和发育相关的?

  • 数据中的细胞会体现出中间态吗?

  • 是否认为轨迹会出现分支?

并且要注意:

  • 任何数据都可以强行画出轨迹,但不一定都有生物学意义!

  • 先要保证目前找到的HVGs和降维结果符合我们的预期,才能继续向下分析

2 学习Slingshot

它需要两个必须的输入文件:降维结果与细胞分群结果

因为它分析的基础假设就是:在低维空间上,细胞的位置是连续的并且是一个接一个的

2.1 数据准备

2.2 基因过滤

2.3 归一化

2.4降维

方法一:PCA

方法二:diffusion maps

将两种结果都保存起来

2.5 聚类

方法一: Gaussian mixture modeling

方法二:k-means

2.6 使用slingshot

  • 如果要把slingshot的所有结果都提取出来,可以用SlingshotDataSet

  • 像是SingleCellExperiment这一类对象的结果可以用 metadata(sim)$slingshot 获取

对结果可视化

3 学习TSCAN

说明文档在:https://bioconductor.org/packages/3.11/bioc/vignettes/TSCAN/inst/doc/TSCAN.pdf

3.1 准备数据

这个preprocess函数做了三件事:

  • 对表达量进行了log2(exp+1)

  • 去掉了在超过一半细胞中表达量小于1的基因

  • 将coefficient ofcovariance小于1的基因去掉

3.2 构建拟时序

使用exprmclust函数,进行了PCA降维以及model-based的聚类

这个图上很乱,但不妨碍看到分了3群

接着获得排序

3.3 基于找到的排序检测差异基因

使用difftest函数

根据q值找差异基因

对其中某个差异基因作图

4 关于monocle

monocle2的拟时序分析前期数据准备可以看:单细胞转录组学习笔记-18-scRNA包学习Monocle2

另外monocle3可以看:跟着官网学习单细胞Monocle3

以版本2为例,基本上还是分三步走:从差异分析结果选合适基因=》降维=》细胞排序

step1: 选合适基因

step2: 降维

step3: 细胞排序

最后可视化

这个图就可以看到细胞的发展过程

另外,plot_genes_in_pseudotime 可以对基因在不同细胞中的表达量变化进行绘图

TODO:

最后更新于

这有帮助吗?