需要订阅 JoVE 才能查看此. 登录或开始免费试用。
Method Article
我们提出了一种灵活、可扩展的基于 Jupyter 实验室的工作流程,用于复杂多组学数据集的无监督分析,该工作流程结合了不同的预处理步骤、多组学因子分析模型的估计和多种下游分析。
疾病机制通常很复杂,并受几个不同分子过程的相互作用控制。复杂的多维数据集是生成对这些过程的更多见解的宝贵资源,但此类数据集的分析可能具有挑战性,因为例如,来自不同疾病状况、时间点和组学以不同分辨率捕获该过程的高维结果。
在这里,我们展示了一种以无监督方式分析和探索如此复杂的多组学数据集的方法,方法是将多组学因子分析 (MOFA) 应用于从捕获急性和慢性冠状动脉综合征免疫反应的血液样本生成的数据集。该数据集由不同分辨率的几种分析组成,包括样本水平的细胞因子数据、血浆蛋白质组学和中性粒细胞引物 seq 以及单细胞 RNA-seq (scRNA-seq) 数据。通过测量每个患者和几个患者亚组的几个不同时间点,进一步增加了复杂性。
分析工作流程概述了如何分几个步骤整合和分析数据:(1) 数据预处理和协调,(2) MOFA 模型的估计,(3) 下游分析。步骤 1 概述了如何处理不同数据类型的特征,过滤掉低质量的特征,并对其进行归一化以协调其分布以供进一步分析。第 2 步展示了如何应用 MOFA 模型并探索数据集中所有组学和特征的主要方差来源。第 3 步提出了几种用于捕获模式下游分析的策略,将它们与疾病状况和控制这些条件的潜在分子过程联系起来。
总体而言,我们提出了一种对复杂的多组学数据集进行无监督数据探索的工作流程,以能够识别由不同分子特征组成的主要变异轴,这些变异轴也可以应用于其他环境和多组学数据集(包括示例性用例中介绍的其他分析)。
疾病机制通常很复杂,并受几个不同分子过程的相互作用控制。破译导致特定疾病或控制疾病演变的复杂分子机制是一项具有高度医学相关性的任务,因为它可能会为理解和治疗疾病提供新的见解。
最近的技术进步能够同时在更高分辨率(例如,在单细胞水平上)和各种生物层(例如,DNA、mRNA、染色质可及性、DNA 甲基化、蛋白质组学)上测量这些过程。这导致大型多维生物数据集的生成越来越多,可以对其进行联合分析以生成对基本过程的更多见解。与此同时,以具有生物学意义的方式组合和分析不同的数据源仍然是一项具有挑战性的任务1。
不同组学之间的不同技术限制、噪音和变异范围构成了一个挑战。例如,单细胞 RNA 测序 (scRNA-seq) 数据非常稀疏,并且经常受到大型技术或批次效应的影响。此外,特征空间通常非常大,范围涵盖数千个测量基因或蛋白质,而样本量有限。复杂的设计使情况更加复杂,其中可能包括多种疾病状况、混杂因素、时间点和分辨率。例如,在所展示的用例中,在单单元或样本(批量)级别上提供了不同的数据类型。除此之外,数据可能不完整,并且并非所有测量结果都适用于所有分析对象。
由于这些挑战,不同的组学和包含的特征通常仍然只单独分析2,即使执行综合分析不仅可以提供完整的过程图,而且来自一个组学的生物学和技术噪音也可能被其他组学补偿 3,4。已经提出了几种不同的方法来对多组学数据进行综合分析,包括贝叶斯方法、基于网络的方法 5,6、多模态深度学习7 和通过矩阵分解的降维方法 8,9。对于后者,一项大型基准研究10 的结果表明,当数据应与临床注释相关联时,MOFA9(多组学因子分析)方法是更适合的工具之一。
特别是在复杂的环境中,无监督矩阵分解方法是降低复杂性并从不同数据源和特征中提取共享和互补信号的有用方法。通过将复杂空间分解为较低等级的潜在表示,可以快速探索数据中方差的主要来源并将其与已知的协变量相关联。如果多个特征(例如,基因或蛋白质)共享相同的变异模式,则可能会将其聚合为几个因子,同时降低噪声。正则化可用于增加模型系数的稀疏性,这使得该方法非常适合于特征空间较大而样本数量有限9 的设置。
该协议提供了一个灵活的分析工作流程,该工作流程使用 MOFA 模型来展示如何快速探索复杂的多组学数据集并提取表征该数据集的主要变化模式。该工作流包括三个主要步骤。在第一步,数据预处理和协调中,提出了基于不同输入数据类型(scRNA-seq、蛋白质组学、细胞因子、临床数据)的数据预处理的不同策略。该协议详细说明了如何处理不同输入数据集的特征,过滤掉低质量的特征,并对其进行归一化以协调它们的分布。我们还展示了这些预处理决策如何影响下游结果。在第二步中,将 MOFA 模型应用于数据,所得的方差分解可用于评估不同数据集的整合。第三步演示如何将捕获的因子与协变量联系起来,并揭示定义这些因子的分子程序。通过提出的工作流程,我们能够在冠状动脉综合征患者数据集中提取与临床协变量相关的几个潜在因素,并从以前的项目11 中确定潜在的潜在多细胞免疫程序。我们将在这里使用这个数据集,但该协议可以很容易地应用于其他环境,包括其他组学。
该数据集包括来自稳定期慢性冠脉综合征 (CCS)、急性冠脉综合征 (ACS) 和冠状动脉健康对照组(非 CCS)的样本(图 1)。ACS 是由先前存在的 CCS 中的斑块破裂引起的,导致流向心肌的血流急性中断,随后导致心脏缺血性损伤。这种损伤会引起免疫系统的炎症反应,然后是修复期,一直持续到急性事件发生后的几天12。为了能够描述 ACS 患者的这种免疫反应,在四个不同的时间点采集了血样:急性 (TP1);再通后 (14 [± 8] h) (TP2);60 [± 12] 小时后 (TP3);出院前(6.5 [±1.5] 天)(TP4)(图 1A)。对于 CCS 和健康冠状动脉患者,只有一个时间点可用 - (TP0)。对于所有患者和时间点,根据血样测量不同的检测方法:炎症的临床标志物 (肌酸激酶 (CK)、CK-MB、肌钙蛋白、C 反应蛋白 (CRP))、外周血单核细胞 (PBMC) 的 scRNA-seq、细胞因子分析、血浆蛋白质组学和中性粒细胞的 prime-seq13 数据。
图 1:心肌梗死多组学输入数据集。 输入数据集:分析的数据包括急性冠脉综合征 (ACS)、慢性冠脉综合征 (CCS) 患者 (n = 62) 和健康冠状动脉 (non-CCS) 患者的血液样本。对于 ACS 患者,包括 4 个不同时间点 (TP1-4) 的血样,CCS 和非 CCS 患者的血样在单个时间点 (TP0)。在分析中,每个患者和时间点组合都被视为单独的样本。对样本测量不同的组学检测:临床血液检测 (n = 125)、scRNA-seq (n = 121)、血浆蛋白质组学 (n = 119)、细胞因子检测 (n = 127) 和中性粒细胞引物测序 (n = 121)。随后,应用所描述的方案来整合所有组学的数据,并使用 MOFA 模型和进一步的下游分析 (因子分析、途径富集) 对其进行探索。 请单击此处查看此图的较大版本。
作为此处介绍的工作流程的输入,我们在使用 cellranger 和质量控制 (QC) 处理后从 scRNA-seq 数据中提取原始计数,例如,如 scanpy14 预处理教程中所述。对于单元类型注释,我们使用了自动化的 Azimuth15 管道。然后,通过对每个样本和细胞类型的所有细胞进行平均值(伪批量聚合),在样本水平上聚合每种细胞类型的计数。血浆蛋白质组学包括归一化和以中位数为中心的强度,对于中性粒细胞,我们从 prime-seq 中获取 umi 唯一分子标识符 (UMI) 外显子计数。关于细胞因子和临床值,之前没有应用任何预处理。有关(实验)数据生成的更多细节,请参见相应的手稿11。由于此处提供的结果基于对 scRNA-seq 数据中的细胞类型使用自动 Azimuth 注释,与参考出版物中使用的基于标记的策略相比,此处提供的结果与出版物中提供的结果相似但不完全相同。在手稿中可以表明,细胞类型注释策略不会改变分析的主要模式和生物学解释,但模型导致的确切值的微小变化可能会有所不同。总体而言,输入数据是一个复杂的多维数据集,包括 10,000 多个不同特征(基因、蛋白质、临床值)的不同时间点和测量水平(单细胞与大量)。严格的预处理和数据协调策略,然后进行 MOFA 分析已被证明是探索数据和提取相关免疫程序的有用且快速的工具。在 MOFA 分析中,每个时间点和患者组合都被视为独立样本。在 MOFA 分析中,每种数据类型和单元格类型都被视为一个单独的视图。
此协议提供了为工作流准备输入数据、执行不同的工作流步骤、自定义配置、解释结果数字以及根据解释迭代调整配置的说明。技术工作流程概述概述了协议的不同步骤、每步所需的输入数据集以及生成的图形和数据集(图 2)。
图 2:技术工作流程概述。 多组学数据集分析的工作流程概述。不同的元素由不同的颜色和符号突出显示。属于 Data Preprocessing and Harmonization (1) 步骤的 Jupyter Notebook 以蓝色显示。属于“MOFA 模型”(2) 步骤的 Jupyter Notebook 以橙色显示。属于“Downstream Analysis”(下游分析) (3) 步骤的 Jupyter Notebook 以绿色显示。一个用于比较结果的 Jupyter Notebook 为黄色。可以修改工作流执行参数的配置文件以紫色突出显示。运行工作流所需的输入数据集由数据集符号指示,并以灰色突出显示。在工作流执行期间生成的所有图窗输出都由放大镜符号指示。工作流程执行期间生成的数据集表示为表。通常,工作流程是按顺序执行的:(1) 数据预处理和协调包括两个步骤:首先基于 scRNA-seq 输入数据 (01_Prepare_Pseudobulk) 生成伪批量表,随后将此数据与所有其他样本级(批量)输入 (02_Integrate_and_Normalize_Data) 一起集成和标准化。在此步骤中,通过配置文件,可以为每个数据集单独配置应应用哪些指示的预处理和规范化步骤(例如,样本过滤器)。(2) “MOFA 模型”:使用配置文件中指定的配置在第一步生成的输入上运行 MOFA 模型 (03_MOFA_configs.csv) (3) “下游分析”:由三个不同的笔记本组成,它们可以彼此独立运行,以生成对生成的 MOFA 结果的见解,并将它们与通过“样本元Data.csv”文件作为输入提供的样本元数据(协变量)相关联。(4) “模型比较”:是一个单独的小步骤,可用于比较步骤 2 中生成的不同模型。 请单击此处查看此图的较大版本。
该工作流由多个用 R 和 Python 编写的 Jupyter Notebook 组成(运行工作流不需要 R 和 Python 语言知识,但在出现错误时可能会有所帮助)。在协议的各个步骤中,参数通过配置文件(名称中包含后缀 '_Configs' 的 '.csv' 文件)进行更改。在协议中,我们只概述了从默认配置开始需要更改的参数。
还可以更改其他几个参数,例如自定义预处理。这些文件 'Documentation_Config_Parameter' 中提供了这些参数和解释的文档,该文件包含在下载的存储库中。
1. 准备工作:技术设置和安装
注意:要运行此程序,请在设备上预装 wget、git 和 Apptainer。在不同系统(Linux、Windows、Mac)上安装 Apptainer 的指南如下:https://apptainer.org/docs/admin/main/installation.html。有关 git 的安装信息,请访问:https://git-scm.com/book/en/v2/Getting-Started-Installing-Git。根据不同输入数据集的大小,建议在合适的计算机(16 个 CPU,64GB 内存)上运行工作流。可以使用提供的示例数据在本地计算机上执行冒烟测试。补充文件 1 中给出了对示例数据运行协议的说明和预期输出。有关在上述数据集上执行的协议的重要步骤,请参阅 补充视频文件 1 。
2. 初始化和数据准备
图 3:数据输入和设置。 为了执行工作流,所有数据都需要存储在指定的 input_data 文件夹中。对于每个输入数据集,应提供一个单独的文件。单细胞数据应以 .h5ad 的形式给出,其中包含cluster_id上的细胞注释(例如,来自先前的细胞类型注释步骤的结果)和sample_id列(唯一标识应分析的每个单独样本)。所有其他输入数据集应以 “.csv” 格式给出,包括一列指定sample_id(与单细胞数据的相应列匹配)和所有其他列中要用于 MOFA 分析的特征。 请单击此处查看此图的较大版本。
图 4:Jupyter-lab 配置文件。 在工作流执行期间,参数的更改(例如,调整过滤选项等)是通过“.csv”配置文件指定的。在克隆的存储库中,包含每个步骤的默认配置文件。可以直接在 jupyter-lab 控制台中编辑它们,就像在电子表格中一样。 请单击此处查看此图的较大版本。
图 5:Jupyter-notebooks 脚本。 完整的工作流由一系列 Jupyter 笔记本组成,这些笔记本将在修改相应的配置文件后按顺序执行。双击左侧的 Jupyter 笔记本,相应的文件将在右侧打开。文件的完整执行可以通过顶部突出显示的按钮开始。 请单击此处查看此图的较大版本。
3. 数据预处理和协调
图 6:数据预处理和协调。 '01_Prepare_Pseudobulk' 步骤的一个输出是图 'Fig01_Amount_of_Cells_Overview'。在这里,对于每个cluster_id(y 轴表示先前细胞类型注释步骤中的细胞类型),给出了每个样本的细胞数 ('sample_id')。在呈现的结果中,每个样品中细胞数量较少的细胞类型被排除在后续分析之外(由删除线表示)。 请单击此处查看此图的较大版本。
4. 运行 MOFA
5. 下游分析
6. 比较不同的配置和版本(补充图 1、补充图 2、补充图 3、补充图 4)
7. 扩展工作流:添加其他参数和配置
注意:除了当前可在配置文件中配置的参数外,还可能包括代码中的其他调整或其他参数。例如,MOFA 模型本身提供了几个其他训练参数17 ,这些参数可以直接在代码中修改,也可以通过配置文件进行调整。该协议的下一部分将概述如何为其他 MOFA 模型训练参数执行此操作的示例。对于这部分,需要 R 编程知识。
成功执行工作流后,将生成多个表格和数字,如图 2 所示。图表放置在 /figures 文件夹中(图 6、 图 7、 图 8、 补充图 1、 补充图 2、 补充图 3、 补充图 4),表格将放置在指定的 /results 文件夹中。
通过概述的协议,提出了一个模块化且可扩展的基于 Jupyter 笔记本的工作流程,可用于快速探索复杂的多组学数据集。工作流程的主要部分包括预处理和数据协调部分(为数据过滤和标准化提供不同的标准步骤)、MOFA9 模型的估计和一些示例性的下游分析。主要的关键步骤之一是预处理、整合和协调不同的组学数据集。在这里,我们提出了一种数据集策...
作者声明没有利益冲突。
C.L. 得到了亥姆霍兹协会在联合研究学院“慕尼黑数据科学学院 - MUDS”下的支持。
Name | Company | Catalog Number | Comments |
Apptainer | NA | NA | https://apptainer.org/docs/admin/main/installation.html |
Compute server or workstation or cloud (Linux, Mac or Windows environment). Depending on the size of the different input datasets we recommend running the workflow on a suitable machine (in our setting we use: 16 CPU, 64GB Memory) | Any manufacturer | 16 CPU, 64GB Memory | Large Memory is only required for the processing of the raw single cell data. After preprocessing the later analysis steps can also be performed on regular desktop or laptop computers |
git | NA | NA | https://git-scm.com/book/en/v2/Getting-Started-Installing-Git |
GitHub | GitHub | NA | https://github.com/heiniglab/mofa_workflow |
请求许可使用此 JoVE 文章的文本或图形
请求许可This article has been published
Video Coming Soon
版权所属 © 2025 MyJoVE 公司版权所有,本公司不涉及任何医疗业务和医疗服务。