图片来源(Nature Methods)
 

摘要

单细胞转录组测序(single-cell RNA-seq, scRNA-seq)数据有高噪音和稀疏的特点。原文作者展示了跨数据集的迁移学习可显著提高数据的质量。通过将深度自动编码器与贝叶斯模型相结合,原文开发的SAVER-X软件可从不同实验室、不同条件和不同物种的数据中提取可迁移的基因关系,以对新的目标数据集进行降噪。

<更多精彩,可关注微信公众号:AIPuFuBio和大型免费综合生物信息学资源和工具平台AIPuFu:www.aipufu.com>

前言

在scRNA-seq的研究中,技术噪音让细胞状态之间的精确识别模糊化,而且低表达基因不能被准确量化。当测序深度较低或感兴趣的细胞类型较少时,现有的降噪方法往往表现不佳;而且这些方法也忽略了公共的数据集,这些公共数据集可能包含有助于降噪的相关信息。现在逐渐建立了小鼠的细胞图谱,很快就会有人体每个器官的详细图谱。可公开利用的scRNA-seq数据集包含与新产生数据相关的细胞类型和基因特征信息。然而,目前还不清楚如何跨平台、跨物种、跨组织地借用信息。此外,这种迁移学习方法不能引入bias或迫使新数据失去其独特的特征。

结果

原文作者开发了一种新的降噪方SAVER-X,该方法通过表达复原利用外部数据进行单细胞分析;它将贝叶斯分层模型与一个可预处理的深度自动编码器相结合。尽管神经网络已经成为了其他单细胞方法的基础,但现有的工具只对周围的数据起作用。此外,本文中广泛的基准测试和数据强调,除了SAVER-X软件的前身SAVER之外,大多数方法对真实基因表达都产生有偏估计,并引入了特殊的基因相关性。SAVER-X是建立在SAVER软件的核心模型基础上,结合自动编码器后端和两阶段训练机制来利用公共数据资源。

SAVER-X将Y的变异分解为:(i)一个可预测的结构化成分(λ),解释基因间的共享变异;(ii)不可预测的细胞水平波动,这些波动在具有基因特异性分散的基因之间是独立的;和(iii)技术噪音。SAVER-X估计未观察到的真实基因表达,即λ加上独立的细胞水平波动。λ是通过自动编码器(图1b)获得的,该编码器的权重首先在来自相同组织或相似类型组织的细胞上进行预处理,从公共存储库中提取(“预处理数据”;图1a)。权重随后被更新以适应目标数据。这种两阶段训练方案允许适应性保留可迁移特征。人类和小鼠共享许多核心的细胞类型和必要的生物学通路。

图1 | SAVER-X软件的迁移学习框架概要。(图片来源:Wang et al. Nature Methods,2019)a为自动编码器预处理步骤。b为SAVER-X的工作流程。对于具有UMI计数矩阵的目标数据,SAVER-X在没有选定预处理模型的情况下用自动编码器训练目标数据(项目A),然后使用交叉验证过滤不可预测的基因(项目B),并使用经验贝叶斯收缩估计最终降噪值(项目C)。

为了可以跨物种学习,SAVER-X中的自动编码器包含了人和小鼠之间的共同网络。此外,SAVER-X采用基于交叉验证的基因过滤和贝叶斯收缩来保留目标数据集特有的表达模式(图1b)。交叉验证识别出与自动编码器不匹配的基因,自动编码器的预测被它们的目标数据均值所取代。贝叶斯收缩方法通过计算加权预测值的平均值和观察到的数值来得到最终的降噪值。

原文作者首先探索了SAVER-X在免疫系统不同细胞类型上进行迁移学习的好处和局限性。在没有流动分类的情况下,scRNA-seq数据中的组织浸润免疫细胞很少,因此,如果没有外部数据的帮助,降噪很有挑战性。软件作者检测了SAVER-X是否对来自人类细胞图谱(HCA)项目(来自脐带血和骨髓的500,000个免疫细胞)和10X基因组学(200,000个外周血单核细胞)的数据进行了预处理,从而有意义地提高了来自健康和疾病组织的免疫细胞的数据质量。与此同时,软件作者把SAVER-X和现有的降噪方法进行了对比,降噪方法是针对来自九种非重叠免疫细胞类型的一组纯化细胞进行的。

对T细胞亚型的可靠鉴定,对组织免疫环境的定性至关重要,然而,在原始的单细胞转录组测序数据中,T细胞亚型常常被混在一起(图2a)。原文作者通过对每种细胞类型随机选择100个细胞创建了一个测试数据集,发现SAVER-X不仅显著提高了肝癌T细胞亚型之间的分离,而且与其他降噪方法相比,还提高了细胞类型识别的准确性(通过矫正后的兰德指数(ARI)来测量)。包含相似细胞类型的数据集显示了迁移方法的有效性,通过降低目标数据中细胞数量或测序深度,原文作者也观察到了更加明显的效果。在极端情况下,即使是覆盖范围仅为60个唯一分子标识符(UMIs)的细胞(通常被丢弃在当前管道中),也可以通过迁移学习来拯救,以揭示有用的信息。

图2 |人类免疫细胞的SAVER-X降噪。( 图片来源:Wang et al. Nature Methods,2019)
 

为了理解迁移学习的局限性,原文作者评估了降噪精度,与预处理数据集和目标数据集之间细胞类型的相似性关系。迁移学习是否能有效地降噪预处理数据中不存在的细胞状态呢?考虑上面分析的纯化T细胞。当对所有的T细胞亚型进行SAVER-X预处理时,标记基因的聚类和表达量化得到了显著改善(图2b)。然而,即使细胞类型(CD4+调节性T (Treg)细胞)完全在预处理中缺失,SAVER-X也改善了这种“新”细胞类型的鉴定和标记基因定量。而且,为了确定预处理数据中细胞类型的富集是否提高了目标数据中的降噪精度,原文作者对富集了Treg细胞的T细胞进行了SAVER-X预处理,发现会产生任何明显的差异。因此,SAVER-X不需要预处理数据和目标数据之间的细胞类型完美匹配,重要的是,可以提高预处理数据中不存在的新细胞类型的量化。

作为辅助手段,原文作者还使用CITE-seq技术检测关键免疫标记的基因蛋白相关性。在CITE-seq中发现蛋白质丰度和它们的同源基因RNA表达之间的相关性非常低。而且还发现,对于PBMC和脐带血单个核细胞(CBMC)的CITE-seq数据,SAVER-X的降噪表达估计(在HCA和PBMC 10X基因组学上进行了预处理)与它们的蛋白质产物有明显更高的相关性。与其他方法相比,当目标数据集包含100和1000个细胞时,SAVER-X都提高了所有标记的相关性(图2c)。然而,对于具有8,000个细胞的较大数据集,预处理并没有显示出明显的效果。

接下来,原文作者探讨了SAVER-X是否能有效地从健康的免疫细胞中去学习降噪。与非预处理模型相比,对来自健康组织的免疫细胞(HCA和PBMC 10X基因组学)的预处理,使能够更好地表征多受试者中肿瘤浸润免疫细胞的类型(图2d)。同时,迁移学习后,肿瘤相关免疫细胞亚群仍可识别。特别地,SAVER-X保留了升高的免疫球蛋白,这是该疾病特异细胞状态下的标志(图2e)。该细胞群在健康组织中不存在,通过LYZ等标记物进一步验证了该免疫类型的存在。配对肿瘤和正常组织之间的细胞亚型特异基因表达差异,也在所有具有配对组织的受试者中,和对于免疫监测至关重要的两种细胞类型中得以保留(图2f)。

最后,原文作者使用了来自小鼠和人类发育腹侧中脑细胞scRNA-seq数据,进行跨物种迁移学习。对人类数据集中10%的读段(reads)进行降采样,将其降低到每个细胞有中值为452 UMIs,并利用原始数据作为衡量降噪精度的参考。将人类细胞随机分成两组,对一组的reads进行下采样(down-sampled),并保留另一组进行预处理。与未预处理的相比,在匹配的小鼠脑细胞上的SAVER-X预处理,导致人类脑细胞分类的有了显著地改善(图3a)。与单独对人类细胞进行预处理相比,对人和小鼠细胞预处理进一步提高了降噪精度。此外,对腹侧中脑以外区域的细胞进行SAVER-X预处理是有益的,而且对三个人类非UMI数据集以及小鼠细胞进行预处理也是有益的。这些实验证明了跨物种迁移学习在一般和实际环境中的优点,尽管在这些环境中,解剖区域和实验方案可能在预处理数据和目标数据之间有所不同。

然后,原文作者仔细检查了一个对小鼠数据进行预处理的模型,判断是否会对人类特异表达基因的估计产生偏差。他们计算了人类和小鼠之间,细胞类型特异平均表达的对数倍数变化,并鉴定了两个物种之间四种细胞类型的差异表达基因。用处理小鼠细胞的SAVER-X对下采样的人类数据进行降噪,结果保留了对数的倍数变化(图3b)。相反,仅仅依靠自动编码器,而没有交叉验证和收缩,则减少了一些基因的倍数变化。与其他方法不同,SAVER-X还保留了细胞间基因的差异(图3c)。

图3 |小鼠和人类脑细胞之间的迁移学习。( 图片来源:Wang et al. Nature Methods,2019)
 

综上所述,结果表明SAVER-X的框架可以利用现有数据,来提高新scRNA-seq数据集的质量。SAVER-X的核心是在一系列研究设计中训练一个深层神经网络,并将该模型应用于新数据,以加强共享的生物模式。迁移学习将scRNA-seq数据分析的方法,从特定研究的统计建模过程转变为跨研究数据集成和信息共享的自动化过程。

<更多精彩,可关注微信公众号:AIPuFuBio和大型免费综合生物信息学资源和工具平台AIPuFu:www.aipufu.com>

Nature Methods | 新软件SAVER-X可对单细胞转录组学数据进行有效降噪的更多相关文章

  1. ubuntu要安装新软件,已有deb安装包

    如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境.那该怎么安装?答案是:使用dpkg命令.dpkg命令常用格式如下:sudo dpkg -I iptu ...

  2. Docker这个新软件究竟是用来干嘛的???

    http://dockone.io/article/378 尝试新软件 对开发者而言,每天会催生出的各式各样的新技术都需要尝试,然而开发者却不太可能为他们一一搭建好环境并进行测试.时间非常宝贵,正是得 ...

  3. 大数据软件安装之Hadoop(Apache)(数据存储及计算)

    大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...

  4. ST推出新软件STM32Cube ,让STM32微控制器应用设计变得更容易、更快、更好用

    功能强大的STM32Cube 新软件平台由设计工具.中间件和硬件抽象层组成,让客户能够集中精力创新 意法半导体(STMicroelectronics,简称ST)针对STM32微控制器推出一套免费的功能 ...

  5. 【转载】 DeepMind发表Nature子刊新论文:连接多巴胺与元强化学习的新方法

    原文地址: baijiahao.baidu.com/s?id=1600509777750939986&wfr=spider&for=pc 机器之心 18-05-15   14:26 - ...

  6. .Net 转战 Android 4.4 日常笔记(5)--新软件Android Studio 0.5.8安装与配置及问题解决

    说真心话,Eclipse跟我们.net的VS比起来就是屌丝比高富帅,一切都是那么的难用,速度慢得我无法忍受 于是想试试Google钦点的Android Studio IDE工具,这跟ADT一样也是一套 ...

  7. 新软件马上就要完成了,先发篇文章YY下

    最近一直都在搞网站抓取方面的开发,闲着无聊逛逛论坛,发现有些帖子还是写的相当不错的,只是一篇一篇的点进去比较麻烦,于是就写了个小软件只是为了方便查看博客园和CSDN上的优秀文章.其实这个还可以拓展的, ...

  8. cygwin下使用apt-cyg安装新软件

    1.获取  (记得先安装好git) git clone https://github.com/transcode-open/apt-cyg.git 2.安装apt-cyg cd apt-cyg chm ...

  9. Linux Mint---更新软件源

    安装完系统之后第一件事情就是更新软件源,为接下来的各种工作作准备,这个也很简单,直接打开software source设置一下, 然后打开software manager更新一下就好了.

随机推荐

  1. 2017 计蒜之道 初赛 第五场 UCloud 的安全秘钥(中等)

    每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因此,UCloud 每年会对用户的秘钥进行安全性评估,具体的评估方 ...

  2. Python远程连接MySQL数据库

    使用Python连接数据库首先需要安装Python的数据库驱动. 我的本地只装了Python,并没有装MySQL,当我使用命令: sudo pip install mysql-python 安装驱动( ...

  3. MySQL性能调优与架构设计(简朝阳)

    https://www.cnblogs.com/crazylqy/category/625963.html

  4. netcore mvc 的简单实现

    实现的功能 简单的路由系统 支持中间件 简单Filter支持 只支持HttpPost.HttpGet 使用Dotliquid做为视图渲染引擎 核心实现 HttpChannel 复制监听Tcp请求,并按 ...

  5. Golang error 的突围

    目录 error 的困局 尝试破局 Errors are just values handle not just check errors Only handle errors once 小结 胎死腹 ...

  6. SqlServer还原数据库时提示:异常终止,不能在此版本的SQL Server中启动,因为它包含分区函数

    场景 在SqlServer Management中进行数据库还原时提示: 数据库不能在此版本的SQL Server中启动,因为它包含分区函数. 点击左下角的查看详细信息 实现 电脑上安装的是SQL S ...

  7. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  8. IBM MQ reason code list

    The reason code parameter (Reason) is a qualification to the completion code parameter (CompCode). I ...

  9. python+selenium十:selenium的二次封装

    python+selenium十:基于原生selenium的二次封装   from selenium import webdriverfrom selenium.webdriver.support.w ...

  10. .Net Standard(.Net Core)实现获取配置信息

    一.前言 在.Net Framework框架有专门获取webconfig配置的方法供我们使用,但是在.Net Core或者.Net Standard中没有可以直接使用的方法来获取配置文件信息,下面就来 ...