当前位置: 首页 > news >正文

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍

alt

文献题目: 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 支持。

Fig. 1 tidyomics 生态系统概览
Fig. 1 tidyomics 生态系统概览

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)。

Fig. 2 tidyomics 生态系统的表现
Fig. 2 tidyomics 生态系统的表现

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 生态系统有可能大大加速科学发现。


--------------- 结束 ---------------

注:本文为个人学习笔记,仅供大家参考学习,不得用于任何商业目的。如有侵权,请联系作者删除。

alt

本文由 mdnice 多平台发布

相关文章:

文献阅读:tidyomics 生态系统:增强组学数据分析

文献介绍 文献题目&#xff1a; The tidyomics ecosystem: enhancing omic data analyses 研究团队&#xff1a; Stefano Mangiola&#xff08;澳大利亚沃尔特和伊丽莎霍尔医学研究所&#xff09;、Michael I. Love&#xff08;美国北卡罗来纳大学教堂山分校&#xff09;、Ant…...

MySQL运维实战之Clone插件(10.1)使用Clone插件

作者&#xff1a;俊达 clone插件介绍 mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表&#xff0c;clone得到的是原数据库的一个一致性的快照&#xff0c;可以使用该快照数据来启动新的实例。cl…...

【系统架构设计】数据库系统(三)

数据库系统&#xff08;三&#xff09; 数据库模式与范式数据库设计备份与恢复分布式数据库系统分布式数据库的概念特点分类目标 分布式数据库的架构分布式数据库系统与并行数据库系统 数据仓库数据挖掘NoSQL大数据 数据库模式与范式 数据库设计 备份与恢复 分布式数据库系统…...

免费视频批量横版转竖版

简介 视频处理器 v1.3 是一款由是貔貅呀开发的视频编辑和处理工具&#xff0c;提供高效便捷的视频批量横转竖&#xff0c;主要功能&#xff1a; 导入与删除文件&#xff1a;轻松导入多个视频文件&#xff0c;删除不必要的文件。暂停与继续处理&#xff1a;随时暂停和继续处理。…...

内存管理(知识点)

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攻击是一种常见的分布式拒绝服务&#xff08;DDoS&#xff09;攻击手段&#xff0c;通过向目标服务器发送大量无效的UDP数据包&#xff0c;消耗其网络带宽和处理资源&#xff0c;最终导致合法的网络服务无法正常运行。本文将深入探讨UDP Flood攻击的原理、常见的防御策…...

昇思25天学习打卡营第17天 | CycleGAN图像风格迁移互换

通过深入学习CycleGAN模型&#xff0c;我对无监督图像到图像的转换技术有了更深的理解。CycleGAN不仅能在没有成对训练样本的情况下实现域之间的转换&#xff0c;而且在保持内容结构的同时成功转换图像风格&#xff0c;这在许多应用中都非常有用&#xff0c;如艺术风格转换、季…...

Leetcode 2520. 统计能整除数字的位数

问题描述&#xff1a; 给你一个整数 num &#xff0c;返回 num 中能整除 num 的数位的数目。 如果满足 nums % val 0 &#xff0c;则认为整数 val 可以整除 nums 。 示例 1&#xff1a; 输入&#xff1a;num 7 输出&#xff1a;1 解释&#xff1a;7 被自己整除&#xff0…...

WEB前端08-综合案例(动态表格)

使用 HTML、CSS 和 JavaScript 创建动态表格 在本教程中&#xff0c;我们将创建一个动态表格&#xff0c;允许用户添加行、选择项目&#xff0c;并执行批量操作&#xff0c;如全选或删除选中的行。我们将通过 HTML、CSS 和 JavaScript 来实现这一功能。让我们逐步了解每个部分…...

【面试题】Redo log和Undo log

Redo log 介绍Redo log之前我们需要了解一下&#xff0c;mysql数据操作的流程&#xff1a; 上述就是数据操作的流程图&#xff0c;可以发现sql语句并不是直接操作的磁盘而是通过操作内存&#xff0c;然后进行内存到磁盘的一个同步。这里我们必须要了解一些区域&#xff1a; 缓…...

开发实战经验分享:互联网医院系统源码与在线问诊APP搭建

作为一名软件开发者&#xff0c;笔者有幸参与了多个互联网医院系统的开发项目&#xff0c;并在此过程中积累了丰富的实战经验。本文将结合我的开发经验&#xff0c;分享互联网医院系统源码的设计与在线问诊APP的搭建过程。 一、需求分析 在开发任何系统之前&#xff0c;首先要…...

springboot系列教程(十六):配置Actuator组件,实现系统监控

一、Actuator简介 1、监控组件作用 在生产环境中&#xff0c;需要实时或定期监控服务的可用性。Spring Boot的actuator&#xff08;健康监控&#xff09;功能提供了很多监控所需的接口&#xff0c;可以对应用系统进行配置查看、相关功能统计等。 2、监控分类 Actuator 提供…...

单臂路由组网实验,单臂路由的定义、适用情况、作用

一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…...

【数据结构初阶】顺序表三道经典算法题(详解+图例)

Hello&#xff01;很高兴又见到你了~~~ 看看今天要学点什么来充实大脑吧—— 目录 1、移除元素 【思路图解】 【总结】 2、删除有序数组中的重复项 【思路图解】 【总结】 3、合并两个有序数组 【思路图解】 【总结】 至此结束&#xff0c;Show Time&#xff01; 1、…...

SpringBoot接入JPA连接数据库H2或MySQL例子

一&#xff0c;JPA相关的常用注解和对象 Entity&#xff0c;用于实体类声明语句之前&#xff0c;‌指出该Java类为实体类&#xff0c;‌将映射到指定的数据库表&#xff1b;Table&#xff0c;当实体类与其映射的数据库表名不同名时需要使用。‌该标注与Entity标注并列使用&…...

持续集成05--Gogs的安装与使用

前言 在持续集成/持续部署&#xff08;CI/CD&#xff09;的旅程中&#xff0c;版本控制系统是不可或缺的一环。当我们在使用jenkins&#xff0c;想要达到测试脚本有更新&#xff0c;就让项目自动去进行构建&#xff0c;或者当开发脚本有更新&#xff0c;也可以自动去构建的效果…...

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&#xff1a;对比一个对象更新前后具体被修改了哪些值 Zyyyyu 的个人博客 遇到一个需求就是要记录每行数据被修改更新后&#xff0c;要记录下当前值和修改前的值 那有人就会说写个if去判断值是否被修改了&#xff0c;然后记录下来不就行了&#xff0c;这是一个思路&#x…...

GO——GMP 好文整理

GMP相关好文推荐&#xff1a; Golang 调度器设计思想、GMP 协程调度模型详解 Golang的协程调度器原理及GMP设计思想 Golang调度器GMP原理与调度全分析...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

基于matlab策略迭代和值迭代法的动态规划

经典的基于策略迭代和值迭代法的动态规划matlab代码&#xff0c;实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

Docker 本地安装 mysql 数据库

Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker &#xff1b;并安装。 基础操作不再赘述。 打开 macOS 终端&#xff0c;开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...