点击“蓝字”关注我们
scRNA-seq数据分析想必大家都比较熟悉了,自2014年nature biotechnology提出单细胞拟时分析或称为轨迹分析(Trajectory)已经有五个年头了。除了经典的Monocle(只不过是一个R包)之外出现了许多应用方便的分析工具与算法,由我带大家认识一款在Linux(命令行版)和Windows(界面版)都可以使用的分析工具——STREAM。
因为最近开始关注scRNA-seq的数据分析,就选择了这个领域,目前主要看的文章其实是关于Monocle的。一个偶然的机会在YouTube看到一个视频介绍STREAM,用示例数据在网页版试了一下还挺好用的。这个视频首先整体介绍了一下拟时分析的基本思想:降维排序。然后主要介绍了他们采用的基于图结构的算法实现。
我的主要工作就是把演讲的PPT一页一页地通过截屏的方式保存下来,以便回顾学习。截屏已经成为我实现学习的基本方法。
轨迹分析通识
01
我们知道细胞的分化发育是一个有方向的不可逆的过程,这个过程经常被比喻为昆仑山上的一湖水从山顶上奔涌下来,通过不同的支流流到太平洋中去。你可以想象吗?
时间已经来到这个时代,即人类已经可以把生命过程的研究推进到单细胞水平了。那么我们当然想知道一个细胞(或者一个组织的不同细胞)是怎样分化与发育的了。
轨迹分析本质上是一种排序分析。尽管轨迹( trajectories )分析也会被称为拟时( pseudotime )分析,但是二者是有侧重的。可以说拟时轨迹分析的一部分,也可以说轨迹是在拟时序空间中的排布。
我们拿到的基因表达矩阵并没有关于每个细胞在什么状态的标签,只有表达量的不同。要构建这种排序就要借助具体的算法来实现轨迹的推断。
02
用到的技术路线图
拟时分析基本要素
关于本场讲座有很多PPT会被放出来,但是值得记住的就那么几张,这就是其中一张。因为它讲述了拟时分析的基本要素:
☑ 一个基因表达矩阵
☑ 特征选择(关键基因:用来确定拟时序和轨迹分支)
☑ 降维(所谓的排序就是在低维空间排布高维数据)
☑ 聚类(哪些细胞可以排布到同一个分支中呢?)
☑ 结构拟合(轨迹基本形状)
☑ 路径确定以及细胞排序
☑ 可视化
如何确定一个模型的好坏?
03
在红色字体的网址中我得到了如下建议(当然是借助Google翻译了):
■ 用于此任务的数据集
■ 评估方法的度量标准
■ 最先进的方法包括作为基线
■ 用于存储和比较不同方法的轨迹和伪时间的最小信息
04
STREAM
于是作者开始介绍他们开发的工具STREAM (Single-cell Trajectories Reconstruction, Exploration And Mapping) 了,单细胞数据分析的一大有点就是:图很好看。
基本和Monocle的流程一样
最关键的 是最后两步:
① 确定轨迹的形状
② 在轨迹中对细胞排序
下面作者逐步介绍了这些算法的细节。牵扯到流行学习的非线性降维,非监督机器学习的聚类分析以及关于图的模型。
降维
05
大家看到左下角那半个单词了吗?YouTube居然提供实时字幕(当然还有对实时字幕的翻译,虽然翻译还不如你猜的准确)。
06
轨迹推断
大家还记得 Monocle 的算法--Reversed graph embedding(RGE)吗?而这款软件用的是Elastic Principal Graph EPG。可见图结构在单细胞数据分析中的地位是十分的重啊。
关于这个算法,我只能把砖搬在这了。关于图大家要明白的就是它是由边和节点组成的,而如何定义节点和边,就是区分不同算法的基本要素。
07
初始结构
因为Monocle 其实也是基于图的,所以他们都用最小生成树(Minimum spanning tree)来获得初始轨迹结构。
可视化
08