Bioinformatics16S和宏基因组

扩增子分析软件QIIME2 必知必会

2018-08-09  本文已影响1069人  周运来就是我
QIIME2
扩增子一站式分析平台QIIME

nature||qiime

2018年1月QIIME2全面接档QIIME1

极简操作

source activate qiime2
qiime tools import   --type 'SampleData[PairedEndSequencesWithQuality]'   --input-path ../test-paired-end-demultiplexed   --source-format CasavaOneEightSingleLanePerSampleDirFmt   --output-path demux-paired-end.qza
qiime dada2 denoise-paired --i-demultiplexed-seqs demux-paired-end.qza --o-table table.qza --o-representative-sequences rep-seqs-dada2.qza  --p-trim-left-f 0 --p-trim-left-r 0 --p-trunc-len-f 220 --p-trunc-len-r 220
qiime feature-table summarize  --i-table table.qza  --o-visualization table.qzv
mkdir tableqzv
qiime tools export  table.qzv   --output-dir tableqzv
mkdir rep-seqs-dada2qza
qiime tools export  rep-seqs-dada2.qza --output-dir rep-seqs-dada2qza
source  deactivate

QIIME2是微生物组分析流程QIIME的全新版,采用Python3全新编写

qiime
Usage: qiime [OPTIONS] COMMAND [ARGS]...

  QIIME 2 command-line interface (q2cli)
  --------------------------------------

  To get help with QIIME 2, visit https://qiime2.org.

  To enable tab completion in Bash, run the following command or add it to
  your .bashrc/.bash_profile:

      source tab-qiime

  To enable tab completion in ZSH, run the following commands or add them to
  your .zshrc:

      autoload bashcompinit && bashcompinit && source tab-qiime

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  info                Display information about current deployment.#info: qiime info --citations获得版本和引用信息 
  tools               Tools for working with QIIME 2 files 
  dev                 Utilities for developers and advanced users.
  alignment           Plugin for generating and manipulating alignments. #alignment 比对
  composition         Plugin for compositional data analysis. 
  dada2               Plugin for sequence quality control with DADA2. #聚类
  deblur              Plugin for sequence quality control with Deblur.#聚类
  demux               Plugin for demultiplexing & viewing sequence quality.#demux 拆分样品,结果统计
  diversity           Plugin for exploring community diversity.#diversity 群落多样性 
  emperor             Plugin for ordination plotting with Emperor.#emperor 绘制排序图 
  feature-classifier  Plugin for taxonomic classification.# 物种分类
  feature-table       Plugin for working with sample by feature tables.#特征表格
  gneiss              Plugin for building compositional models.#建模
  longitudinal        Plugin for paired sample and time series analyses.#成对样品和时间序列分析
  metadata            Plugin for working with Metadata.# 元数据
  phylogeny           Plugin for generating and manipulating phylogenies.#多重比对构树
  quality-control     Plugin for quality control of feature and sequence data.#质量控制
  quality-filter      Plugin for PHRED-based filtering and trimming.#质量过滤
  sample-classifier   Plugin for machine learning prediction of sample  metadata.#机器学习预测样品数据                   
  taxa                Plugin for working with feature taxonomy annotations.#注释
  vsearch             Plugin for clustering and dereplicating with vsearch.# 去冗余

QIIME2 数据管理
元数据

元数据是实验设计的描述信息表或统计结果,是分析原始数据必须的基本信息。
元数据是从原始数据中获得生物学发现的关键。在QIIME2中,样品的元数据包括技术细节,如DNA条形码用于区分样品、样品描述,如分类、时间点、取样部分等。对于特征表(Feature,原称OTU)的元数据,一般为特征的注释信息,如物种分类信息。样品和特征表的元数据在QIIME2中很多步分析需要使用。

DADA2与deblur 降噪软件
DADA2

DADA2是R的一个软件包,可以进行过滤,去重,嵌合体过滤,reads的拼接,可以修正扩增子的测序错误,确定更多的真实变异。扩增子测序本身就具有内在的限制,但是聚类OTU的方式进一步限制了它的发展。OTU不是物种,它们不应该成为错误的一部分,DADA2可以具有更高的分辨率

DADA(Divisive Amplicon Denoising Algorithm)含义为区分扩增子降噪方程
可以确定真实的变异在454测序扩增子数据输出更少的假阳性。DADA2是DADA的扩展和增强可以应用于Illumina测序数据

一种分裂式分割算法

DADA2与UPARSE,MED(也是一种高分辨率的发现Illumina测序错误的方法)的比较
三个测试数据集
balanced和HMP,Extreme是三种模拟的数据集,
汉明距离
虚线表示,3%聚类的汉明距离
在较低的分辨率时,DADA2有更好的表现,蓝色表示新增加的物种,黑色表示一致的物种
DADA2可以更精确的区分物种,输出更少的错误序列,更有利于下游多样性和差异性分析
Deblur 快速解决单核苷酸群落模式

PCR和测序过程中的噪音限制了区分更相近的物种。传统的聚类OTU的方法也是一种克服测序错误的方式,但是需要人为的设定cutoff的一致性,但是这种方法也降低了分类的精确性。 临床,食品安全,特殊的生态应用需要更精确的物种区分。此外这种方法合并数据进行分析时需要重新进行聚类。Deblur方法提出了sub-operational-taxonomic-unit (sOTU) 提出更精确的分类亚OTU的概念。

Deblur算法步骤:
Deblur和DADA2进行了稳定性的比较
稳定性从不同的样品中发现相同sOTU(牵涉到要整合各个时期的数据)
40个粪便样品用Miseq不同的run测了两次
(B)对鉴定出来的 unique sOTU进行处理,与NCBI的NR/nt库进行比较。在两种不同方式中的misatch中的比例,在Deblur中,在DADA2中出现,在两种方法中都出现
(C)对鉴定出来的 unique sOTU进行处理,相同的情况,列表示的是不同的种属和地理位置,Deblur的丰度分布模式和真实情况更相似
(D)是三种方法所用的时间

物种注释与分类

通过将我们的查询序列(即,我们的特征,无论是ASV还是OTU)与具有已知分类组成的序列的参考数据库进行比较来实现物种注释。 简单地找到最接近的比对并不是很好 , 因为其他序列同样接近匹配或几乎接近可能具有不同的分类学注释。 因此,我们使用分类学分类来确定最接近的分类学归属,具有某种程度的置信度或共识(如果无法确定地预测,则可能不是物种名称!),基于比对k-mer频率等。 在QIIME 2中学习更多关于分类学分类的知识可以阅读。

q2-feature-classifier包含三种不同的分类方法。 classify-consensus-blast和classify-consensus-vsearch都是基于对齐的方法,可以在N top hits找到合适的注释信息。 这些方法直接参考数据库FeatureData [Taxonomy]和FeatureData [Sequence]文件,不需要预先训练。

根据您的特定样品制备和测序参数(包括用于扩增的引物和序列读数的长度),分类分类器在进行培训时表现最佳。 因此,一般来说,您应该按照训练要素分类器中的说明使用q2-feature-classifier来训练您自己的分类学分类器(例如,来自下面的标记基因参考数据库)。

Qiita提供对许多公共微生物组数据集的访问。 如果您正在寻找用于测试或荟萃分析的微生物组数据,那么Qiita是一个很好的起点。

基于机器学习的分类方法可通过classify-sklearn获得,理论上可以应用scikit-learn中可用的任何分类方法。 必须训练这些分类器,例如,以了解哪些特征最佳地区分每个分类群,为分类过程增加额外的步骤。 分类器训练是参考数据库和标记基因特异性的,每个标记基因/参考数据库组合只需要进行一次; 然后可以根据需要重复使用该分类器,而无需重新训练!

大多数用户甚至不需要遵循该教程并执行该培训步骤,因为可爱的QIIME 2开发人员提供了几种预先训练好的分类器供公众使用

哪种方法最好? 它们都非常好,否则我们不会在这里暴露它们。 😎但一般来说,使用Naive Bayes分类器的classify-sklearn可以略微优于我们根据16S rRNA基因和真菌ITS序列分类的几个标准测试的其他方法。 然而,对于一些用户来说,这可能更困难和令人沮丧,因为它需要额外的训练步骤。 该训练步骤可能是内存密集型的,成为一些无法使用预训练分类器的用户的障碍。 一些用户还喜欢基于对齐的方法,因为他们的操作模式更加透明,其参数更易于操作(有关这些参数的说明和不同应用程序的推荐设置,请参Optimizing taxonomic classification of marker-gene amplicon sequences with QIIME 2’s q2-feature-classifier plugin)。

特征分类可能很慢。 这完全取决于您拥有的序列数量和参考序列的数量。 OTU聚类序列将需要更长的时间进行分类(因为通常还有更多)。 在分类之前过滤序列文件中的低丰度特征,如果您对运行时有疑虑,请尽可能使用较小的参考数据库。 在实践中,在“正常大小”的测序实验中(无论是什么意思😜),我们会看到几分钟(几百个特征)到几个小时(几十万个特征)之间的差异,以便完成分类。 如果你想在那里挂一些数字,请查看我们的分类器运行时性能基准。

功能分类可能是内存密集型的。 我们通常看到最小4 GB RAM,最多需要32 GB。 这一切都取决于参考序列的大小,它们的长度和查询序列的数量......

使用classify-sklearn的示例显示在要素分类器教程和动态图片教程中。 分类法流程图应该使其他分类器方法合理清晰。

所有分类器都会生成FeatureData [Taxonomy]工件,其中包含每个查询序列的分类法分类列表。

想要查看哪些序列和分类分配与每个功能ID相关联? 使用qiime元数据制表将FeatureData [Taxonomy]和FeatureData [Sequence]工件作为输入。

以下是具有FeatureData [Taxonomy]工件的主要操作:
QIIME2核心概念
  1. 数据文件: 人工产品 (artifacts)
    QIIME2为了使分析流程标准化,分析过程可重复,制定了统一的分析过程文件格式.qza;qza文件类似于一个封闭的系统,里面包括原始数据、分析的过程和结果;这样保证了文件格式的标准,同时可以追溯每一步的分析,以及图表绘制参数。这一方案为实现将来可重复的分析提供了基础。比如文章投稿,同时提供分析过程的文件,别人可以直接学习或重复实验结果。
  2. 数据文件:可视化(visualizations)
    QIIME2生成的图表结果文件类型,以.qzv为扩展名,末尾的v代表visual;它同qza文件类似,包括分析方法和结果,方便追溯图表是如何产生的;唯一与qza不同的,它是分析的终点,即结果的呈现,不会在流程中继续分析。可视化的结果包括统计结果表格、交互式图像、静态图片及其它组合的可视化呈现。这类文件可以使用QIIME2 qiime tools view命令查看,不安装程序也可在线 https://view.qiime2.org/ 168 导入显示;
  3. 语义类型(Semantic types)
    QIIME2每步分析中产生的qza文件,都有相应的语义类型,以便程序识别和分析,也避免用户引入不合理的分析过程(如使用末标准化的OTU表进行多样性分析)。了解分析各步的结果,才能对分析有更深入和全面的认识。
  4. 插件(Plugins)
    QIIME2中的某个特定功能即为插件,比如拆分样品、Alpha多样性分析等。插件每个人都可以开发,系列已经由社区开发了标准化分析的插件,其他用户按其标准开发的特定分析,并可与团队联系发布,或整合入平台。
  5. 方法和可视化
    方法是对QIIME2定义的输入格式进行操作的过程,并产生标准格式的输出,以方便后续分析,输入和输出均为qza文件;可视化是对定义的标准输入,产生统计表格或可视化图形,方便用户解读,输入为qza格式,输出为qzv,文件不仅包括结果,还包括处理的分析命令和参数,方便重复和检查分析过程是否准确。
常用的语义类型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: 用于物种注释的分类软件

参考:
QIIME2官网
QIIME2中文帮助文档 (Chinese Manual)
扩增子分析QIIME2. 2分析实战Moving Pictures
Nature综述:Rob Knight等大佬手把手教你开展菌群研究
Overview of QIIME 2 Plugin Workflows
Official QIIME workshops
silva|qiime

开发者肖像
上一篇下一篇

猜你喜欢

热点阅读