前情提要

  • NBT:QIIME 2可重复、交互和扩展的微生物组数据分析平台

  • 1简介和安装Introduction&Install

  • 2插件工作流程概述Workflow

  • 3老司机上路指南Experienced

  • 4人体各部位微生物组分析Moving Pictures

  • Genome Biology:人体各部位微生物组时间序列分析

  • 5粪菌移植分析练习FMT

  • Microbiome:粪菌移植改善自闭症

  • 6沙漠土壤分析Atacama soil

  • mSystems:干旱对土壤微生物组的影响

  • 7帕金森小鼠教程Parkinson’s Mouse

  • Cell:肠道菌群促进帕金森发生ParkinsonDisease

  • 8差异丰度分析gneiss

  • 9数据导入Importing data

  • 10数据导出Exporting data

  • 11元数据Metadata

  • 12数据筛选Filtering data

  • 13训练特征分类器Training feature classifiers

  • 14数据评估和质控Evaluating and controlling

  • 15样品分类和回归q2-sample-classifier

  • 16纵向和成对样本比较q2-longitudinal

  • 17鉴定和过滤嵌合体序列q2-vsearch

  • 18序列双端合并read-joining

  • 19使用q2-vsearch聚类OTUs

Python命令行模式

Artifact API

https://docs.qiime2.org/2019.7/interfaces/artifact-api/

注:本指南假定您已执行“4人体各部位微生物组分析Moving Pictures ”教程中的步骤。在此使用该教程中生成的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框架的一部分;无需安装其他软件即可使用它。

现在,我们将探索“4人体各部位微生物组分析Moving Pictures”教程中介绍的相同方法和可视化工具,这次使用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

虽然我们建议直接使用QIIME 2 Artifacts,但是可以在一个或多个兼容视图(Python对象/数据结构或文件格式)中访问基础数据。 例如,您可能要访问刚刚作为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

使用pandas.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
...

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.methods.alpha(table=rarefied_table, metric='observed_otus')
>>> 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)

Reference

https://docs.qiime2.org/2019.7

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. doi:10.1038/s41587-019-0209-9

译者简介

刘永鑫,博士。2008年毕业于东北农大微生物学,2014年于中科院遗传发育所获生物信息学博士,2016年博士后出站留所工作,任宏基因组学实验室工程师。目前主要研究方向为宏基因组数据分析和植物微生物组,QIIME 2项目参与人。目前在Science、Nature Biotechnology等杂志发表论文十余篇。2017年7月创办“宏基因组”公众号,目前分享宏基因组、扩增子原创文章400余篇,代表博文有《扩增子图表解读、分析流程和统计绘图三部曲(21篇)》、《Nature综述:手把手教你分析菌群数据(1.8万字)》、《QIIME2中文教程(18篇)》等,关注人数6.5万+,累计阅读1000万+。

猜你喜欢

10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑

系列教程:微生物组入门 Biostar 微生物组  宏基因组

专业技能:学术图表 高分文章 生信宝典 不可或缺的人

一文读懂:宏基因组 寄生虫益处 进化树

必备技能:提问 搜索  Endnote

文献阅读 热心肠 SemanticScholar Geenmedical

扩增子分析:图表解读 分析流程 统计绘图

16S功能预测   PICRUSt  FAPROTAX  Bugbase Tax4Fun

在线工具:16S预测培养基 生信绘图

科研经验:云笔记  云协作 公众号

编程模板: Shell  R Perl

生物科普:  肠道细菌 人体上的生命 生命大跃进  细胞暗战 人体奥秘

写在后面

为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外5000+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。PI请明示身份,另有海内外微生物相关PI群供大佬合作交流。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍未解决群内讨论,问题不私聊,帮助同行。

学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”

点击阅读原文,跳转最新文章目录阅读

QIIME 2用户文档. 22Python命令行模式(2019.7)相关推荐

  1. QIIME 2教程. 24Python命令行模式Artifact API(2021.2)

    Python命令行模式 Artifact API https://docs.qiime2.org/2021.2/interfaces/artifact-api/ 注:本指南假定您已执行"4人 ...

  2. QIIME 2教程. 24Python命令行模式Artifact API(2020.11)

    文章目录 Python命令行模式 译者简介 Reference 猜你喜欢 写在后面 Python命令行模式 Artifact API https://docs.qiime2.org/2020.11/i ...

  3. QIIME 2用户文档. 1简介和安装(2019.7)

    写在前面 QIIME是微生物组领域最广泛使用的分析流程,9年来引用量超1.6万次,2019年Nature杂志评为近70年来人体菌群研究的25个里程碑事件.为满足当前大数据.可重复分析的需求,北亚利桑那 ...

  4. 如何在Terminal命令行模式下运行Objective-C

    一般Objective-C的代码都在Xcode中调试,今天实验了下如何在命令行模式下运行,还是比较简单的,记录分享一下. File: xxd.h #include <Foundation/Fou ...

  5. 13分页和shell命令行模式

    技术交流QQ群:1027579432,欢迎你的加入! 本教程来源于B站杨仕航Django2.0开发视频教程,如需转载,必须注明来源! 1.为什么先讲分页功能 2.快速添加新的博客 shell命令行模式 ...

  6. linux命令行模式连接网络,centos命令行模式连接无线网络的过程

    1. 首先, 你的系统要能驱动无限网卡, 要是人品好的话, 系统已经自带了你的网卡的驱动程序. 不然就要先搞定无线网卡的驱动再说. 不然后面的步骤也就没必要了. 2. 看一下你的无线网卡叫什么: iw ...

  7. mysql创建用户phpmyadmin_MySQL添加新用户和数据库(命令行模式和phpmyadmin)

    MYSQL添加新用户和数据库(命令行模式和phpmyadmin) 一.命令行模式 首先要声明一下:一般情况下,修改MySQL密码,授权,是需要有mysql里的root权限的. 注:本操作是在WIN命令 ...

  8. mysql 命令行访问_Mysql 命令行模式访问操作mysql数据库操作

    使用环境 在cmd模式下输入 mysql --version (查看mysql安装的版本). 完整的命令可以通过mysql --help来获取. 本测试使用的Mysql版本是mysql5, 本测试使用 ...

  9. Redhat 图形模式与命令行模式的切换

    在图形界面-- ctrl + alt + f1   到命令行模式 换回来用   ctrl + alt + f7   到图形模式 以ROOT权限登录,     打开   /etc/inittab   文 ...

最新文章

  1. java程序设计_Java程序设计:学习笔记(4-5)(未完工)
  2. Hadoop MapReduce工作详细流程(Partitioner/SortComparator/GroupingComparator)
  3. PMP之路 – 第2天 (做模拟题)
  4. 计算机控制直流电机闭环调速实验,最小拍控制系统及直流电机闭环调速控制系统设计和实现实验报告...
  5. Linux上新建用户及赋权操作
  6. 2015年中国钢铁企业排名50强名单
  7. 联机装箱问题 java_Java实现 洛谷 P1049 装箱问题
  8. ubuntu16.04 64bit 安装 ida
  9. Python 实现多元线性回归预测
  10. android初始化框架alpha,Android Chart 框架 MPAndroidChart 学习笔记1_框架初始化
  11. Java 邮政EMS快递面打印实现 笔记
  12. linux 查看CPU使用率
  13. 小米台灯、小米插线板 接入Home Assistant平台 让天猫精灵音箱控制
  14. helm模板开发-流程控制、作用域、循环
  15. ubuntu开机停留在(initramfs)页面
  16. MYSQL索引原理,优化SQL
  17. 智能移动机器人--科研项目汇总
  18. 一眼“看穿破绽”,3D视觉成锂电池“智造”降本增效利器
  19. Python抓取糗事百科成人版图片
  20. [战术] 1.20-1.21时代魔兽各族战术总结(写的肤浅,仅供参考)

热门文章

  1. 关于分库分表,这有一套大而全的轻量级架构设计思路
  2. 微博广告分布式配置中心的构建与实践
  3. 5G最完整的PPT,朋友圈超火
  4. 程序员被质疑跳槽频繁不稳定,随后的一番话令HR哑口无言!
  5. 美团面试失败(Java开发)
  6. 7个实战案例、24个学习视频、12G干货资料...今天带你免费入门Python数据分析!...
  7. sql 去除字段前后空格
  8. word技巧 输入方框中带对勾的符号的快捷方式
  9. 25 navigator对象
  10. 17Mediator(中介者)模式