正文
扩增子分析QIIME2. 1简介和安装
QIIME2版本 2017.6
声明:本文为QIIME2官方帮助文档的中文版,由中科院遗传发育所刘永鑫博士翻译并亲测有效,文档翻译己获QIIME2团队官方授权。由于QIIME2更新频繁,如使用中遇到问题请访问QIIME2官方论坛阅读最新版中文帮助。
https://forum.qiime2.org/t/qiime2-1-chinese-manual/838
如中文翻译没有急时更新,新阅读英文原版 https://docs.qiime2.org
本人只习惯使用命令行模式分析数据,图形界面和Ipython模式下使用暂不介绍。本系列的教程主要以命令行方式为大家演示。在其它方面有使用的经验的朋友,欢迎共享您的使用笔记发布于“宏基因组”公众号,方便大家学习和使用。
简介
QIIME2是微生物组分析流程QIIME(截止17.7.13被引7771次)的全新版(不是升级版),采用python3全新编写,并于2018年1月全面接档QIIME,是代表末来的分析方法标准(大牛们制定方法标准,我们跟着用就好了)。
优点
更易于安装:曾经QIIME的安装让无数生信人竞折腰,QIIME2引入了Miniconda软件包管理器,没有管理员权限也可以轻松安装;同时发布了docker镜像,下载即可运行;
使用方法多样:支持命令行模式(q2cli),也支持图型用户界面q2studio;还有Python用户喜欢的Artifact API(类似IPython notebook);
分析流程化:分析流程更加标准化,不让用户盲然下面该做什么;
可视化增强:QIIME后发制人,超越引用6964次的mothur流程,就是其可视化方面的优势,现可视化结果更加漂亮,且全新采用交互式图形结果,点选可查看细节,更易于分析;
方便合作:项目很少一个组可完成,多人多地结果图表方便共享,适合当下科研合作的需求;
可扩展:支持自定义功能并加入分析流程;高手可以自己写包,加入QIIME2的流程中了;
分析可重复:全新定义了文件系统,即包括分析数据、也包括分析过程和结果,每一步的结果,均可追溯全部分析过程,方便检查和重复。
安装
有多种安装方法,根据环境任选其一即可,先后序列即推荐序列。
1. Miniconda软件包管理器安装(需要有Linux服务器,但无需管理员权限)
本人测试采用Miniconda安装QIIME2于Ubuntu 16.04,这也是官方推荐的方法,确实非常简单。
# 安装miniconda软件管理器:用于安装QIIME2及依赖关系 https://conda.io/miniconda.html
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh
# 按提示操作,如回车确定,输入yes同意许可,输入安装目录或回车按默认安装;
# 完成后关闭当前终端,新打开一个终端继续操作才能生效
# 升级conda为最新版:新版的bug最少,碰到问题的机会也小
conda update conda
# 安装qiime2-2017.6,下载安装所有依赖关系,网速不没,时间差别很大,我安装大约半小时
conda create -n qiime2-2017.6 --file https://data.qiime2.org/distro/core/qiime2-2017.6-conda-linux-64.txt
# 激活工作环境,需要几十秒
source activate qiime2-2017.6
# 检查是否安装成功,弹出程序帮助即成功
qiime --help
# 关闭工作环境:不用时关闭,不然你其它程序可能会出错
source deactivate
2. Docker方式安装,Linux需要管理员权限
我比较喜欢使用docker,直接下载预配置好的系统使用,对本地系统无影响
Dokcer的基本操作请查看本公众号之前的教程扩增子分析流程2.使用Docker运行QIIME,或后台回复docker;
# 下载2017年6月最新版QIIME2
docker pull qiime2/core:2017.6
# 运行QIIME2测试:显示成功
docker run -t -i -v $(pwd):/data qiime2/core:2017.6 qiime
# 启动docker命令行,挂载目录至data目录
docker run --rm -v $(pwd):/data --name=qiime -it qiime2/core:2017.6
这就相当于打开了一个软件工作环境,目录/data为当前工作目录,可方便分析数据
3. Windows 10 64x Pro + Docker
Docker已经出Windows版了,但是需要Windows10 64位专业版 + HyperV,或者Win7 64位以上+Docker toolsbox,我尝试了一下没成功,可能是我相关知识不足或环境不满足,想用Windows体验分析的可以尝试一下。
附1. 核心概念
https://docs.qiime2.org/2017.6/concepts/
想要深入理解QIIME2的分析过程,QIIME定义的基本概念需要了解一下。
数据文件: 人工产品 (artifacts)
QIIME2为了使分析流程标准化,分析过程可重复,制定了统一的分析过程文件格式.qza
;qza文件类似于一个封闭的系统,里面包括原始数据、分析的过程和结果;这样保证了文件格式的标准,同时可以追溯每一步的分析,以及图表绘制参数。这一方案为实现将来可重复的分析提供了基础。比如文章投稿,同时提供分析过程的文件,别人可以直接学习或重复实验结果。
数据文件:可视化(visualizations)
QIIME2生成的图表结果文件类型,以.qzv
为扩展名,末尾的v代表visual;它同qza文件类似,包括分析方法和结果,方便追溯图表是如何产生的;唯一与qza不同的,它是分析的终点,即结果的呈现,不会在流程中继续分析。可视化的结果包括统计结果表格、交互式图像、静态图片及其它组合的可视化呈现。这类文件可以使用QIIME2 qiime tools view
命令查看,不安装程序也可在线 https://view.qiime2.org/ 导入显示;
语义类型(Semantic types)
QIIME2每步分析中产生的qza文件,都有相应的语义类型,以便程序识别和分析,也避免用户引入不合理的分析过程(如使用末标准化的OTU表进行多样性分析)。了解分析各步的结果,才能对分析有更深入和全面的认识。
插件(Plugins)
QIIME2中的某个特定功能即为插件,比如拆分样品、Alpha多样性分析等。插件每个人都可以开发,系列已经由社区开发了标准化分析的插件,其他用户按其标准开发的特定分析,并可与团队联系发布,或整合入平台。
方法和可视化
方法是对QIIME2定义的输入格式进行操作的过程,并产生标准格式的输出,以方便后续分析,输入和输出均为qza文件;可视化是对定义的标准输入,产生统计表格或可视化图形,方便用户解读,输入为qza格式,输出为qzv,文件不仅包括结果,还包括处理的分析命令和参数,方便重复和检查分析过程是否准确。
附2. Glossary 名词解释
Action 方法或可视化的动作
A general term for a method or visualizer.
Artifact 本流程定义的文件格式,存储数据和分析结果
Data that can be used as input to a QIIME method or visualizer, or that can be generated as output from a QIIME method. Artifacts typically have the extension .qza when written to file.
Method 对Artifact分析的方法
An action that takes some combination of artifacts and parameters as input, and produces one or more artifacts as output. These output artifacts could subsequently be used as input to other QIIME 2 methods or visualizers. Methods can produce intermediate or terminal outputs in a QIIME analysis.
Parameter 参数,软件或方法中可调整的部分
A primitive (i.e., non-artifact) input to an action. For example, strings, integers, and booleans are primitives. Primitives are never output from an action.
Pipeline 流程,一系统分析方法的串联
A combination of actions. This is not yet implemented.
Plugin 插件,可扩展的功能
A plugin provides microbiome (i.e. domain-specific) analysis functionality that is accessible to users through a variety of interfaces built around the QIIME 2 framework. Plugins can be developed and distributed by anyone. In more technical terms, a plugin is a Python 3 package that instantiates a qiime2.plugin.Plugin object, and registers actions, data formats, and/or semantic types that become discoverable in the QIIME 2 framework.
Result 分析结果
A general term for an artifact or visualization. A result is produced by a method, visualizer, or pipeline.
Visualization 可视化,把数据绘制成图表方便查看和分析规律
Data that can be generated as output from a QIIME visualizer. Visualizations typically have the extension .qzv when written to file.
Visualizer 可视化工具,将结果可视化的软件
An action that takes some combination of artifacts and parameters as input, and produces exactly one visualization as output. Output visualizations, by definition, cannot be used as input to other QIIME 2 methods or visualizers. Visualizers can only produce terminal output in a QIIME analysis.
附3. 常用的语义类型semantic types
原文链接:https://docs.qiime2.org/2017.6/semantic-types/
FeatureTable[Frequency]: 频率,即Feature表(OTU表),为每个样品中对应OTU出现频率的表格
FeatureTable[RelativeFrequency]: 相对频率,OTU表标准化为百分比的相度丰度
FeatureTable[PresenceAbsence]: OTU有无表,显示样本中某个OTU有或无的表格
FeatureTable[Composition]: 组成表,每个样品中OTU的频率
Phylogeny[Rooted]: 有根进化树
Phylogeny[Unrooted]: 无根进化树
DistanceMatrix: 距离矩阵
PCoAResults: 主成分分析结果
SampleData[AlphaDiversity]: Alpha多样性结果,来自样本自身的分析
SampleData[SequencesWithQuality]: 带质量的序列,要求有质量值,要求序列名称与样品存在对应关系,如为按样品拆分后的数据格式
SampleData[PairedEndSequencesWithQuality]: 成对的带质量序列,要求序列ID与样品编号存在对应关系;
FeatureData[Taxonomy]: 每一个OTU/Feature的分类学信息
FeatureData[Sequence]: 代表性序列
FeatureData[AlignedSequence]: 代表性序列进行多序列比对的结果
FeatureData[PairedEndSequence]: 双端序列进行聚类或去噪后,分类好的OTU或Feature
EMPSingleEndSequences: 采用地球微生物组计划标准实验方法产生的单端测序数据;
EMPPairedEndSequences: 采用地球微生物组计划标准实验方法产生的双端测序数据;
TaxonomicClassifier: 用于物种注释的分类软件
Reference
https://qiime2.org/
Caporaso, J. Gregory, Justin Kuczynski, Jesse Stombaugh, Kyle Bittinger, Frederic D. Bushman, Elizabeth K. Costello, Noah Fierer et al. “QIIME allows analysis of high-throughput community sequencing data.” Nature methods 7, no. 5 (2010): 335-336.
Schloss, Patrick D., Sarah L. Westcott, Thomas Ryabin, Justine R. Hall, Martin Hartmann, Emily B. Hollister, Ryan A. Lesniewski et al. “Introducing mothur: open-source, platform-independent, community-supported software for describing and comparing microbial communities.” Applied and environmental microbiology 75, no. 23 (2009): 7537-7541.
https://docs.qiime2.org/2017.6/glossary/
https://docs.qiime2.org/2017.6/install/virtual/docker/
https://docs.qiime2.org/2017.6/concepts/
想了解更多宏基因组、16S分析相关文章,
快关注“宏基因组”公众号,干货第一时间推送。
系统学习生物信息,快关注“生信宝典”,
那里有几千志同道合的小伙伴一起学习。