关于细胞分化轨迹学习小笔记

  • 学习工具
  • 相关学习文章
  • 学习框架
    • 1.降维
    • 2.轨迹算法
  • 文章解读
    • 一、Monocle2
      • 1.流程
      • 2. 方法
        • 2.1 反转图嵌入
          • 2.1.1定义
          • 2.1.2优化公式
          • 2.1.3 DDRTree:通过学习树来降低维数
        • 2.2 伪时间计算及分支确定
          • 2.2.1 定义
          • 2.2.2 公式
        • 2.3 评估伪时间和分支分配的准确性或稳健性
      • 3. 草图
  • 对自己论文的想法

学习工具

  1. 百度学术:用来搜索相关文献,查看引证文章以及被引用文章,被引量,发表期刊等。

  2. 谷歌学术:用来搜索百度学术里面搜不到的文章
    链接在这里.

  3. LaTeX在线公式编辑器.

相关学习文章

链接1: Reversed graph embedding resolves complex single-cell trajectories–2017( 《Nature Methods》被引量40).

链接2: Reconstruction of complex single-cell trajectories using CellRouter–2018( 《Nature Communications》被引量1).

链接3: Uncovering pseudotemporal trajectories with covariates from single cell and bulk expression data–2018(被引量0).

链接4: Mpath maps multi-branching single-cell trajectories revealing progenitor cell progression during development–2017(《Nature Communications》被引量12).

链接5: Graph abstraction reconciles clustering with trajectory inference through a topology preserving map of single cells–2018(被引量3).

完整的流程 Python语言: SCANPY: large-scale single-cell gene expression data analysis–2018(python《Genome Biology》被引量3).

pk t-SNE的降维方法: TCM visualizes trajectories and cell populations from single cell data–2018( 《Nature Communications》被引量0).

评判好坏的框架: A comparison of single-cell trajectory inference methods: towards more accurate and robust tools–2018( 《Nature Communications》被引量2).

概述性文章: Computational approaches for interpreting scRNA‐seq data–2017( 《Febs Letters》被引量8).

可能用到的文章(反转图): Probabilistic Dimensionality Reduction via Structure Learning.–2016( 《IEEE Transactions on Pattern Analysis & Machine Intelligence》被引量0).

学习框架

  1. 归一化
  2. 降维(重要)
  3. 聚类
  4. 轨迹重建

1.降维

  1. PCA:
    1933年提出,线性降维算法,它不能解释特征之间的复杂多项式关系
  2. t-SNE:
    2008年提出,非线性降维算法,计算成对的条件概率,并试图最小化较高和较低维度的概率差的总值
    同时保留数据的局部全局结构,局部方法寻求将流型上的附近点映射到低维表示中的附近点, 全局方法试图保留所有尺度的几何形状,即将附近的点映射到附近的点,将远处的点映射到远处的点。
    应用方面:几乎可以用于任何高维数据。不过大部分应用集中在图像处理,自然语言处理,基因数据以及语音处理,它还被用于提高心脑扫描图像的分析。
    t-sne原理解释以及代码示例.

2.轨迹算法

文章解读

一、Monocle2

Reversed graph embedding resolves complex single-cell trajectories.

1.流程


























dpFeature selection






PCA






DDRTree






MST










选择特征基因









降维









聚类获得重心and反转图嵌入









伪时间分配和分支计算









评估准确性and稳健性







  1. dpFeature selection, identifying genes that define biological process 确定和生物过程有关的基因
    selecting the genes differentially expressed between clusters of cells identified with tSNE dimension reduction followed by density peak clustering选择差异表达基因;
  2. 反向图嵌入(GRE):默认DDRTree。它是一种流形学习算法,旨在将主要图形嵌入高维单细胞RNA-seq数据中,找到高维基因表达空间与低维空间映射,同时在这个缩小的空间中学习图的结构K个质心)来解决这个问题;
  3. 伪时间分配和分支计算:利用DDRTree构建MST,将细胞投影到MST上,MST递归计算伪时间;
  4. 评估伪时间和分支分配的准确性或稳健性。

优点:无需指定细胞命运或分支点的数量,假设很少。

2. 方法

2.1 反转图嵌入
2.1.1定义
  • ? = {x1, …, xN} 代表细胞在高维空间中的坐标,NNN是细胞数量,xix~i~xi是第iii个细胞的 特征 向量(根据dpFeature selection选择的特征基因表达量);
  • ? = {z1, …, zN} 代表细胞在低维空间中的坐标;
    ? 与 ? 是高维与低维之间的一一对应关系
  • 低维空间中的无向图 ? = (?, ℰ)
  1. ? is the learned trajectory (for example, a tree) along which the cells transit
  2. ? = {V1, …, VN} ,where each ViV~i~Vi corresponds to latent point zi, and ziz~i~zi is the principal point on ? corresponding to the cell xix~i~xi.
  3. ℰ是无向加权边,让bijb~ij~bij 代表连接顶点 (Vi,Vj)(V~i~, V~j~)(Vi,Vj)的权重, which represents the connectivity between zizizi and zjzjzj.bij>0bij >0bij>0 则边存在于?中,若 bij=0bij =0bij=0 边不存在 ;

RGE learns the graph ? as well as a function f? that maps back to the input data space

2.1.2优化公式
  • 为了学习 ?, ? and f?,需要优化下面公式:

where Gb is a set of feasible graph structures parameterized {bi,j, ∀ i, j}, and is a set of functions mapping a latent, low-dimensional point to a point in the original, high-dimensional space

改进版while also ensures neighbor points on low dimensional principal graph be “neighbors” in the input dimension. The optimization problem is formulated as:

where λ is a parameter that adjusts the relative strength of these two summations.
:接下来,需要对 Gb 和 f? 设定一些限制(见2.3)

2.1.3 DDRTree:通过学习树来降低维数
  • DDRTree 优点
    GRE方法有很多,DDRTree只是其中的一个(本文提出的)与SimplePPT等比较,它的优点如下:
    First, 不假设图形位于输入空间中,并且可以在学习轨迹时减小其维数;
    Second,它也不要求每个数据点在图中有一个节点(好处:加速算法并减少其内存占用)。

  • DDRTree 学习线性投影函数(从低维到高维的投影)
    f?(zi) = Wzi, where W = [w1, …, wd] ∈ RD×d
    f?(zi) 是一个矩阵 ,它的列组成一组正交基{w1, …, wd} ( D is the dimension of feature genes, d is the dimension of latent space)

  • DDRTree 学习一个主图 principal graph(同时学习)
    找到一组 latent points ,Y={ yk },k=1,2,…,K
    它们是 { zi } i=1,2,…N 的重心,其中 K ≤ N 并且主图便是由这些重心点的生成树得来.

DDRTree通过优化以下公式:

事实上,此算法相当于在点集 ? 上进行soft K-means 聚类, 然后在K个聚类中心上学习图。

σ > 0 是正则化参数
不懂: The matrix R with the (i, k) th element as ri,k transforms the hard assignments used in K-means into soft assignments with σ > 0 as a regularization parameter.

上述优化公式可以通过交替优化直到收敛来解决。

在Monocle 2中,我们提供了一个程序根据实验中的细胞数量 N 自动选择适用于各种数据集的 K 值(重心个数):

在第一次优化迭代期间,通过在低维空间中使用k-mediods聚类来初始化这些K个重心。

2.2 伪时间计算及分支确定

Monocle 2 调用 DDRTree 来学习主树,然后将每个低维空间的细胞?投影到离主树( formed by principal points ?)上最近的位置。 Monocle 2 允许用户方便地选择树的尖端作为 root,然后从根横穿树,计算每个细胞到根细胞的测地距离,将其作为其伪时间,并同时分配分支或段; 对于不在尖端主点(主树的末端节点)附近的点,Monocle 2在主树上找到最近的线段,然后将它们投影到该段上最近的点。

2.2.1 定义
  • c = (c1, c2, …),其中c1,c2,…表示细胞在低维空间(潜在空间)中的坐标 ,该点到离主图最近的重心点A 组成的向量记作 Ac→\overrightarrow{Ac}Ac

  • 由两个最近的主点(A = (A1, A2, …),B = (B1, B2, …))形成的线段记作AB→\overrightarrow{AB}AB
  • 定义伪时间 t , t=Ac→⋅AB→∥AB∥t=\frac{\overrightarrow{Ac} \cdot \overrightarrow{AB}}{\Vert{AB}\Vert}t=ABAc AB

    ;
2.2.2 公式

(1)最小生成树

  • 投影可以计算为:

    然后,我们计算所有投影点之间的距离(两两计算),并在投影点上构建最小生成树。(该MST用于为每个细胞分配伪时间,使用 深度优先遍历 DFS 法则)。 最小生成树(博主Wiliz)
  • 更新迭代:算法将细胞移向离它们最近的树顶点,更新顶点的位置以“适应”细胞,学习新的生成树,并迭代继续此过程,直到树和细胞的位置收敛(见方法中的方程式3)。
    注:MST中不允许距离为0,所以,将最小正距离(所有细胞对之间)添加到所有距离值。
    若不这样做,本文可能会出现两个点投影到一个点的情况,这样子距离便为0

(2)分支确定

  • 将每个细胞分配给轨迹段bx(G, π, i),它根据排序列表π图形结构G细胞 i 指定所在的区段bx
    我们在根细胞中设置 bx=1bx = 1bx=1,并在每次到达新的分支点时增加段计数器 bx,公式如下:

  • j ≼ i 中, ji 之前的已排好的细胞(排序列表 π 中), |E(Gi)| 代表细胞 i
    一般情况下,主点(重心)数目都小于细胞数目,细胞将分配到离其最近的主点所在的段。

(3)伪时间计算(在MST上递归计算)

  • φt(bx,si)φt(bx, si)φt(bx,si) :在生物分化过程s上 ,并且已知其轨迹分支为bx 的细胞 i伪时间
  • 利用欧氏距离,by adding the pseudotime of its parent cell on the MST of the projection points (closest cell on the same branch)

2.3 评估伪时间和分支分配的准确性或稳健性
  • 对于每个算法,进行伪时间分配与参考排序之间的对比,通过 two measures of correlation (Pearson’s Rho (default) and Kendall’s Tau) 来衡量优劣。
  • 利用 adjusted Rand index (ARI) 这个指标(引用论文,它是用于测量聚类精度的通用度量),来衡量分支段指派的准确性或鲁棒性;
  • 参考排序 和 本算法的排序之间的公共细胞的数量S,? = {?1, ?2, …, ?r} and ? = {?1, ?2, …, ?r}.代表参考排序和伪时间分支排序(哪个是哪个还未分清);
  • ni,j 代表在参考排序和伪时间分支排序之间重合的细胞数目, 来自第i 段的 ( ?i) 和j 段的( ?j) ,
    公式表示: ni,j = |?i ∩ ?j|;
  • 使用参考排序定义具有段i的细胞数量:ai=∑j=1snijai=\sum_{j=1}^s nijai=j=1snij
  • 基于算法排序的具有段j的细胞数量:bj=∑i=1rnijbj=\sum_{i=1}^r nijbj=i=1rnij
  • The adjusted Rand Index :

    这是两个数据分段分配之间相似性的度量,当ARI接近1时,两个排序之间的分段分配更加一致。

3. 草图

  • 图一:对于优化公式的理解
  • 图二:点的正交投影
  • 图三:分支轨迹确定

对自己论文的想法

  1. 可以从降维方面考虑(拓扑方面,找到日期较新效果好的文章应用到CellRouter里面)
  2. 对于已有的轨迹重建算法,做稍小改动(伪扩散、树、图等)

2018.12.28相关推荐

  1. 日常作业2018.12.28

    作业 1.赌博游戏 package com.job12_1;import java.util.Scanner; /*** 赌博游戏* @author Administrator* 2018.12.26 ...

  2. 【一周头条盘点】中国软件网(2018.12.24~2018.12.28)

    每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 一周热点 网信办:金融信息服务提供者不得散布虚假金融信息 近日,国家网信办发布金融信息服务管理规定,规定明确,金融信息服务提 ...

  3. 《惢客创业日记》2018.12.28(周五)创业从0到1的10个阶段(七)

    目前,每天的工作已经非常的清晰和明确,都是在这三件事之间重复,产品原型.创业日记和学习产品. 接下来,再继续给大家分享创业从0到1的0.6阶段(产品原型阶段).一提到产品原型,可能很多人都以为是计算机 ...

  4. 2018.12.23 周日--【绝代风华】《幸福2018》

    本文地址:2018.12.23 周日--[绝代风华]<幸福2018> 原文地址(微信公众号):[绝代风华]<幸福2018> 一.概述2018年 [01 2018年的我]: 说起 ...

  5. Vue 第一天学习 ---2018.06.28

    Vue  第一天学习 ---2018.06.28 1.引包 2.学会控制元素.显示数据,基本框架建立 <title>Document</title> <script sr ...

  6. 训练日志 2018.12.26

    今天看了一天网络流最大流,看到自闭...全程就是 wc 这也能实现,wc 这还能实现,wc 为什么这个模版的运行跟我手撸的结果不一样...跪了... 下午学院开会的时候跟实验室的几个大佬交流了一下进度 ...

  7. 训练日志 2018.12.20

    明天考通信,这几天一直在复习,闲暇时间做了几道差分约束的题换了换脑子,今晚正好弄完差分约束 明天考完后开始网络流的内容 2018.12.20

  8. 训练日志 2018.12.16

    前几天准备 4 级一直没怎么看,考完了又去新生赛帮忙,2-SAT 基本弄完了,但跟二分结合的题还没刷,周三前刷出来. 2018.12.9

  9. 训练日志 2018.12.9

    这周在复习电子考试的间隙,断断续续的终于把二分图的内容看完了,下周要考 4 级,这几天准备抽空做一下 2-SAT 的题 2018.12.9

最新文章

  1. PHP---微信JS-SDK获取access_token/jsapi_ticket/signature权限签名算法,php/thinkphp实现微信分享自定义文字和图片...
  2. sklearn线性回归
  3. 解决spring配置c3p0连接池,tomcat无法正常启动
  4. layui多文件上传讲解_Layui 多文件上传 SSH
  5. Apahce服务器配置非根目录的虚拟目录
  6. AMD如何争夺Intel市场份额?血拼高配PC装机量
  7. Pascal VOC 数据集国内下载
  8. BZOJ.3262.陌上花开([模板]CDQ分治 三维偏序)
  9. struts2中struts.xml配置文件详解
  10. 获取 CSDN 1024 程序员节勋章教程
  11. <2021SC@SDUSC>开源游戏引擎Overload代码分析五:OvEditor——RawShaders.cpp
  12. singleTask
  13. 手势解锁java后端设计_自己定义九宫格手势解锁
  14. 11、权重残差图、RLE和NUSE
  15. 学而思王帆初中语文教学视频
  16. 计算机用户名怎么改好听,电脑版本优酷视频如何设置呢称_昵称起名
  17. 台式计算机能不能安装蓝牙驱动,几个方法教你台式电脑怎么安装蓝牙
  18. 门限电子签名DEMO(协同签名)
  19. 编码规则的发展历程(通俗版)
  20. jsp高级DOM和BOM

热门文章

  1. 反激变换器 闭环 仿真 flyback MATLAB simulink 输入60v,输出30v
  2. 立体布局图用什么软件做,制作商场电子地图的软件
  3. linux编译运行uart,Kindle4: 编译并运行upstream linux kernel – v4.4
  4. Ubuntu16.04配置orb_slam2环境,orb_slam的单目数据集,单目实时运行,RGB-D数据集的运行
  5. Panoply打开grib格式缺失SubCenter和Version字段
  6. 通过Shell 脚本向CK集群群分发SQL指令
  7. 解决 HttpServletRequest 流数据不可重复读
  8. Postgresql源码(66)insert on conflict语法介绍与内核执行流程解析
  9. NFT Insider #87:The Sandbox 收购游戏开发工作室 Sviper,GHST 大迁徙即将拉开帷幕
  10. 《C++ Primer》学习笔记