文献阅读:tidyomics 生态系统:增强组学数据分析
文献介绍
文献题目: The tidyomics ecosystem: enhancing omic data analyses
研究团队: Stefano Mangiola(澳大利亚沃尔特和伊丽莎·霍尔医学研究所)、Michael I. Love(美国北卡罗来纳大学教堂山分校)、Anthony T. Papenfuss(澳大利亚沃尔特和伊丽莎·霍尔医学研究所)
发表时间: 2024-06-14
发表期刊: Nature Methods
影响因子: 36.1
DOI: 10.1038/s41592-024-02299-2
摘要
组学数据的增长给数据操作、分析和整合带来了不断变化的挑战。为了应对这些挑战,Bioconductor 提供了一个广泛的社区驱动的生物数据分析平台。同时,tidy R 编程提供了革命性的数据组织和操作标准。在这里,作者展示了 tidyomics 软件生态系统,将 Bioconductor 与 tidy R 范式连接起来。该生态系统旨在简化组学分析、简化学习并鼓励跨学科合作。作者通过分析人类细胞图谱中的 750 万个外周血单核细胞,涵盖六个数据框架和十个分析工具,证明了 tidyomics 的有效性。
前言
基因组学、表观基因组学、转录组学、空间分析和多组学的高通量技术彻底改变了生物医学研究,为数据操作、探索、分析、整合和解释带来了机遇和挑战。为了应对这些挑战,科学界开发了用于数据组织和专门操作的面向对象框架。
为了应对软件领域的复杂性,Bioconductor 已成为用于组学数据分析的首要 R 软件存储库和平台。Bioconductor 为数据处理工作流程和统计分析提供国际标准化和互操作性。凭借广泛的注释资源和链接元数据的标准化数据格式,Bioconductor 促进了可重复性和社区驱动的开源开发。
最近,tidy R 范式和 tidyverse 软件生态系统通过优先考虑直观的数据表示和操作而不是复杂的数据结构和语法,改变了基于 R 的数据科学。该范式使用表格来表示数据,将变量作为列,将观察结果作为行。它通过使用标准化和自然语言词汇的管道中连接的操作来简化数据操作。tidyverse 的组件被列为最常下载的 R 包,并在全球数据科学和生物信息学项目中广泛教授。
Bioconductor 在很大程度上仍然独立于 tidyverse 生态系统。通过提供标准数据格式和分析的 tidy 接口,在这两个生态系统之间架起一座桥梁,将使研究人员能够将注意力从技术挑战转移到生物学问题。此外,利用数据科学教育标准将降低分析不同组学数据的进入门槛。
研究结果
1. tidyomics 生态系统概览
在这篇 Brief Communication 中,作者介绍了 tidyomics,这是一个可互操作的软件生态系统,它将 Bioconductor 和其他组学分析框架(例如 Seurat)与 tidyverse 连接起来。该生态系统可以通过 Bioconductor 中提供的单个 meta-package 进行安装。tidyomics 包括三个新软件包:tidySummarizedExperiment、tidySingleCellExperiment、tidySpatialExperiment,以及五个公开可用的 R 软件包:plyranges、nullranges、tidyseurat、tidybulk、tidytof。重要的是,虽然 tidyomics 以整齐的格式表示组学数据(Fig. 1a),但它保持原始数据容器和方法不变,确保与现有软件的兼容性、可维护性和长期 Bioconductor 支持。
a. 数据接口图显示了不同数据容器的一致数据表示。六边形图标代表每个数据容器的兼容 R 包。
b. R/Bioconductor 中丰富数据对象的景观,以 tidyomics 动词作为连接这些对象的路径。数据容器由圆角矩形和将它们连接为白框的函数表示。SPE, SpatialExperiment; SCE, SingleCellExperiment; SE, SummarizedExperiment。
c. 左:简洁的 tidy 语法与复杂的结果和输入数据容器之间的对比。右图:示例工作流程包括数据、生物分析、数据/结果操作和总结、不同的数据结构、可视化和结果图。粉色区域包括跨组学共享语法的基础设施。
d. tidyomics 社区的参与是多方面的,以一套专为简化数据分析而定制的 R 包为中心。
在 Bioconductor 中,GenomicRanges 将基因组特征组织为行中的范围(例如,基因、外显子、单核苷酸多态性 (SNP) 和 CpGs),并与列中的变量(例如,范围宽度)链接(如 BED 格式)。plyranges 将 dplyr 动词扩展到 GenomicRanges 对象,促进范围整合、重叠分析、汇总和可视化。plyranges 与 nullranges 交互以匹配或 bootstrapping 范围以执行重叠富集分析。
在 Bioconductor 中,SummarizedExperiment 和 SingleCellExperiment 将转录丰度组织为与 metadata 链接的特征/基因样本矩阵。tidyomics 通过提供一个表格界面来概括变量的概念,其中观察值(例如,gene-sample pair)作为行,变量(例如,abundance 和 metadata)作为列。这种方法可以使用 tidyverse 进行复杂的过滤、汇总、分析和可视化。tidybulk 为 bulk 和 pseudobulk 数据提供了整洁且模块化的分析管道。
Bioconductor 的 flowCore 软件包将来自质量、流式和基于序列的细胞计数的数据组织在逐个特征矩阵中,并促进数据操作。tidytof 将 flowCore 与 tidyverse、tidySingleCellExperiment 和 tidySummarizedExperiment 连接起来。
Bioconductor 的 SpatialExperiment 组织来自基于细胞或像素的技术的数据,例如 10x Genomics Xenium、CosMX、Mibi 和 MERSCOPE。tidySpatialExperiment 为具有空间坐标的数据提供了一个 tidy 接口,并提供了专门的操作,例如基于几何和手绘形状的门控。
tidyomics 是一个统一且可互操作的组学技术软件生态系统,涵盖多个组学分析框架。通过转换和连接操作,功能网络连接所有数据容器(Fig. 1b)。这种统一的方法有助于无缝容器切换,减少对由特定领域语法创建的特定框架的依赖,并有效地增加所用工具的范围(Fig. 1c)。
2. tidyomics 生态系统的表现
为了证明 tidyomics 的实用性和可扩展性,作者测试了 750 万个血细胞的外周免疫系统的性别转录组差异。作者的生态系统无缝地连接了六个数据和分析框架(Fig. 2a),展示了一致使用 tidy R 语法而不是混合 base R、DuckDB、Seurat、SingleCellExperiment、SummarizedExperiment、DGEList、GenomicRanges 语法的好处。预处理后,作者使用多级差异表达模型测试了 26 种免疫细胞类型的 15,494 个 pseudobulk 样本(Fig. 2b)。作者发现 T CD4 naive cells、T effectors cells、B memory cells 在性别之间变化最大(Fig. 2c)。大多数与性别相关的转录变化(不包括性染色体)是细胞类型特异性的,而不是共享的(false discovery rate (FDR) <0.05)(Fig. 2d)。作者测试了对 CD4 naive cells 中的性别或其与年龄相互作用具有显着影响 (FDR<0.05) 的基因与三种免疫细胞相关和性别偏见疾病的全基因组关联研究 (GWAS) SNPs 的接近程度:硬化症、类风湿性关节炎和系统性红斑狼疮(Fig. 2e)。作者发现九个基因与这些疾病相关的 SNPs 重叠或接近(IL2RA、CD40、KCP 与两种或多种疾病相关)。很大一部分性别相关基因(41%)定义了不同的免疫衰老轨迹(Fig. 2f)。
a. tidyomics 支持大规模跨框架分析。logos 代表数据和分析框架。连接线代表管道,按对象类型着色。平行线代表并行工作流程。
b. Pseudosample UMAP,按细胞类型着色。NK, natural killer。
c. 按性别从最大到最小变化的细胞类型排名,按 b 着色。
d. 性别影响或其与年龄相互作用的前九种细胞类型之间存在大量基因重叠。
e. CD4 naive cells 中的性别相关基因与多发性硬化症、类风湿性关节炎和系统性红斑狼疮的 GWAS SNPs 的重叠。MS,多发性硬化症;RA,类风湿性关节炎;SLE,系统性红斑狼疮。
f. 与年龄无关的性别效应或性别-年龄相互作用的显着(FDR <0.05)基因的分数。箱线图中心线代表中值,上下铰链代表第一和第三四分位数。下须线从下铰链延伸至四分位距或最低值的 1.5 倍。上须线从上铰链延伸至四分位距或最高值的 1.5 倍。
g. 标准编程和 tidyverse 编程之间的代码可读性比较。展示的两项任务是可视化基因组距离直方图(左)和根据单细胞数据计算多基因特征(右)。
h. tidyomics 生态系统与标准(non-tidy)编程相比的变量、代码行和时间效率的基准测试。这些操作包括每个包的常见操作和分析 (Methods)。
此分析表明 tidyomics 允许跨不同数据源重新利用代码。例如,可以使用模块化、一致的语法组装成紧凑且清晰的管道来执行基因组和转录组数据的复杂操作和可视化(Fig. 2g)。与标准对应物相比,更少的中间变量和代码行提高了易读性和编程简单性,同时不会产生重大的执行时间开销(Fig. 2h)。Tidy R 支持函数式编程(例如,向量化而不是 for 循环),这有助于避免变量更新引起的错误,尤其是在交互式编程中。
讨论
作者专门的开发者社区采用的 Bioconductor 编程标准和贡献指南为生态系统的长期可维护性奠定了坚实的基础(Fig. 1d)。这个生态系统将会不断发展,包括具有兼容目标和来自 Bioconductor 和 CRAN 标准的 R 包。虽然 tidyomics 目前专注于简化和协调,但新颖的分析和操作工具也是其目标之一。
tidyverse 和 Bioconductor 生态系统正在改变基于 R 的数据科学和生物数据分析。tidyomics 弥合了这些生态系统之间的差距,使分析师能够在组学分析中利用 tidy 数据原则的力量。这种整合促进了跨学科合作,减少了新用户的进入障碍,并增强了代码的可读性、可重复性和透明度。适用于生物软件的 tidy 标准创建了一个可扩展的开发生态系统,独立研究人员可以在其中与新软件交互。最终,由新的、公开可用的 R 包组成的 tidyomics 生态系统有可能大大加速科学发现。
注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。
本文由 mdnice 多平台发布
相关文章:
文献阅读:tidyomics 生态系统:增强组学数据分析
文献介绍 文献题目: The tidyomics ecosystem: enhancing omic data analyses 研究团队: Stefano Mangiola(澳大利亚沃尔特和伊丽莎霍尔医学研究所)、Michael I. Love(美国北卡罗来纳大学教堂山分校)、Ant…...
MySQL运维实战之Clone插件(10.1)使用Clone插件
作者:俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表,clone得到的是原数据库的一个一致性的快照,可以使用该快照数据来启动新的实例。cl…...
【系统架构设计】数据库系统(三)
数据库系统(三) 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...
免费视频批量横版转竖版
简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具,提供高效便捷的视频批量横转竖,主要功能: 导入与删除文件:轻松导入多个视频文件,删除不必要的文件。暂停与继续处理:随时暂停和继续处理。…...
内存管理(知识点)
c语言与c对于内存管理的区别 c语言中动态内存管理方式 malloc\calloc\realloc\free c内存管理方式 c兼容c语言所以c语言中的方式也可以使用 但是用起来太麻烦 所以通过new和delete操作符竞选动态内存管理 单个对象 c语言: int* p2(int*)malloc(sizeof(int)) c : int*p3 new…...
【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel
持续学习&持续更新中… 守破离 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【29】Sentinel 简介熔断降级什么是熔断什么是降级相同点不同点 整合Sentinel自定义sentinel流控返回数据使用Sentinel来保护feign远程调用自定义资源给网关整合Sentinel参考 简介 熔断降…...
防范UDP Flood攻击的策略与实践
UDP Flood攻击是一种常见的分布式拒绝服务(DDoS)攻击手段,通过向目标服务器发送大量无效的UDP数据包,消耗其网络带宽和处理资源,最终导致合法的网络服务无法正常运行。本文将深入探讨UDP Flood攻击的原理、常见的防御策…...
昇思25天学习打卡营第17天 | CycleGAN图像风格迁移互换
通过深入学习CycleGAN模型,我对无监督图像到图像的转换技术有了更深的理解。CycleGAN不仅能在没有成对训练样本的情况下实现域之间的转换,而且在保持内容结构的同时成功转换图像风格,这在许多应用中都非常有用,如艺术风格转换、季…...
Leetcode 2520. 统计能整除数字的位数
问题描述: 给你一个整数 num ,返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 ,则认为整数 val 可以整除 nums 。 示例 1: 输入:num 7 输出:1 解释:7 被自己整除࿰…...
WEB前端08-综合案例(动态表格)
使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中,我们将创建一个动态表格,允许用户添加行、选择项目,并执行批量操作,如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…...
【面试题】Redo log和Undo log
Redo log 介绍Redo log之前我们需要了解一下,mysql数据操作的流程: 上述就是数据操作的流程图,可以发现sql语句并不是直接操作的磁盘而是通过操作内存,然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域: 缓…...
开发实战经验分享:互联网医院系统源码与在线问诊APP搭建
作为一名软件开发者,笔者有幸参与了多个互联网医院系统的开发项目,并在此过程中积累了丰富的实战经验。本文将结合我的开发经验,分享互联网医院系统源码的设计与在线问诊APP的搭建过程。 一、需求分析 在开发任何系统之前,首先要…...
springboot系列教程(十六):配置Actuator组件,实现系统监控
一、Actuator简介 1、监控组件作用 在生产环境中,需要实时或定期监控服务的可用性。Spring Boot的actuator(健康监控)功能提供了很多监控所需的接口,可以对应用系统进行配置查看、相关功能统计等。 2、监控分类 Actuator 提供…...
单臂路由组网实验,单臂路由的定义、适用情况、作用
一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…...
【数据结构初阶】顺序表三道经典算法题(详解+图例)
Hello!很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束,Show Time! 1、…...
SpringBoot接入JPA连接数据库H2或MySQL例子
一,JPA相关的常用注解和对象 Entity,用于实体类声明语句之前,指出该Java类为实体类,将映射到指定的数据库表;Table,当实体类与其映射的数据库表名不同名时需要使用。该标注与Entity标注并列使用&…...
持续集成05--Gogs的安装与使用
前言 在持续集成/持续部署(CI/CD)的旅程中,版本控制系统是不可或缺的一环。当我们在使用jenkins,想要达到测试脚本有更新,就让项目自动去进行构建,或者当开发脚本有更新,也可以自动去构建的效果…...
C++--fill
把[first,last)之间的元素填充为val。 template<class ForwardIterator, class Type> void fill( ForwardIterator first, //起始迭代器 ForwardIterator last, //结束迭代器 const Type& val //设置的值 );源码剖析 template<class ForwardIterator, c…...
Java:对比一个对象更新前后具体被修改了哪些值
Java:对比一个对象更新前后具体被修改了哪些值 Zyyyyu 的个人博客 遇到一个需求就是要记录每行数据被修改更新后,要记录下当前值和修改前的值 那有人就会说写个if去判断值是否被修改了,然后记录下来不就行了,这是一个思路&#x…...
GO——GMP 好文整理
GMP相关好文推荐: Golang 调度器设计思想、GMP 协程调度模型详解 Golang的协程调度器原理及GMP设计思想 Golang调度器GMP原理与调度全分析...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
MinIO Docker 部署:仅开放一个端口
MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...
ubuntu22.04有线网络无法连接,图标也没了
今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
云原生时代的系统设计:架构转型的战略支点
📝个人主页🌹:一ge科研小菜鸡-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、云原生的崛起:技术趋势与现实需求的交汇 随着企业业务的互联网化、全球化、智能化持续加深,传统的 I…...
