
-
生物通官微
陪你抓住生命科技
跳动的脉搏
AxioParse:简化Axiom Microbiome检测数据的处理及数据集生成流程
《BioTechniques》:AxioParse: streamlining Axiom Microbiome assay data processing and dataset generation
【字体: 大 中 小 】 时间:2026年03月24日 来源:BioTechniques 2.5
编辑推荐:
AxioParse是专为Axiom微生物组阵列设计的开源Python数据处理工具,通过Dagster框架实现自动化数据清洗、分类更新和格式转换,兼容QIIME2和R工具,提升分析效率与可重复性。
Applied Biosystems的Axiom微生物组阵列能够高效地检测多个样本中的细菌、古菌、病毒、原生动物和真菌。然而,其原生软件的输出格式与常见的下游分析工具不兼容,因此需要进行预处理。我们发现缺乏针对这些输出格式的开源处理流程。为了解决这个问题,我们开发了AxioParse,这是一个基于Python的流程,使用Dagster编排框架构建,可以自动化数据清洗、分类映射和格式化,以便进行下游分析。AxioParse减少了手动处理的工作量,并生成了与QIIME2和R等平台兼容的数据集,从而提高了可重复性,促进了Axiom微生物组阵列在微生物组研究中的更广泛使用(https://github.com/Eghtesady-Lab-Bioinformatics/axioparse)。
Axiom微生物组阵列能够检测多个样本中的多种微生物类群,但其原生输出格式在用于R或QIIME2等平台进行分析之前需要大量的数据整理工作。我们开发了AxioParse,这是一个Python流程,可以自动化数据清洗、分类更新和格式化,以适应下游工具的需求。该流程具有可定制性,并在GitHub上提供了文档和示例数据集。
AxioParse是一个开源的Python流程,使用Dagster构建,可以自动化Axiom微生物组阵列输出数据的导入和处理。该流程将探针级别的MiDAS数据整合为物种级别的表格,使用NCBI Entrez更新分类信息,并导出格式化后的数据集以供下游分析使用。
微生物组研究对于理解人体内微生物群落的组成、功能和动态变得越来越重要。有多种方法可以研究微生物组,每种方法在分辨率、速度、成本、特异性、偏差和体内应用方面都有各自的优缺点[引用1]。基于微阵列的方法是一种经济高效、快速的方法,可以检测到各种生物(细菌、病毒、原生动物、真菌和古菌),并且实验室操作相对简单[引用2]。其主要缺点是仅能检测存在与否的数据,并且只能识别预设列表中的生物[引用2]。ThermoFisher的Applied Biosystems Axiom微生物组阵列是一种高通量方法,可以识别超过12,000个物种[引用3]。微阵列数据以CEL文件的形式提供,用户需要使用Axiom微生物检测分析软件(MiDAS)[引用3]进行解析。MiDAS会进行简单的分析,最终将数据格式化为表格,其中每个样本对应一行,每个探针对应一列[引用3]。然而,对这些数据的深入分析必须依赖于复杂且容易出错的数据整理过程。如果在这个过程中出现错误,后续的统计分析和可视化结果可能会不准确。
MiDAS的输出表格存在四个主要问题。首先,用户需要在DNA和RNA芯片上同时运行样本,因此数据集中每个样本有两个列——一个用于DNA结果,另一个用于RNA结果。用户需要手动将这两个列合并成一个新列,以表示单个样本中检测到的所有物种。其次,MiDAS输出的表格中行代表的是探针,而不是物种。单个探针的信息在与其所属的属、种和其他分类信息关联之前没有科学意义。此外,多个探针通常对应同一个物种,这意味着用户需要手动将每个探针与其所属物种关联起来,并将这些信息合并到同一行中。第三,Axiom提供的用于将探针与其分类信息关联的物种覆盖阵列已经过时(缓存于2014年10月),并且信息不完整。该阵列仅包含探针名称、物种、科、域和NCBI BioProject信息。这个表格缺少重要的系统发育信息,如属、目、纲和界,而且许多行数据不完整(例如,某些行显示为“0”而不是实际物种名称),或者格式异常。这要求用户手动填补信息空白,同时也限制了用户在不同系统发育层次上进行分析的能力。最后,提供的数据集不符合QIIME2或流行的R软件包的格式要求。这些系统通常需要特定的数据格式,用户需要花费大量时间学习这些格式并转换数据。
据我们所知,AxioParse是唯一一个针对Axiom微生物组阵列的开源数据整理流程。它以预配置、用户友好、可视化且易于定制的方式解决了上述问题。除非用户希望进行自定义,否则不需要任何技术知识。AxioParse是用Python和Dagster构建的,采用有向无环图(DAG)架构,确保了模块化、易于定制和可重复性[引用4]。这种格式允许用户通过本地托管的图形用户界面可视化流程,并进行最小程度的Python编程调整[引用4]。此外,Dagster还支持高级用户在云端或远程机器上部署和执行流程[引用4]。AxioParse流程包含二十个步骤,分为四个类别:读取数据、清洗操作分类单元(OTU)表格、清洗分类表格和输出数据。AxioParse的工作流程如图所示。
该流程需要三个输入文件:otu表格、物种覆盖阵列和样本元数据。otu表格和物种覆盖阵列应按照从midas和thermofisher系统下载时的格式上传。元数据文件应格式化为每行对应一个样本,并包含“sample_id”(研究组设计的唯一样本标识符)和“array_id”(axiom系统中使用的唯一样本标识符)列。axioparse的github仓库中提供了样本输入文件和输入文件格式的说明。流程的下一阶段通过八个dagster组件清洗和格式化otu表格。首先,将otu表格中的axiom阵列标识符替换为元数据文件中的相应样本id,以确保数据集的一致性(步骤o.1,
分类表格的构建分为四个关键步骤。首先,流程过滤物种覆盖数据,仅保留与otu表格中存在的探针相关的物种,删除无关条目,并重新格式化表格,仅保留域、科和种列(步骤t.1,
原始的三个文件会被转换为六个新的文件。otu表格、分类表格和元数据表格各有两个版本,每个版本都与qiime2或r包microbiomestat兼容[引用5]。与microbiomestat包兼容的文件可以轻松转换为其他流行微生物组分析r包所需的格式。在本地工作站(apple m1,8gb ram)上进行测试时,该流程处理90个样本的数据集(otu表格中有180列)和10,000个检测到的探针,大约需要30分钟。虽然速度受硬件影响,但步骤t.2是主要的瓶颈,因为api查询之间有0.1秒的延迟,这是为了符合entrez api的规定。在这些条件下,运行时间与检测到的探针数量成线性关系。
axioparse是用python 3.9.19和dagster 1.8.1版本编写的。代码编写清晰,注释解释了每个组件的功能。安装和设置说明位于github仓库和补充文件1中。具体组件的功能详情可以在代码中的函数标题或dagster图形用户界面中找到。示例数据包含在仓库中,样本输出在补充文件2中。可以通过终端完成设置,dagster流程可以在用户的本地服务器上启动。
微生物组研究不断揭示微生物群落与人类健康之间的新关系。微生物组研究的数据量庞大,因此需要一致、高效且用户友好的数据整理流程。axioparse通过提供一个简化、可重复且易于非专业人士使用的流程,解决了axiom微生物组阵列数据分析中的关键问题,该流程能够为常见的微生物组分析平台格式化数据。axioparse结合了dna和rna探针数据;将探针级别的分析转换为物种级别的分析;更新、扩展和清洗提供的分类信息;最终生成与流行统计分析工具包直接兼容的数据集。通过确保数据一致性、减少用户错误并提供全面的系统发育数据,axioparse提高了下游微生物组分析的效率和可靠性。
本文的同行审稿人没有需要披露的相关财务或其他关系。
本文介绍的流程及样本数据可在github上获取(https://github.com/eghtesady-lab-bioinformatics/axioparse)。