我们提出了一种灵活、可扩展的基于 Jupyter 实验室的工作流程,用于复杂多组学数据集的无监督分析,该工作流程结合了不同的预处理步骤、多组学因子分析模型的估计和多种下游分析。
方法文章
我们提出了一种灵活、可扩展的基于 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 文件夹中。
如果工作流执行不成功,这可能主要是由于:例如,由于内存不足(尤其是在加载大型单单元格数据集的第一步)、数据格式不正确(例如,数据集之间的sample_id列不匹配)或配置文件中的规范不正确(例如,排除许多功能)而导致的技术错误。在这种情况下,Jupyter-notebook 脚本中通常会在执行过程中出现错误消息,并且不会生成任何绘图和数据。建议使用脚本执行期间生成的默认配置文件,并且仅修改协议中描述的特定参数。
生成的绘图和表格表示执行成功,每个步骤都会揭示有关数据及其固有的主要方差模式的其他信息。尽管如此,不一定每次执行都会产生生物学上有用和可解释的结果。通常,数据的特点是技术效应大和分布不同,需要在"数据预处理和协调"步骤或"MOFA9 模型"(也允许为输入数据类型指定不同的分布)中考虑,以便能够提取反映潜在生物过程的数据变化。
在所提出的工作流程中,可以使用不同的多组学数据集作为输入。目前,该工作流程接受用于单细胞数据的常用 .h5ad 文件格式和所有其他数据集的非常通用的 .csv 文件格式作为输入(图 3)。不同的组学数据集具有非常不同的文件格式是很常见的。为了不将工作流的执行限制为特定文件格式, .csv 被用作非常通用的格式。因此,各种不同的组学数据集都可以用作工作流程的输入,但需要先转换为相应的 .csv 格式,如图 3 所示,然后才能在此工作流程中使用。这可以使用电子表格或组学特定软件来准备。为了预处理不同的组学数据集,工作流程中提供了几个选项,通过配置 02_Pre_Processing_Configs.csv 和 02_Pre_Processing_Configs_SC.csv 文件,在不同的输入数据集上应用不同的预处理和归一化步骤(例如,文库大小调整、对数转换、样本分位数归一化)(图 2).然而,此处的可用选项主要基于此处提供的数据集(scRNA-seq、细胞因子测定、蛋白质组学、prime-seq)中可用的特定输入数据。如果使用其他组学/数据类型,则可能需要根据现有的最佳实践应用额外的组学特异性标准化步骤。在这种情况下,数据可以以已预处理的形式移交给工作流,并将与其他数据集集成,而无需应用进一步的预处理步骤。在许多情况下,应用 Feature Wise Quantile Normalization 步骤有助于将所有数据类型的分布与正态分布对齐,并使不同输入特征之间的下游分析更具可比性,并与 高斯 噪声的模型规格兼容。
在工作流程执行期间,会生成多个图表和输出,以支持数据集成和后续生物下游解释的过程。对于 scRNA-seq 数据, FIG01_Amount_of_Cells_Overview 中的曲线(图 6)表明哪些细胞类型可能包含每个样品的细胞太少,并且细胞类型无法可靠地测量基因表达信号,因为对于后续分析,每个样品的细胞类型的所有细胞的平均值用作表达估计(psedobulk-方法)。在此用例中,我们排除了大多数样品中细胞数少于 3 个细胞的细胞类型。
FIG03_Overview_Variance_Decomposition方差分解图(图 7,补充图 1)可以指示不同数据源的集成程度,以及不同数据源中有多少方差是共享的,并且对于每个数据源是唯一的。例如,在此处使用的数据集上测试不同的预处理策略表明,例如,从预处理中删除 Feature Wise Quantile 归一化步骤会导致潜在因素更侧重于特定数据视图,并减少蛋白质组学数据与其他数据源的集成。这可以从解释方差的减少量中看出(补充图 1B)。在没有任何特征过滤或没有归一化的情况下运行 MOFA 模型会导致潜在因素捕获的不同视图之间的共享方差减少(补充图 1C)。这表明潜在因素主要反映数据类型特定的技术影响。除此之外,如果数据预处理不当,MOFA9 模型本身也可能返回警告。补充图 1 显示了 MI_v2 和 MI_v3 的替代预处理配置的此类警告的一个示例(具体示例配置文件存储在 config_examples 文件夹中的克隆 GitHub 存储库中)。
此外,在运行 MOFA 模型后,可以通过将因子与有关样本的已知生物学元信息以及技术和其他混杂协变量 (04_Downstream_Factor_Analysis) 相关联,以确定因子捕获的变异的可能原因,从而在几个下游分析中评估结果。例如,如果 MOFA 模型的一个因子与其中一个技术协变量(例如批次信息)密切相关,这可能表明该因子更准确地捕获了数据中的技术变化,而不是生物变化。
为了缩小下游分析部分的生物学解释范围,这里概述了基于输入数据集的几个发现(更精细的解释可以在原始出版物11 中找到)。在第一步中,我们可以观察到,通过应用的预处理策略,我们发现几个因素可以捕获多种细胞类型以及其他组学数据类型的差异(图 7A)。例如,因子 2 捕获了 scRNA-seq 数据集的临床输入特征和几种细胞类型的差异。将前三个因素与相关的临床协变量(如 "CRP" 和 "CK") 相关联(图 7B),并调查不同患者亚组的因子值差异:"对照(包括 CCS 和非 CCS)与在不同时间点测量的 "ACS" (TP1-TP4) (图 7C),我们还发现 Factor2 与 "CK" 值显著相关,因子 3 与 "CRP" 值相关。同时,与"对照"和更晚的时间点样本 (TP3/TP4) 相比,TP1 和 TP2 的"ACS"样本(反映对心肌梗死 (MI) 的免疫反应的急性期)显示出因子值增加。CK 是已知的心肌损伤标志物,通常以 TP1/TP2 值增加为特征,类似于 Factor2 捕获的模式。
为了深入了解塑造因子 2 的生物过程,我们通过查看模型生成的特征权重表 (03_Weight_Data.csv) 来评估因子的排名靠前的特征。分析因子绝对权重最高的前 1% 特征,我们主要发现 CD4。中医和 CD14。与它们的输入特征总数相比,单衍生特征被过度表示(图 8A),表明这些细胞类型在 MI 后的炎症过程中高度相关(注意:如果在预处理中没有应用特征分位数归一化,特征的不同分布也可能影响该结果,评估应按数据类型单独进行)。分析 CD4 的顶级特征。中医细胞类型在因子上,我们发现了几个有趣的基因,如稳健的 T 细胞激活所需的 EIF3E18 和促进 T 细胞扩增和活化的 HMGB119(图 8B)。接下来,我们使用 REACTOME20 数据库中的免疫通路作为通路集 (Prepared_Pathway_Data.csv) 进行通路富集分析。我们发现几种"白细胞介素"通路的富集,包括"白细胞介素-6"信号传导。scRNA-seq 数据的不同细胞类型中几个基因的表达水平和细胞因子测定测量的"IL6"细胞因子值促成了这一结果(图 8C)。跨数据类型识别这些共享模式突出了集成分析的附加价值。总体而言,这种方法还可以识别反映疾病状态或关联治疗结果和潜在多细胞免疫程序的其他几个因素,如相应的出版物11 中更详细地描述的那样。
为了进一步强调跨多个组学进行综合分析的优势,相同的工作流程也仅包括蛋白质组学输入数据(补充图 4)。分析结果因素,我们发现与综合分析类似,一个与 'CRP' 值密切相关的因素 (Factor1)。这种模式描述了蛋白质组学数据中变异的主要来源,并且也与综合分析中"Factor3"捕获的其他数据集中的一些变异一致(图 7C)。然而,不能仅根据蛋白质组学数据来识别 Factor2 所指示的在综合分析中捕捉炎症时间进程的类似模式。
引入的工作流程和 MOFA9 模型本身是高度可定制的,具有许多可调参数。因此,可视化和系统地比较不同配置产生的结果非常重要。为了促进此任务,工作流可以生成的最终输出是将管道的不同命名运行与预处理和模型估计中的不同参数进行比较。例如,MOFA 模型可以用不同数量的潜在因子来估计(补充图 2A),或者可以加权特征数量较少的视图(补充图 3A)。配置和运行工作流 '07_Compare_Models' 的最后一个脚本会生成多个图,以评估不同管道运行之间的相似性。FIG07_Variance_Model_Comparison(补充图 2B、补充图 3B)显示了不同运行的每个视图的总解释方差的比较。不同运行之间的因子值和特征因子权重的相关性可以指示修改某个参数时结果的变化量(补充图 2C,补充图 3C)。在这里,修改因子的数量只会导致估计因子值和特征权重的微小变化(补充图 2C)。修改数据视图的权重会导致特征数量较少的视图中的解释方差要高得多,例如,"临床"视图(补充图 3B)。尽管如此,前三个因素中的相关特征仍然与未加权版本推断的特征高度相关(补充图 3C)。
使用生成的模型输出.csv结果文件夹中的文件(例如,估计因子和特征权重),可以进行进一步的单独下游分析。所有代码和必要的配置文件(包括文档)都可以在 GitHub 上找到,网址为 https://github.com/heiniglab/mofa_workflow。可以从 https://doi.org/10.5281/zenodo.10815146 下载为轻松安装分析所需的 conda 软件包而创建的奇点映像。也可以从同一 zenodo 记录下载可用于执行管道初始测试的小型示例数据集。

图 7:MOFA 输出分析。 在运行 MOFA 模型 (03_Run_MOFA.ipynb) 和因子值的下游分析 (04_Downstream_Factor_Analysis.ipynb) 之后,将生成几个图:(A) FIG03_Overview_Variance_Decomposition:返回不同视图中估计的 MOFA 因子的解释方差的可视化。热图(左):显示每个视图的因子捕获的视图总方差的百分比。条形图(右):显示每个视图的所有因子捕获的方差总百分比。(B) FIG04_Factor_Association_Numerical_Features:显示因子值与所选数值样本协变量的 Pearson 相关性,此处为:临床变量(CRP、CK)。(C) FIG04_Factor_Association_Categorical_Features:以箱线图的形式显示分类样本协变量的因子值差异。在这里,比较了 ACS 和对照患者每个时间点的 Factors1-3 的因子值。 请单击此处查看此图的较大版本。

图 8:MOFA 特征分析。 在运行下游分析(04_Downstream_Factor_Analysis.ipynb、05_Downstream_Investigate_Features.ipynb)后,将生成多个图。此处的所有图都可视化了 MOFA 因子 2:(A) FIG04_Top_Feature_Overview_per_Factor:热图(左)显示每个视图的所选因子捕获的方差百分比。条形图(右)表示不同视图的特征与因子的相关性。在左侧,给出了该因子视图中排名前 1% 的最高特征中特定视图的特征总数。在右侧,给出了百分比,将前 1% 的总数除以该视图的特征总数。(B) FIG05_Heatmap_Feature_Overview:热图(左)显示了 CD4 中排名最高的 1% 的特征。中医细胞分型:将"对照组"患者(CCS 和非 CCS)与"ACS"患者的不同时间点进行比较,每个样本的标准化表达值。条形图(右)显示了特征的权重。权重符号的方向在单元格类型名称之前的左侧指示: '+' 正因子权重;'-' 负因子权重。(C) FIG06_Pathway_and_Genes:显示属于富集白细胞介素通路的因子排名最高的 25% 基因的权重。在顶部的热图中,它们是跨视图的平均值,在底部的热图中,它们按视图显示。 请单击此处查看此图的较大版本。
补充图 1:数据协调效应。 该图显示了几种不同数据预处理配置FIG03_Overview_Variance_Decomposition:不同视图中估计的 MOFA 因子的解释方差的可视化。热图(左):显示每个视图由因子捕获的视图的总方差的百分比。条形图(右):显示每个视图的所有因子捕获的总方差百分比。(A) 配置("MI_v1")所基于的生物下游结果在前面的图中分析(参数设置为克隆存储库中的默认配置文件)。(B) 与"MI_v1"中相同的预处理配置,但修改 后未应用特征分位数归一化 (参数设置与存储库"config_examples"文件夹中的示例配置文件相同)。此配置的 MOFA 模型输出警告的屏幕截图已添加到下图中。(C) 当没有应用预处理步骤 时,产生的方差分解,所有数据都用作输入,而无需对特征进行任何预处理或过滤(参数设置如存储库"config_examples"文件夹中的示例配置文件中所示)。此配置的 MOFA 模型输出警告的屏幕截图已添加到下图中。 请点击此处下载此文件。
补充图 2:MOFA 配置 - 因子数量效应。 '07_Compare_Models.ipynb' 脚本使用几种不同的配置运行 MOFA 模型生成的结果图窗。(A) '03_MOFA_configs.csv':用于运行 '03_Run_MOFA.ipynb' 脚本的不同配置示例,指定几个不同数量的因子 (10,15,20,25)。'07_Comparison_configs.csv':如何为执行脚本 '07_Compare_Models.ipynb' 指定配置输入文件的示例。(B) "FIG07_Variance_Model_Comparison"显示模型中指定的所有因子中不同模型的每个视图(y 轴)的总解释方差。(C) 'FIG07_Factor_Correlations' 显示不同配置之间因子样本值的相关性。 请点击此处下载此文件。
补充图 3:MOFA 配置 - 加权视图的影响。 '07_Compare_Models.ipynb' 脚本使用几种不同的配置运行 MOFA 模型生成的结果图窗。(A) "03_MOFA_configs.csv":用于运行"03_Run_MOFA.ipynb"脚本的不同配置示例,该脚本将"weighting_of_views"参数指定为"TRUE"(MI_v1_MOFA_weighted)或"FALSE"(MI_v1_MOFA)。'07_Comparison_configs.csv':如何为执行脚本 '07_Compare_Models.ipynb' 指定配置输入文件的示例。(B) "FIG07_Variance_Model_Comparison"显示模型中指定的所有因子中不同模型的每个视图(y 轴)的总解释方差。(C) 'FIG07_Feature_Correlations' 显示不同配置之间特征因子权重的相关性。 请点击此处下载此文件。
补充图 4:多组学整合效应 - 仅使用蛋白质组学数据。 仅使用蛋白质组学数据作为输入时,潜在因子捕获的结果模式。(A) FIG04_Factor_Association_Numerical_Features:因子值与临床变量 (CRP、CK) 的 Pearson 相关性。(B) FIG04_Factor_Association_Categorical_Features:ACS 和对照患者每个时间点的因子值的箱线图比较。 请点击此处下载此文件。
补充文件 1:Supplementary_File_
Running_Pipeline_with_Exemplary_Data。 有关如何在示例数据上运行管道和预期输出的描述,在额外提供的补充文件中给出。 请点击此处下载此文件。
补充视频文件 1:协议的屏幕截图视频。请点击此处下载此文件。
通过概述的协议,提出了一个模块化且可扩展的基于 Jupyter 笔记本的工作流程,可用于快速探索复杂的多组学数据集。工作流程的主要部分包括预处理和数据协调部分(为数据过滤和标准化提供不同的标准步骤)、MOFA9 模型的估计和一些示例性的下游分析。主要的关键步骤之一是预处理、整合和协调不同的组学数据集。在这里,我们提出了一种数据集策略,该数据集包括 scRNA-seq 数据、prime-seq 批量 RNA、细胞因子测定、血浆蛋白质组学和临床价值,从而产生了一个集成且统一的数据集,可用于识别 MI11 中的相关生物过程。如果其他组学数据集需要额外的数据预处理策略,则应在 MOFA 分析之前执行这些策略。然后,可以将预处理后的数据用作当前工作流程的输入。该模型的输出可用于评估不同数据集的集成质量和预处理的效果,以确定潜在的技术影响。例如,可以先只应用最少的预处理和规范化步骤,然后评估进一步规范化的效果。在此应用中,观察到添加"特征分位数归一化"会导致蛋白质组学与其余分析更好地整合。
工作流的另一大部分是根据样本级别聚合的数据对 MOFA9 模型进行估计。存在 MOFA 模型的其他扩展,例如
MOFA+21 (专门用于单细胞数据)、MEFISTO22 (专门用于包括时间成分的数据)和 MuVI23 (在因子分析方法中整合领域知识)。这些是该方法对于特定类型的数据集或设置的非常有用的扩展,但应用它们会带来特定要求。例如,在我们的例子中,专门用于单细胞数据 MOFA+21 意味着人们不能轻易利用样本水平的其他可用组学数据。使用 MEFISTO22 方法可以专门模拟时间过程,但它不适用于多个时间点不可用的设置,或者在我们的例子中,将仅在一个时间点进行测量的"控制"样本与"ACS"样本的时间分辨数据相结合。因此,在这个非常通用的工作流程中,我们选择使用 MOFA9 方法,因为它是快速探索各种数据集的最灵活的方法,没有太多要求。值得注意的是,工作流中生成的预处理数据也可以使用这些方法进行分析,或者如果数据集与方法的要求兼容,则可以扩展当前脚本以集成这些方法。有关其他使用案例、教程和文档,请参阅 MOFA 开发人员24 的 GitHub 存储库。
与主成分分析 (PCA) 等更通用的降维方法相比,MOFA9 模型具有多项优势,尤其是在多组学环境中。例如,可以很容易地分析每个输入视图的方差分解,并且可以将权重分配给不同的视图以考虑不同数量的特征。该模型鼓励稀疏性,这增加了结果的可解释性。此外,不需要排除其中一个组学中数据缺失的样本,并且该模型实现了一些特征,以专注于学习稀疏特征因子权重。此外,MOFA 模型还提供了多种设置来整合以不同分布为特征的数据(对 'Gaussian'、'Bernoulli' 或 'Poisson' 似然建模)。在此工作流程中,我们只集成连续数据,并将其标准化以遵循"高斯"分布,但如果需要,也可以扩展现有代码以集成其他数据类型。存在其他基于分解的方法,例如 scITD25,特别是对于 scRNA-seq 数据,但这些方法具有限制,即它们不能与其他组学一起使用。
提出的工作流程显示了一种协议,用于对大型和复杂的多组学数据集进行无监督探索,以识别潜在的生物过程和驱动数据变化的其他特征。它几乎可以应用于任何应调查数据变化(例如,由疾病或其他生物或技术扰动引起)的环境。由此产生的下游分析和特征集驱动了不同组学的差异,可以揭示相关的生物过程,以便在特定背景下进一步研究。例如,在疾病的背景下,它可能有助于识别新的诊断标志物或治疗靶点。
作者声明没有利益冲突。
C.L. 得到了亥姆霍兹协会在联合研究学院"慕尼黑数据科学学院 - MUDS"下的支持。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| Apptainer | NA | NA | https://apptainer.org/docs/admin/main/installation.html |
| 计算服务器或工作站或云 (Linux、Mac 或 Windows 环境). 根据不同输入数据集的大小,我们建议在合适的计算机上运行工作流(在我们的设置中,我们使用:16 个 CPU,64GB 内存) | 任何制造商 | 16 个 CPU、64GB 内存 | 大内存仅用于处理原始单单元格数据。预处理后,还可以在普通台式机或笔记本电脑上执行后续分析步骤 |
| git | NA | NA | https://git-scm.com/book/en/v2/Getting-Started-Installing-Git |
| GitHub | GitHub | NA | https://github.com/heiniglab/mofa_workflow |
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可