Single-cell RNA-seq denoising using a deep count autoencoder

0. 简介

这篇文章是2019年发表在Nature Communications上的使用自编码器对单细胞RNA-Seq数据进行降噪的工作,通讯作者是Fabian J. Theis, 来自于德国。这篇文章对自编码器做了改进,常规的自编码器只有一层输出,该文章提出的DCA方法有三层输出。

文章链接
文章代码1
文章代码2

1. 摘要

  • scRNA-seq (Single-cell RNA sequencing)使得研究人员可以在单个细胞分辨率水平上研究基因表达;然而由amplification以及dropout带来的噪音可能阻碍下游的分析,因此需要对scRNA-seq(维度高、稀疏)开发专门的方法;
  • 作者在这里提出DCA(deep count autoencoder network)对scRNA-seq进行降噪;DCA使用binomial noise model with or without zero-inflation考虑到count distribution, overdispersion and sparsity of the data
  • 使用模拟数据和真实数据作者证明了DCA降噪可以提高各种各样传统的scRNA-seq分析,DCA在数据填充和速度上也比目前已有的方法。

2. 前言

  • 单细胞转录组的进步使得研究人员可以发现新的细胞类型,研究复杂细胞分化、发育过程追溯以及提高对人类疾病的理解;
  • 单细胞测序技术虽然有了很大的提升,但是由各种各样的技术因素(例如:amplification bias, cell cycle effects, library size differences and especially low RNA capture rate)导致在scRNA-seq实验中存在着大量的噪音;这些技术由于测序深度较低所以非常稀疏;总之,技术因此带来了大量的噪音,这可能会破坏本身的生物学信号因此阻碍下游分析;
  • RNA捕获率低会导致检测不到某个基因的表达,也就是所谓的"false" zero count, 叫做"dropout event"。但是也有一些zero count是由于该基因在这个细胞中没有表达,因此在scRNA-seq中并不是所有的zero count都是缺失值。在统计学上,缺失值通常可以补充,要么通过随机替换要么是根据数据结构推断, 由于true zero count与false zero count之间的不平凡的差别,传统的方法对于scRNA-seq的imputation并不合适;
  • 降噪的概念在图像领域被普遍用来从噪音中描绘信号;降噪通过从原始图像中抑制或者去除噪音来提升图片的质量;作者这里假设,从无噪数据得来的结果可以反应潜在的生物学过程以及细胞状态。然而,诸如成像或测序的测量技术会产生corrupted representation (Figure 1A);

  • 目前已有一些针对于scRNA-seq的填充或者降噪方法。这些方法依赖于单细胞基因表达数据之间的相关性结构利用细胞之间或基因之间的相关性来推断矫正好的基因表达。例如:scImpute使用混合模型定义可能的dropout values,然后将likely dropout values替换;而MAGIC和SAVER对每个基因和细胞输入输出降噪后的结果。但是这些方法都忽略了数据之间的count的非线性关系,而且,随着scRNA数据量的增大,这些方法不能分析上百万个细胞,这些方法分析不了如此大尺度的数据;
  • 人工神经网络中的自编码器可以以一种非监督的模式学习到数据有效的压缩。自编码器的压缩部分强迫自编码器只能学习到重要的潜在特征,这种重构可以忽略随机噪音,目前自编码器在分子生物学领域已有很多应用;
  • 作者为了能将自编码器应用于scRNA数据的填充而开发了deep count autoencoder, 方法的核心是将重构的错误定义为噪音模型的概率分布而不是输入数据本身 (FIgure 1B),在训练的过程中, DCA通过最小化重构错误来学习基因特异性的分布参数;DCA有三个隐层可以捕获scRNA-seq数据中的复杂性以及非线性;

3. 结果

3.1 Count noise model is neccessary to denoise scRNA-seq data

  • 作者首先将DCA应用于模拟scRNA-seq(使用Splatter)数据探究DCA方法的属性;首先可以获得有dropout和没有dropout的数据,作者模拟了两组数据:
    • 两个细胞类型(2000个细胞)中的200个基因, 63%被设置为0;
    • 六个细胞类型(2000个细胞)中的200个基因,35%被设置为0;
  • 为了指导用户选择合适的噪声模型,作者提出检查从同一cluster或细胞类型的细胞计算的基因平均值和经验dropout之间的关系,通过构建NB(negative binomial distribution without zero-inflation)
    与ZINB(negative binomial distribution with zero-inflation)思然比检验来决定zero-inflation是否存在从而决定DCA选择的噪音模型的参数;
  • Figure 2A-2B: 从模拟数据结果来看,dropout带来了大量的噪音阻碍了西北类型的发现,但是在用DCA降噪之后又可以恢复之前的细胞类型;为了检验count-based损失函数是不是必要的,作者比较了DCA与传统的自编码器(MSE作为损失函数,log转换),从最右边的图可以看出基于自编码器的MSE不能恢复细胞类型,表明specialized count loss function对于scRNA-seq数据的必要性

  • Figure 2C-2D: 上述结论在更复杂的六个细胞类型的数据上也得到了验证;
  • 模拟数据的优点就是可以进行各种各样的评估,包括潜在的overimpudtation的评估;

3.2 DCA可以捕获真实数据中细胞群体结构 (DCA captures cell population structure in real data)

  • 作者在这里使用了68579个外周血单核细胞和1000个highly variable genes (92%都是0)(Figure 3A)。

  • Figure 3B: 作者将自编码器的瓶颈层限制成2个神经元然后可视化其输出;
  • Figure 3C-3F: 已知的细胞类型marker基因表现出了cluster-specific表达,表明DCA在真是数据集中捕获到了细胞群体的结构;

4. 方法

4.1 自编码器

  • 自编码器使用三层来预测输入数据,分别是:输入层、隐层(瓶颈层)以及输出层。输入输出都是相同大小维度,隐层是输入数据的低维展示,也就是降维,传统的自编码器通过最小化MSE损失函数来优化权重,自编码器中的压缩模型强制其只能学习到重要的潜在特征;PCA可以看作是以MSE为损失函数的线性自编码器;

4.2 噪音模型

  • ZINB分布模拟高度稀疏和过度分散的count数据,其考虑了两个成分:
    • 点质量为零,表示数据中的过零值 (a point mass at zero which represents excess zero values in the data);
    • 表示计数分布的负二项式分量 (a negative binomial component representing the count distribution)
  • 成分1可捕获dropout事件;
  • 成分2代表从潜在的分子中抽样reads的过程;
  • ZINB分布用下式表示:

  • 和分别代表负二项分布的均值和离散度;

4.3 模型结构与训练

  • 接下来作者用自编码器框架以每个基因输入数据为条件估计ZINB分布的三个参数,因此与传统的自编码器不同的是,这个模型除了估计均值外,还要估计和dispersion参数;
  • 与传统的自编码器不同的是DCA有三个输出层,分别代表每个基因的三个参数,三个参数组成了gene-specific损失函数来比较这个基因原始输入与输出的差异;
  • 对而分类模型来说,输出层可以解释为逻辑回归,因此DCA输出层可以看作是ZINB回归,predictor就是细胞的重新展示:





  • E, B, D分别代表encoder、bottleneck和decoder层,代表log转换的表达值的z-score。每个细胞的大小因子(size factor), 用每个细胞总的count数目除以每个细胞counts的median,通过一下公式来计算:
  • X代表基因表达count矩阵,"zscore"代表z-score标准化;
  • 输出激活以矩阵的形式展现

你可能感兴趣的:(Single-cell RNA-seq denoising using a deep count autoencoder)