当前位置: 首页 > 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原理与调度全分析...

园区AR导航系统构建详解:从三维地图构建到AR融合导航的实现

随着现代园区规模的不断扩大与功能的日益复杂&#xff0c;传统的二维地图导航已难以满足访客高效、精准定位的需求。园区内部错综复杂的布局、频繁变更的商户位置常常让访客感到迷茫&#xff0c;造成寻路上的时间浪费。园区AR导航系统以创新的技术手段&#xff0c;破解了私域地…...

接口测试总结(非标准)

为什么要做接口测试&#xff1f; 答&#xff1a;接口测试是为了检测系统组件间接口的正确性和稳定性&#xff0c;以及检查数据的交换、传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。接口测试可以帮助我们发现系统中的潜在问题&#xff0c;确保系统的稳定性…...

在Ubuntu 18.04上安装和使用Composer的方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 介绍 Composer 是一个流行的 PHP 依赖管理工具&#xff0c;主要用于简化项目依赖项的安装和更新。它会检查特定项目依赖的其他软件包&a…...

ssm 学习 ---(spring)

一、spring框架 1、基本框架 2、Beanfactory快速入门 配置清单&#xff1a;xml文件 (1) 导入jar包或者maven坐标 (2) 定义UserService接口以及UserService实现类 (3) 创建bean.xml配置文件&#xff0c;将UserService信息配置到该xml文件中; (4)编写测试代码&#xff0c;创…...

Jupyter Notebook安装及基本使用

Jupyter Notebook安装及基本使用 目录 Jupyter Notebook安装及基本使用方式一&#xff1a;Anaconda直接安装方式二&#xff1a;pip命令安装Jupyter使用虚拟环境 方式一&#xff1a;Anaconda直接安装 安装Anaconda 下载地址&#xff0c;输入邮箱&#xff0c;Windows下载 开始安…...

Jenkins+Maven+Gitlab+Tomcat自动化构建打包+部署

目录 环境准备 导入项目包 配置jenkins 构建项目 配置项目上线 修改项目代码测试 环境准备 本实操项目环境基于https://blog.csdn.net/Lzcsfg/article/details/140359830 首先在node01主机中操作&#xff0c;本次操作需要java8的版本&#xff0c;将之前安装的java17卸…...

Synchronized升级到重量级锁会发生什么?

我们从网上看到很多&#xff0c;升级到重量锁的时候不会降级&#xff0c;再来线程都是重量级锁 今天我们来实验一把真的是这样的吗 1.首选导入Java对象内存布局的工具库&#xff1a; <dependency><groupId>org.openjdk.jol</groupId><artifactId>jol-…...

【Webpack】HMR 热更新

HMR全称Hot Module Replacement&#xff0c;可以理解为模块热替换&#xff0c;指在应用程序运行过程中&#xff0c;替换、添加、删除模块&#xff0c;而无需重新刷新整个应用。 不使用热更新&#xff0c;我们在应用运行过程中修改了某个模块&#xff0c;通过自动刷新会导致整个…...

【计算机视觉】siamfc论文复现

什么是目标跟踪 使用视频序列第一帧的图像(包括bounding box的位置)&#xff0c;来找出目标出现在后序帧位置的一种方法。 什么是孪生网络结构 孪生网络结构其思想是将一个训练样本(已知类别)和一个测试样本(未知类别)输入到两个CNN(这两个CNN往往是权值共享的)中&#xff0…...

PotatoTool 蓝队版 V1.3 发布:增强功能和性能优化

一、简介 经过广大网友的反馈和建议&#xff0c;我们对V1.1版本中存在的问题进行了优化。其中&#xff0c;我们针对MD5库进行了本地化处理&#xff0c;以提高查询效率。然而&#xff0c;这也导致了软件体积的飙升。二、优化概述 1、兼容性 兼容arm架构系统 2、UI 2.1 界面…...

上海高端品牌网站建设/如何弄一个自己的网站

这是我之前项目同学遇到的一个问题&#xff0c;现实代码比较复杂&#xff0c;现在我将尽可能简单的描述这个问题&#xff0c;并且内容重心会放在探索为什么会出现这样的情况以及后续监控。一、问题的起源先看一个非常简单的model类Boy:publicclass Boy {publicString boyName;p…...

怎么做网站空间/市场调研分析报告

不能用技术的角度去分析事务 SONY的PSP&#xff0c;我们知道大多数都是黑色的。但也有其它颜色&#xff0c;不过价格就要比黑色贵很多。其实从技术的角度来说&#xff0c;东西都是一样的&#xff0c;人家换了一个颜色的壳子&#xff0c;就要比黑色壳子多卖200元左右&#xff0c…...

wordpress最好的免费主题2018/怎样制作网站

本文主要介绍了 IBM UDDI 的安全选项配置以及对应的 UDDI V3 API 的使用。深入剖析了 IBM UDDI 中的 UDDI Publishers, APIs 等高级选项的配置。在文章中&#xff0c;作者给出了使用 UDDI V3 API 与用户个性化安全选项配置协同工作的代码片段。对于不同厂商的 UDDI 产品对 UDDI…...

wordpress 繁体转简/怎么做网站宣传

1、什么是Nginx Nginx是一个高性能的反向代理服务器&#xff0c;他是一个非常高效的反向代理、负载平衡&#xff0c;他可以处理2-3万并发连接数&#xff0c;官方监测能支持5万并发 2、为什么要用Nginx 跨平台、配置简单、方向代理、高并发连接&#xff1a;处理2-3万并发连接…...

怎么弄网站/广告营销公司

org.hibernate.cfg.Configuration实例代表了应用程序到SQL数据库的映射配置&#xff0c; Configuration对象提供了一个buildSessionFactory方法&#xff0c;该方法可以产生一个不可变的SessionFactory对象。 也可以直接实例化Configuration来获取一个实例&#xff0c;并为它指…...

网站建设需要什么教材/千锋教育官方网

预加载图片是提高用户体验的一个很好方法。图片预先加载到浏览器中&#xff0c;访问者便可顺利地在你的网站上冲浪&#xff0c;并享受到极快的加载速度。这对图片画廊及图片占据很大比例的网站来说十分有利&#xff0c;它保证了图片快速、无缝地发布&#xff0c;也可帮助用户在…...