SEACells从单细胞基因组学数据推断转录和表观基因组细胞状态

news2024/10/6 0:32:36

摘要

Metacells是从单细胞测序数据中衍生出的细胞分组,代表了高度粒度化、独特的细胞状态。在这里,我们提出了单细胞细胞状态聚合(SEACells),这是一种用于识别Metacells的算法,它克服了单细胞数据稀疏性的问题,同时保留了传统细胞聚类所隐藏的异质性。

SEACells在识别RNA和转座酶可接近染色质(ATAC)模式下的细胞状态时,优于现有算法,能够在具有离散细胞类型和连续轨迹的数据集中识别全面、紧凑且良好分离的Metacells。

我们展示了SEACells的应用,改进了基因-峰关联、计算ATAC基因分数以及推断在分化过程中关键调节因子的活性。Metacell级别的分析适用于大型数据集,并且特别适用于患者队列,在这种情况下,每个患者的聚合提供了更稳健的单位用于数据整合。我们利用我们的Metacells揭示了造血分化过程中表达动态和染色质景观的逐渐重构,并在2019冠状病毒病(COVID-19)患者队列中唯一识别与疾病发生和严重程度相关的CD4 T细胞分化和活化状态。

介绍

目前,单细胞基因组学数据的细胞分辨率与大多数分析的聚类级别分辨率存在根本性断层。为了克服这些数据的稀疏性和噪音,通常会通过一小组聚类来总结成千上万个细胞。聚类还使得分析大规模单细胞RNA测序(scRNA-seq)数据集成为可能。随着人类细胞图谱计划和人类肿瘤图谱网络等项目扩展到数百万个细胞,即使是常规的降维和可视化任务也面临着计算复杂性的挑战。稀疏性和噪音在单细胞转座酶可接近染色质测序(scATAC-seq)数据中尤其成问题,这些数据仅在任何单个细胞的数千个开放染色质区域中捕获三态杂合状态(附图1),因此聚合变得至关重要。

然而,典型的聚类并非同质的(见图1a、b)。此外,已有研究证明单细胞数据呈现连续性。例如,在红细胞前体细胞的一个聚类中对 GATA2 的表达进行分组,显示了每个分组内细胞状态的逐渐变化。GATA2 是红细胞命运的驱动因子。GATA2 的染色质开放情况显示了其表达动态是通过逐渐开放的调控元件实现的。这样的动态在离散的聚类级别分析中丢失了。

提出了metacells的概念——代表不同细胞状态的细胞组,其中metacell内的变化主要是由技术而不是生物源引起的——作为在最大化有效数据分辨率的同时保持统计效用的一种方法。Metacells比聚类更加粒度化,并且针对细胞组内的同质性进行了优化,而不是针对聚类之间的分离。然而,现有的方法在scATAC-seq数据上失败了;它们过于激进地删除异常值(尤其是对于疾病研究,常常受到罕见细胞群体的驱动,这是特别不合适的);并且在表型空间上分布不均匀。因此,metacells在单细胞分析中并不常用,scATAC-seq数据也一直被低估使用。

在这里,我们介绍了单细胞细胞状态聚合(SEACells),这是一种基于图的算法,使用核原型分析来计算metacells。我们证明了SEACells metacells能够提供对scRNA-seq细胞状态的稳健、全面的特征描述,并且成功地描述了染色质细胞状态,其分辨率能够推断基因表达底层的调控元素。我们的metacells在信号聚合和细胞分辨率之间取得了平衡,并且捕获了表型谱中的细胞状态,包括罕见状态。我们进一步展示了我们的metacells保留了样本之间的微小生物学差异,这些差异在其他方法中被批次效应移除,因此,相比于稀疏的个体细胞,它们为数据整合提供了更好的起点。SEACells提供了从scATAC-seq数据中推断基因调控的工具包,并为整合大型队列的单细胞数据提供了有效的统计方法。

结果

SEACells识别表型多样性中的元细胞

SEACells旨在将单个细胞聚合成代表不同细胞状态的metacells,以一种不考虑数据模态的方式。使用计数矩阵作为输入,它提供了每个metacell的每个细胞的权重、每个细胞对每个metacell的硬分配以及每个metacell的聚合计数作为输出。值得注意的是,我们的方法捕获了数据中细胞状态的完整谱,包括更罕见的状态。我们的SEACells基于几个关键假设:(1)单细胞分析数据可以近似为一个低维流形(表型流形);(2)观察到的细胞间变异性很大程度上是由于不完全的采样造成的;以及(3)大多数细胞可以被分配到一个有限的细胞状态集合,每个状态都由不同的活跃基因调控程序组合来描述。

SEACells利用已被证明能够忠实和稳健地捕获单细胞基因组学数据中细胞状态景观的基于图的流形学习算法。该算法首先构建表示表型流形的最近邻图。然后,它应用原型分析14,15来迭代地细化metacells。最后,它将计数聚合到一组输出metacells中。流形构建针对每种数据模态进行了定制,之后算法可以以数据类型不可知的方式进行处理(附图2)。我们使用早期人类造血过程中的CD34+细胞来演示我们的方法(图1)。我们使用最小-最大采样4进行初始化,该方法确定了一组代表性细胞状态,这些状态在表型流形上均匀分布(图1e),并且在处理密度差异方面表现出特别优异,从而确保捕获罕见状态。这些被采样的细胞是路标(每种细胞类型多个),它们在最近邻图中定义了清晰的结构;然而,细胞状态本身仍然有些模糊(图1f)。

为了细化metacells,我们采用核原型分析(图1g,扩展数据图1a和方法)。原型分析是一种强大的矩阵分解技术,已被应用于数据矩阵,以识别细胞表型空间边界上的极端细胞状态。相反,我们将原型分析应用于细胞之间的相似性核矩阵。该核将细胞投影到一个更高维的空间中,在这个空间中,仅当两个细胞共享邻居并且到共享邻居的距离相似时,它们才相似。通过这种转换施加的更严格的相似性条件将高度相似的细胞投影到小的簇中,因此边界细胞在其簇中对每个其他细胞最相似,使核空间中的原型成为每种独特细胞状态的良好代表。核原型分析因此将细胞划分为高度相似细胞的紧密簇(图1g和扩展数据图1),在细胞之间的相似性矩阵的对角线上形成紧密的区块,代表着不同的细胞状态(图1h)。

SEACells的metacells代表准确且稳健的细胞状态

我们首先在一个公开的多组学(同时scRNA-seq和ATAC-seq)数据集上评估了SEACells的性能,该数据集来自10x Genomics的外周血单个核细胞(PBMCs),这是一个研究充分、具有不同细胞群体的系统。我们发现,SEACells的metacells在RNA和ATAC数据中都是全面的,在细胞类型中分布良好,并且在细胞类型纯度方面表现出很高的度量(图2a,b和方法)。此外,RNA和ATAC metacells的相互投影表明,不同模态的metacells高度一致(附图3a,b和方法)。

Metacells有助于克服scATAC-seq数据中的稀疏性,这在该类型数据中非常严重。我们发现,每个SEACells的metacell提供了比单个细胞更完整的分子特征描述,例如,通过揭示主要细胞类型的已知标记基因的可及性。metacells的可及性和表达,但不是大多数单个细胞,可以准确区分淋巴亚型(图2c和补充图3c,d)。因此,metacells包括纯的细胞类型;它们足够粒度,可以区分细胞类型内的状态;并且可以用传统的免疫标记物来查询。

为了在轨迹设置中测试SEACells,我们收集了一个包含6800个健康骨髓中经过CD34全HSPC标记物分选的造血干细胞和祖细胞(HSPCs)的多组学数据集(方法)。与PBMCs类似,metacells在所有细胞类型中分布良好,并且跨越了RNA和ATAC表型流形(图2d)。为了确定metacell分辨率是否足以恢复在聚类中丢失的基因表达动态,我们将Palantir轨迹算法直接应用于metacells。Palantir恢复了已知的关键造血基因的表达和可及性动态(补充图4)。作为进一步的挑战,我们将Palantir应用于在ATAC模态上计算的metacells聚合RNA上(图2e和补充图4)。捕获基因趋势的准确性进一步证实了SEACells metacells在保持具有连续状态转换的系统中克服稀疏性的同时保留动态的能力。

我们使用CD34+骨髓和PBMC数据集来评估SEACells的稳健性(方法)。SEACells将细胞高度自信地分割成不同的metacells(补充图5),这些metacells在不同的初始化(补充图6a)和SEACells数量(补充图6b)下保持一致,基于归一化互信息(NMI)分数。另一个关键性能指标是捕获罕见的细胞状态。SEACells能够准确地恢复罕见的细胞类型,如PBMC RNA和ATAC模态中的浆细胞样树突状细胞(pDCs)和B细胞前体(图2a,b)。为了进一步测试SEACells识别连续轨迹中罕见中间细胞状态的能力,我们生成了一个第二个多组学数据集,代表了完整的人类造血过程的范围,并发现SEACells可以识别代表罕见中间细胞的多样低密度区域的metacells(方法和补充图7)。作为对SEACells识别罕见细胞状态能力的额外评估,我们系统地对小鼠胚胎发育图谱进行了下采样,并恢复了metacells,这些metacells仅由组成总体人口不到0.2%的细胞类型组成,证明了SEACells的敏感性。

SEACells赋予基因调控推理能力

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode 2.27

leetcode hot 100 哈希1.字母异位词分组2.最长连续序列 双指针1.盛最多水的容器2.和为 K 的子数组 数组1.除自身以外数组的乘积 哈希 1.字母异位词分组 49. 字母异位词分组 方法一:排序 由于互为字母异位词的两个字符串包含的字母相同,因此对两个字符…

C++设计模式之——桥接模式详解和代码实例

文章目录 桥接模式详解:C代码实例进一步阐述桥接模式的优点和适用场景桥接模式的实际应用场景还包括但不限于以下几种情况: 桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象部分与其实现部分分离,使它们都可以独立变化。这…

Arduino与processing之间的通信——进阶版

本次需要实现Arduino获取板子的偏转角度并通过串口发送给processing,processing部分根据传输过来的各个轴的偏转角度建立对应偏转角度的3D模型。 这就涉及了两个轴正负方向的偏转,我的实现思路是使用串口传输 字母数字 格式的信息,字母用来判…

Corel 会声会影 2023 激活码 会声会影 2023 序列号生成器

会声会影 2023 已经出来很长时间了,但是对它的热爱一直持续不减,今天我给大家带来2023版本为用户带来的多个全新功能,可以更好的编辑视频,不过软件还是付费的,为此我带来了会声会影 2023序列号生成器,可以轻…

算法沉淀——动态规划之01背包问题(leetcode真题剖析)

算法沉淀——动态规划之01背包问题 01.【模板】01背包02.分割等和子集03.目标和04.最后一块石头的重量 II 01背包问题是一类经典的动态规划问题,通常描述为:有一个固定容量的背包,以及一组物品,每件物品都有重量和价值&#xff0c…

【蓝桥杯】分巧克力

一.题目描述 二.输入描述 三.输出描述 四.问题分析 //分巧克力 #include <iostream> #include <algorithm>using namespace std;const int N1e510; int n,k,h[N],w[N];bool judge(int mid){int cnt0;for(int i0;i<n;i){cnt(h[i]/mid)*(w[i]/mid);if(cnt>k)r…

【短时交通流量预测】基于Elman神经网络

课题名称&#xff1a;基于Elman神经网络的短时交通流量预测 版本时间&#xff1a;2023-04-27 代码获取方式&#xff1a;QQ&#xff1a;491052175 或者 私聊博主获取 模型简介&#xff1a; 城市交通路网中交通路段上某时刻的交通流量与本路段前几个时段的交通流量有关&#…

数仓项目6.0(一)

尚硅谷大数据项目【电商数仓6.0】企业数据仓库项目_bilibili 数据流转过程 用户➡️业务服务器➡️数据库存储➡️数仓统计分析➡️数据可视化 数据仓库处理流程&#xff1a;数据源➡️加工数据➡️统计筛选数据➡️分析数据 数据库不是为了数据仓库服务的&#xff0c;需要…

【牛客】VL63 并串转换

题目 描述 题目描述&#xff1a; 设计一个模块进行并串转换&#xff0c;要求每四位d输为转到一位dout输出&#xff0c;输出valid_in表示此时的输入有效 信号示意图&#xff1a; clk为时钟 rst为低电平复位 valid_in 表示输入有效 d 信号输入 dout 信号输出 波形示意图&…

TypeError: the JSON object must be str, bytes or bytearray, not dict

参考文章&#xff1a;https://blog.csdn.net/yuan2019035055/article/details/124934362 Python基础系列&#xff08;一&#xff09;搞懂json数据解析与字典之间的关系 代码&#xff1a; 报错信息: TypeError: the JSON object must be str, bytes or bytearray, not dict …

光伏并网逆变器低电压穿越控制Simulink模型!

适用平台&#xff1a;MatlabSimulink 简介 当电网突发跌落故障时&#xff0c;电网电压降低会使并网电流增大、母线电压升高。当跌落程度较轻时&#xff0c;并网电流仍在逆变器安全运行的范围内&#xff1b;但跌落程度较深时&#xff0c;会引发逆变器过流和母线过压等问题&…

CommandLineRunner的使用

背景 在项目启动时需要做一些数据预加载或者某些操作&#xff0c;需要怎么办呢&#xff0c;方法其实有好几种&#xff0c;这里主要讲一下SpringBoot提供的CommandLineRunner接口的使用。一、案例说明以及实现 1.实现CommandLineRunner接口 定义一个类实现CommandLineRunner接…

在 Linux 上用 zram 替代传统交换空间 | Linux 中国

我在我的电脑上花了很多时间&#xff08;我是说工作&#xff09;&#xff0c;我发现了很多有趣的东西。其中最近引起我注意的是 zram0 设备。我是在几个月前写一篇文章时第一次注意到它&#xff0c;它显示在 lsblk 命令的输出中&#xff1a; # lsblk NAME MAJ:MIN RM…

Mybatis-Plus介绍

目录 一、Mybatis-Plus简介 1.1、介绍 1.2、特性 1.3、架构 1.4、Mybatis-Plus与Mybatis的区别 二、快速入门 2.1、首先创建数据库mybatis-plus 2.2、创建user表 2.3、插入数据 2.4、创建Spring-Boot项目 2.5、添加依赖 2.6、连接数据库 一、Mybatis-Plus简介 1.1、…

内网穿透的应用-如何修改Nginx服务location代理转发规则结合cpolar实现无公网ip环境访问内网站点

文章目录 1. 下载windows版Nginx2. 配置Nginx3. 测试局域网访问4. cpolar内网穿透5. 测试公网访问6. 配置固定二级子域名7. 测试访问公网固定二级子域名 1. 下载windows版Nginx 进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx 下载好后解压进入nginx目…

北京大学发布,将试错引入大模型代理学习!

引言&#xff1a;探索语言智能的新边界 在人工智能的发展历程中&#xff0c;语言智能始终是一个核心的研究领域。随着大语言模型&#xff08;LLM&#xff09;的兴起&#xff0c;我们对语言智能的理解和应用已经迈入了一个新的阶段。这些模型不仅能够理解和生成自然语言&#x…

什么是杠杆?WeTrade众汇这样举例,大家都明白

杠杆是投资交易者一定要知道的一个金融术语。那么什么是杠杆呢?下面WeTrade众汇就用苹果进行举例&#xff0c;大家就都会明白&#xff0c;原来如此简单。 发挥我们投资者的想象&#xff0c;我们现在要进行一场苹果的买卖&#xff0c;能够赚钱的本质就是高买低卖&#xff0c;所…

快速搭建Vue前端框架

快速搭建Vue前端框架 安装Vue Vue官方安装过程:https://cli.vuejs.org/zh/guide/installation.html 二.创建Vue工程 2.2 安装淘宝镜像 安装淘宝镜像&#xff08;会让你安装Vue的速度加快&#xff09;&#xff1a; npm config set registry https://registry.npm.taobao.or…

Java进阶(锁)——锁的升级,synchronized与lock锁区别

目录 引出Java中锁升级synchronized与lock锁区别 缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Java进阶&#xff08;锁&#xff09;——锁的升级&#xff0c;synchronized与lock锁区别 Java中锁升级 看一段代码&#xff1a; public class…

IDE插件-通义灵码-用AI写代码

安装tongyi插件 右边就出现这个插件了&#xff0c;用支付宝账号登录成功后就出现一个AI机器人了 选中代码右键就能看到他的常规功能 提问模式 智能代码联想&#xff0c;根据你上一句代码&#xff0c;点回车&#xff0c;等一会&#xff0c;自动给你下语句想要的代码&#xff0c;…