分享

QIIME 2教程. 22Python命令行模式Artifact API(2024.2)

 宏基因组 2024-04-27 发布于北京

Python命令行模式Artifact API

Artifact API (using QIIME 2 with Python)

https://docs./2024.2/interfaces/artifact-api/

https://www.bilibili.com/video/BV1x1421R773/

注:本指南假定您已执行“04人体微生物组分析Moving Pictures”教程中的步骤。在此使用该教程中生成的table.qza table.qzasample-metadata.tsv 文件。

Artifact API是QIIME 2的Python 3应用程序程序员接口(API)。Artifact API支持使用Python 3编程语言与QIIME 2进行交互式计算。该API供高级/技术用户使用。该API是自动生成的,其可用性取决于当前安装的QIIME 2插件。它已针对Jupyter Notebook 中的使用进行了优化,Jupyter Notebook目前是我们使用此API的主要目标。Artifact API是QIIME 2框架的一部分;无需安装其他软件即可使用它。

使用 Python 运行 QIIME 2

现在,我们将探索4人体各部位微生物组分析Moving Pictures tutorial 教程中介绍的相同方法和可视化工具,这次使用Python解释器而不是命令行界面。首先,我们将加载QIIME 2  Artifact,在本例中为功能表。然后,我们将其传递给 q2-feature-table插件的rarefy方法,该方法将返回新的对象。

>>> from qiime2.plugins import feature_table
>>> from qiime2 import Artifact
>>> unrarefied_table = Artifact.load('table.qza')
>>> rarefy_result = feature_table.methods.rarefy(table=unrarefied_table, sampling_depth=100)
>>> rarefied_table = rarefy_result.rarefied_table

与其他 Python 库的互操作性

虽然我们建议直接使用QIIME 2 Artifacts,但是可以在一个或多个兼容视图(Python对象/数据结构或文件格式)中访问基础数据。例如,您可能要访问刚刚作为pd.DataFrame 对象创建的稀疏功能表。您可以按照以下步骤进行操作:

 >>> import pandas as pd
>>> df = rarefied_table.view(pd.DataFrame)
>>> df.head()
b32621bcd86cb99e846d8f6fee7c9ab8 99647b51f775c8ddde8ed36a7d60dbcd \
L1S105 25.0 0.0
L1S140 31.0 0.0
L1S208 27.0 0.0
L1S257 29.0 0.0
L1S281 23.0 0.0
...

您还可以将工件的数据作为对象查看:biom.Table

>>> import biom
>>> biom_table = rarefied_table.view(biom.Table)
>>> print(biom_table.head())
# Constructed from biom file
#OTU ID L1S105 L1S140 L1S208 L1S257 L1S281
b32621bcd86cb99e846d8f6fee7c9ab8 25.0 31.0 27.0 29.0 23.0
99647b51f775c8ddde8ed36a7d60dbcd 0.0 0.0 0.0 0.0 0.0
d599ebe277afb0dfd4ad3c2176afc50e 0.0 0.0 0.0 0.0 0.0
51121722488d0c3da1388d1b117cd239 0.0 0.0 0.0 0.0 0.0
1016319c25196d73bdb3096d86a9df2f 11.0 17.0 12.0 4.0 2.0

QIIME 2的强大功能是,您可以从QIIME对象导出查看不同类型,如下所示,然后对结果数据类型进行操作,然后将这些数据导入QIIME。如果查看的数据类型上有一些可用的操作(例如pandas.DataFrame)无法通过QIIME API使用,则此功能非常有用。一个重要的警告是,您将在此过程中失去所有对象的出处,因为QIIME无法跟踪QIIME之外的数据发生了什么。您可以将 pandas.DataFrame重新导入到新的QIIME对象中,如下所示:

imported_artifact = Artifact.import_data("FeatureTable[Frequency]", df)

可以将稀疏表rarefied_table对象传递给其他QIIME 2插件的方法。在这里,我们将使用q2-diversity 插件计算Observed OTU的Alpha多样性指标。生成的对象将为·SampleData [AlphaDiversity]·类型,我们可以访问pd.Series作为该对象的查看器。

>>> from qiime2.plugins import diversity
>>> alpha_result = diversity.pipelines.alpha(table=rarefied_table, metric='observed_features')
>>> alpha_diversity = alpha_result.alpha_diversity
>>> alpha_diversity.view(pd.Series)
L1S105 24
L1S140 19
L1S208 25
L1S257 30
L1S281 29
L1S57 23
L1S76 20
L1S8 17

最后,我们可以将对象保存为.qza文件,并按如下所示退出解释器:

>>> rarefied_table.save('rare.qza')
'rare.qza'
>>> alpha_diversity.save('oo.qza')
'oo.qza'
>>> exit

组合接口

QIIME 2的另一个强大功能是可以组合接口。例如,您可以开发一个Python脚本来像我们刚才那样自动处理文件以生成结果,然后使用命令行界面或QIIME 2 Studio对这些文件进行分析。例如,您现在可以继续分析并在命令行上查看一些结果,如下所示:

qiime diversity alpha-group-significance --i-alpha-diversity oo.qza --m-metadata-file sample-metadata.tsv  --o-visualization oo-group-significance.qzv

作为API调用的上述命令是:

>>> from qiime2 import Metadata
>>> metadata = Metadata.load('sample-metadata.tsv')
>>> group_significance = diversity.actions.alpha_group_significance(alpha_diversity=alpha_diversity, metadata=metadata)

译者简介

刘永鑫,研究员,博士生导师。2014年博士毕业于中国科学院大学生物信息学专业,之后在中国科学院遗传与发育生物学研究所工作历任博士后、工程师、高级工程师,2022年10月加入中国农业科学院深圳农业基因组研究所担任课题组长。研究方向为宏基因组方法开发、功能挖掘和科学传播。参与QIIME 2项目,主导开发了易扩增子(EasyAmplicon)、易宏基因组(EasyMetagenome)、培养组(Culturome)分析流程、数据分析网站(EVenn、ImageGP) 和R包(amplicon、ggClusterNet)等,目标是全面打造宏基因组领域方法学基础设施,推动微生物组学发展。以(共同)第一或通讯作者在Nature Biotechnology、Nature Microbiology、iMeta等期刊发表论文30余篇。合作在Science、Cell Host & Microbe、Microbiome等期刊发表论文20余篇,累计发表论文50余篇,被引用17000+次。主编《微生物组实验手册》专著,由300多位同行参与,共同打造本领域长期更新的中文百科全书。创办宏基因组公众号,16万+同行关注,分享原创文章3千余篇,累计阅读量超4千万,打造本领域最具影响力的科学传播平台。发起《iMeta》期刊,联合全球千位专家共同打造宏基因组学、微生物组和生物信息学顶刊,解决我国本领域期刊出版卡脖子问题。课题组长期招聘博士后、客座研究生,有兴趣可加微信yongxinliu详谈。

杨海飞,青岛农业大学,生物信息学硕士在读,基因组所刘永鑫组客座硕士。负责本次版本的更新和测试。

Reference

https://docs./2024.2/

Evan Bolyen, Jai Ram Rideout, Matthew R. Dillon, Nicholas A. Bokulich, Christian C. Abnet, Gabriel A. Al-Ghalith, Harriet Alexander, Eric J. Alm, Manimozhiyan Arumugam, Francesco Asnicar, Yang Bai, Jordan E. Bisanz, Kyle Bittinger, Asker Brejnrod, Colin J. Brislawn, C. Titus Brown, Benjamin J. Callahan, Andrés Mauricio Caraballo-Rodríguez, John Chase, Emily K. Cope, Ricardo Da Silva, Christian Diener, Pieter C. Dorrestein, Gavin M. Douglas, Daniel M. Durall, Claire Duvallet, Christian F. Edwardson, Madeleine Ernst, Mehrbod Estaki, Jennifer Fouquier, Julia M. Gauglitz, Sean M. Gibbons, Deanna L. Gibson, Antonio Gonzalez, Kestrel Gorlick, Jiarong Guo, Benjamin Hillmann, Susan Holmes, Hannes Holste, Curtis Huttenhower, Gavin A. Huttley, Stefan Janssen, Alan K. Jarmusch, Lingjing Jiang, Benjamin D. Kaehler, Kyo Bin Kang, Christopher R. Keefe, Paul Keim, Scott T. Kelley, Dan Knights, Irina Koester, Tomasz Kosciolek, Jorden Kreps, Morgan G. I. Langille, Joslynn Lee, Ruth Ley, Yong-Xin Liu, Erikka Loftfield, Catherine Lozupone, Massoud Maher, Clarisse Marotz, Bryan D. Martin, Daniel McDonald, Lauren J. McIver, Alexey V. Melnik, Jessica L. Metcalf, Sydney C. Morgan, Jamie T. Morton, Ahmad Turan Naimey, Jose A. Navas-Molina, Louis Felix Nothias, Stephanie B. Orchanian, Talima Pearson, Samuel L. Peoples, Daniel Petras, Mary Lai Preuss, Elmar Pruesse, Lasse Buur Rasmussen, Adam Rivers, Michael S. Robeson, Patrick Rosenthal, Nicola Segata, Michael Shaffer, Arron Shiffer, Rashmi Sinha, Se Jin Song, John R. Spear, Austin D. Swafford, Luke R. Thompson, Pedro J. Torres, Pauline Trinh, Anupriya Tripathi, Peter J. Turnbaugh, Sabah Ul-Hasan, Justin J. J. van der Hooft, Fernando Vargas, Yoshiki Vázquez-Baeza, Emily Vogtmann, Max von Hippel, William Walters, Yunhu Wan, Mingxun Wang, Jonathan Warren, Kyle C. Weber, Charles H. D. Williamson, Amy D. Willis, Zhenjiang Zech Xu, Jesse R. Zaneveld, Yilong Zhang, Qiyun Zhu, Rob Knight & J. Gregory Caporaso#. Reproducible, interactive, scalable and extensible microbiome data science using QIIME 2. Nature Biotechnology. 2019, 37: 852-857. https:///10.1038/s41587-019-0209-9

宏基因组推荐

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多