sc-MAVE

Deep-joint-learning analysis model of single cell transcriptome and open chromatin accessibility data单细胞转录组和开放染色质可及性数据的深度联合学习分析模型

在同一个细胞中同时分析转录组和染色质可及性信息为了解细胞状态提供了前所未有的解决方案。然而,计算有效的方法,这些固有的稀疏和异构数据的整合是缺乏的。在这里,我们提出了一个单细胞多模态变分自动编码器模型,它结合了三种类型的联合学习策略与概率高斯混合模型,以学习准确代表这些多层配置文件的联合潜在特征。对模拟数据集和真实的数据集的研究表明,该方法具有更好的能力:(i)在联合学习空间中剖析细胞异质性;(ii)去噪和估算数据;(iii)构建多层组学数据之间的关联,可用于理解转录调控机制。

介绍

基因表达是通过一组转录因子(TF)结合到其顺式调控基因组区域来调节的。

scRNA-seq表征细胞的基因表达水平,而scATAC-seq等表观基因组变化反映了附近基因中顺式调控元件的开放性。这种两组学数据的整合可以提供关于与细胞异质性相关的调控层的新见解[13]。许多集成工具都是为批量数据设计的[14]。

例如,主成分分析(PCA)的推广MOFA被提出来处理批量数据,也可以应用于单细胞数据集[15]。IntNMF是非负矩阵因子分解(NMF)的扩展,用于整合疾病亚型分类的多组学数据,并评估其处理单细胞数据集[16,17]。然而,最近的研究发现,单细胞数据有其独特的特点,不同于批量数据,因此需要开发新的方法[18]。单细胞多分析(PCA)的集成被提出来处理批量数据,也可以应用于单细胞数据集[15]。IntNMF是非负矩阵因子分解(NMF)的扩展,用于整合疾病亚型分类的多组学数据,并评估其处理单细胞数据集[16,17]。然而,最近的研究发现,单细胞数据有其独特的特点,不同于批量数据,因此需要开发新的方法[18]。

单细胞多组学数据的整合仍然是一个巨大的挑战,这是由于固有的高度稀疏性,由于测定噪声导致的巨大异质性,scATAC-seq和scRNA-seq数据之间的巨大维度差异,大约10-20倍[19],以及越来越大规模的数据集[20]。已经开发了大量用于scRNA-seq数据整合的方法,然而,只有少数方法被提出用于整合单细胞多组学数据,并且这些方法是针对从不同细胞收集但从相同细胞群体提取的组学数据开发的[21-24]。例如,提出了耦合MMF,通过构建基因和顺式调控元件的耦合非负矩阵来对scRNA-seq和scATACseq数据进行聚类[23]。MATCHER被提出来通过使用高斯过程潜变量模型来推断每个细胞的伪时间来预测scRNA-seq和scATACseq之间的相关性[24]。最近,开发了Seurat(版本3)[25]和LIGER [22]用于整合scRNA-seq和scATAC-seq数据。这两种方法都是先将scATAC-seq数据转化为类似于基因表达数据的基因活性数据,然后通过在低维空间中相互比对来识别scRNA-seq数据和基因活性数据之间的锚点。然而,两组学/两层组学数据之间的比对效率通常需要来自两种测量的相似聚类性能。由于scATAC-seq数据的极稀疏性(即sci-CAR-seq中超过99%为零),很难通过scATAC-seq数据定义细胞簇。因此,这两种方法的不正确对齐可能会影响下游分析。

深度生成模型已经成为一个强大的框架来建模高维数据[26,27]。具体地,VAE通过编码器从输入数据学习低维特征,并通过解码器恢复输入数据,这可以通过最大化恢复的数据和输入数据之间的似然性,并最小化学习的潜在特征和真实后验之间的Kullback-Leibler(KL)发散来完成。最近,提出了采用标准VAE的单细胞变分推理(scVI)来分析scRNA-seq数据[26]。然而,标准的VAE在潜在变量上使用单一的各向同性多变量高斯分布,并且通常不适合稀疏数据[28]。SCALE适配使用高斯混合模型(GMM)作为潜在变量的先验的VAE被提出来分析scATAC-seq数据,分析结果表明,集成VAE和GMM的框架可以用于处理高度稀疏的数据,并学习更分散和可解释的潜在特征[27]。深度学习多模态技术[29,30]的最近快速发展以及在整合多视图生物数据[31]方面的成功应用,证明了它们在解决当前单细胞多组学数据分析困难方面的巨大潜力。

在这里,我们提出了单细胞多模态变分自动编码器(scMVAE),用于整合来自同一单细胞的scRNAseq和scATAC-seq数据,通过使用三种类型的联合学习策略。scMVAE模型使用随机优化和多模态编码器,首先聚合两种组学数据跨相似细胞和特征,以逼近具有GMM先验的联合潜在特征位置,然后通过每种组学数据的解码器重构观察到的表达值,同时考虑每种类型数据的归一化,可用于训练非常大的数据集。

特别是,通过无监督方式联合学习两种组学数据,scMVAE模型(i)产生具有生物意义的低维特征,同时表示这两个多层剖面,允许细胞可视化和聚类;(ii)去噪和填充两种组学数据;(iii)构建两层数据之间的关联,可用于推断新的调控关系。为了证明其效率,我们将scMVAE模型和其他整合方法应用于模拟和真实数据集,结果表明scMVAE模型的性能优于当前的最先进方法。

方法

scMVAE概率模型

scMVAE通过三种联合学习策略对来自同一细胞的scRNA-seq和scATAC-seq的分布进行建模:PoE推断网络(在材料S1中详细描述)、神经网络和直接连接两种组学数据特征(图1A–C)。为了平衡scRNA-seq和scATAC-seq数据之间的大尺度差异,我们将scATAC-seq数据的峰值水平计数矩阵转换为类似于scRNA-seq数据的基因活性数据,建模每个组学数据均来自于一个零膨胀负二项(ZINB)分布。

具体而言,给定K个聚类,可以通过多组学编码器网络通过重新参数化获得联合学习特征z,其中c是一个概率离散的分类变量。p(z|c)是一个混合高斯分布,其参数是由在c条件下的均值向量μc和协方差矩阵σc参数化的。考虑到x、y和c在z条件下是独立的,那么多模态联合学习分布p(x、y、z、c、lx、ly),其中lx和ly分别是用作scRNA-seq和scATAC-seq数据的库大小因子的一维高斯变量,可以分解为:

每个因子分解变量定义如下:

此外,x或y的每个基因表达水平独立于以下生成过程:

在MVAE中,z的GMM先验被用来生成高度逼真的样本,通过学习更加解耦和可解释的潜在表示。这在先前的工作中分别应用于scRNA-seq和scATAC-seq[27, 32]。lx和ly被视为与经验日志库大小强相关的对数正态分布。fθx(f(z))和fθy(f(z))表示由变分贝叶斯推断估计的特定特征的反比例。

在推断期间,神经网络fμx和fμy通过在最后一层使用‘softmax’激活函数被约束,以编码一个细胞中所有基因的平均比例基因表达,分别用于scRNA-seq和scATAC-seq数据。神经网络fπx和fπy通过在最后一层使用‘sigmoid’函数编码每个基因是否因为捕获效率和测序深度而被删除,用于每个二组学数据。

scMVAE模型的训练旨在最大化观察到的scRNA-seq和scATAC-seq数据的对数似然,然而,由于这是不可解的,因此转而优化证据下界(ELBO):

鼓励使用与库大小因子lx和ly相关的两个重建项和KL散度的正则化项来进行数据归一化、去噪和插值。潜在变量z的KL散度用于将其调节为GMM流形,以增强与多组学数据的关联。参数qϕ、pθ1和pθ2分别是多模态编码器、scRNA-seq数据的解码器和scATAC-seq数据的解码器。

所有神经网络都使用了dropout正则化和批量归一化。每个神经网络都有一个或两个全连接层,每层有128或256个节点。隐藏层之间的激活函数是'relu'函数。使用Adam优化器和1e-6的权重衰减来最大化ELBO。scMVAE模型使用pytorch软件包实现,其中GMM是使用Python scikit-learn软件包构建的。源代码位于GitHub存储库:https://github.com/cmzuo11/scMVAE。

图1. scMVAE模型的概述,包括三种联合学习策略。

(A)scMVAE模型的总体框架。给定同一细胞i的scRNA-seq数据(具有M个变量的xi)和scATAC-seq数据(具有N个变量的yi)作为输入,scMVAE模型通过一个具有三种学习策略的多模态编码器学习了细胞的非线性联合嵌入(z),该嵌入可用于多种分析任务(例如细胞聚类和可视化),然后通过解码器对每个组学数据将其重构回原始维度作为输出。注意:两种组学数据的相同细胞顺序确保了一个细胞对应于低维空间中的一个点。

(B)三种学习策略的示意模型:

(i)‘PoE’框架用于通过每个组学数据的后验概率的乘积来估计联合后验(详见材料S1),

(ii)‘NN’用于通过使用神经网络来组合为每个层数据提取的特征来学习联合学习空间

(iii)‘Direct’策略通过直接使用两层数据的原始特征的串联作为输入一起学习。在这种学习条件下,神经网络:NN−fμy−l,NN−fσy−l,NN−fμy,NN−fθy,NN−fπy已从总网络中删除。

(C)scMVAE模型中每个变量所属的分布。每个组学数据都被建模为一个ZINB分布。有关每个变量的详细描述,请参见数据集和预处理。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/428217.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPS/Office 好用的Word插件-查找替换

例如:一片文档:…………泰山…………泰(少打了山字)………… 要是把“泰”查找替换为“泰山”,就会把前面的“泰山”变成“泰山山”,这种问题除了再把“泰山山”查找替换为“泰山”,有没有更简单…

Flutter输入框换行后自适应高度

Flutter输入框换行后输入框高度随之增加 效果 设计思想 通过TextEditingController在build中监听输入框,输入内容后计算输入框高度然后自定义适合的值,并且改变外部容器高度达到自适应高度的目的 参考代码 //以下代码中的值只适用于案例,…

智能果园风吸杀虫灯的优势

TH-FD2随着农业科技的不断进步,果园管理也迎来了革命性的变革。智能果园风吸杀虫灯作为一种新型的果园管理工具,以其独特的优势,正逐渐受到广大果农的青睐。 一、智能果园风吸杀虫灯的工作原理 智能果园风吸杀虫灯利用害虫的趋光性&#xff0…

贪心 Leetcode 134 加油站

加油站 Leetcode 134 学习记录自代码随想录 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油…

MonkeyRunner在自动化测试里的应用场景!

MonkeyRunner是Android提供的一个自动化测试工具,主要用于对Android设备或模拟器进行功能和压力测试。以下是一些MonkeyRunner在自动化测试中的应用场景及实例代码: 基本操作测试 点击屏幕上的特定位置或元素。 模拟滑动和手势操作。 发送按键事件。 …

指针习题二

使用函数指针实现转移表 #include <stdio.h> int add(int a, int b) {return a b; } int sub(int a, int b) {return a - b; } int mul(int a, int b) {return a * b; } int div(int a, int b) {return a / b; } int main() {int x, y;int input 1;int ret 0;int(*p[…

Linux学习:初识Linux

目录 1. 引子&#xff1a;1.1 简述&#xff1a;操作系统1.2 学习工具 2. Linux操作系统中的一些基础概念与指令2.1 简单指令2.2 ls指令与文件2.3 cd指令与目录2.4 文件目录的新建与删除指令2.5 补充指令1&#xff1a;2.6 文件编辑与拷贝剪切2.7 文件的查看2.8 时间相关指令2.9 …

服务器硬件基础知识

1. 服务器分类 服务器分类 服务器的分类没有一个统一的标准。 从多个多个维度来看服务器的分类可以加深我们对各种服务器的认识。 N.B. CISC: complex instruction set computing 复杂指令集计算 RISC: reduced instruction set computer 精简指令集计算 EPIC: explicitly p…

ViTMatte:Boosting image matting with pretrained plain vision transformers

自sora之后&#xff0c;我也要多思考&#xff0c;transformer的scaling law在各个子领域中是不是真的会产生智能&#xff0c;conv的叠加从resnet之后就讨论过&#xff0c;宽或者深都没有办法做到极限&#xff0c;大概sam这种思路是最好的实证。 1.introduction 引入了ViT adap…

浅谈一个CTF中xss小案例

一、案例代码 二、解释 X-XSS-Protection: 0&#xff1a;关闭XSS防护 之后get传参&#xff0c;替换过滤为空&#xff0c;通过过滤保护输出到img src里面 三、正常去做无法通过 因为这道题出的不严谨所以反引号也是可以绕过的 正常考察我们的点不在这里&#xff0c;正常考察…

深入理解快速排序算法:从原理到实现

目录 1. 引言 2. 快速排序算法原理 3. 快速排序的时间复杂度分析 4. 快速排序的应用场景 5. 快速排序的优缺点分析 5.1 优点&#xff1a; 5.2 缺点&#xff1a; 6. Java、JavaScript 和 Python 实现快速排序算法 6.1 Java 实现&#xff1a; 6.2 JavaScript 实现&#…

ARM64汇编02 - 寄存器与指令基本格式

最近的文章可能会有较多修改&#xff0c;请关注博客哦 异常级别 ARMv8处理器支持4种异常等级&#xff08;Exception Level&#xff0c;EL&#xff09;。 EL0 为非特权模式&#xff0c;用于运行应用程序&#xff0c;其他资源访问受限&#xff0c;权限不够。 EL1 为特权模式&…

栈的OJ一小道-->Leetcode有效的括号

20. 有效的括号 - 力扣&#xff08;LeetCode&#xff09; 这道题我们乍一看可能会选择暴力遍历法,但这题我们可以选择栈,这样可以大大降低我们的时间复杂度.这题要求非常简单 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型…

Qt 简约美观的动画 摆钟风格 第十季

&#x1f60a; 今天给大家分享一个摆钟风格的加载动画 &#x1f60a; 效果如下: 最近工作忙起来了 , 后续再分享其他有趣的加载动画吧. 一共三个文件 , 可以直接编译运行 //main.cpp #include "LoadingAnimWidget.h" #include <QApplication> #include <Q…

山西电力市场日前价格预测【2024-02-24】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-02-24&#xff09;山西电力市场全天平均日前电价为562.29元/MWh。其中&#xff0c;最高日前电价为1026.21元/MWh&#xff0c;预计出现在18:30。最低日前电价为337.39元/MWh&#xff0c;预计…

[LeetBook]【学习日记】寻找和为指定数字的连续数字

题目 文件组合 待传输文件被切分成多个部分&#xff0c;按照原排列顺序&#xff0c;每部分文件编号均为一个 正整数&#xff08;至少含有两个文件&#xff09;。传输要求为&#xff1a;连续文件编号总和为接收方指定数字 target 的所有文件。请返回所有符合该要求的文件传输组…

【音视频开发】使用ffmpeg实现多个视频合成一个视频(按宫格视图)

先上结果 环境 硬件&#xff1a;通用PC 系统&#xff1a;Windows 测试有效 软件&#xff1a;ffmpeg 解决 0、命令 ffmpeg.exe -i input1.mp4 -i input2.mp4 -i input3.mp4 -i input4.mp4 -filter_complex "[0:v]scaleiw/2:ih/2,pad2*iw:2*ih[a]; [1:v]scaleiw/2:ih/2…

ArcGIS学习(九)选址分析

ArcGIS学习(九)选址分析 本任务给大家带来的案例是租房选址分析。选址分析是我们平时经常接触到的分析场景。概括起来说,选址分析就是根据选址条件来确定哪些区域满足我们的选址要求。首先,先来看看我们这个案例的场景和基础数据。我们以某个城市某一租客的租房选址为例。…

深入理解Docker

文章目录 1 Docker理论1.1 背景知识1.2 是什么1.3 Docker基本三要素1.4 镜像原理1.5 安装教程 2 Docker常用命令2.0 防火墙相关命令2.1 镜像命令2.2 容器命令2.3 进阶命令 3. 实战之Docker部署springboot项目步骤一&#xff1a;Springboot项目配置1.1 添加docker的maven依赖1.2…

vue项目中使用antvX6新手教程,附demo案例讲解(可拖拽流程图、网络拓扑图)

前言&#xff1a; 之前分别做了vue2和vue3项目里的网络拓扑图功能&#xff0c;发现对antv X6的讲解博客比较少&#xff0c;最近终于得闲码一篇了&#xff01; 需求&#xff1a; 用户可以自己拖拽节点&#xff0c;节点之间可以随意连线&#xff0c;保存拓扑图数据后传给后端&…