跳转至

QIIME2多样性分析进阶:2024-2025最新功能

一句话概述

QIIME2是微生物组扩增子分析的"瑞士军刀",从原始测序数据到多样性分析、物种组成、差异分析一条龙搞定,2025年版本带来了大量新功能和改进。


核心知识点表格

知识点说明
QIIME2 2025.4最新版本,2025年5月发布,包含大量新功能
q2-boots2025年新插件,基于Bootstrap的更稳健多样性分析
新文档站amplicon-docs.qiime2.org 替代旧docs.qiime2.org
uchime2/3新的嵌合体检测算法,适合去噪后的ASV
orient-reads新功能,处理混合方向的reads
UNITE v102025年2月更新的真菌ITS分类数据库

安装QIIME2 2025.4

# 使用conda安装最新版QIIME2(2025.4)
# 第一步:下载安装文件
wget https://data.qiime2.org/distro/amplicon/qiime2-amplicon-2025.4-py310-linux-conda.yml

# 第二步:创建环境
conda env create -n qiime2-2025.4 \
    --file qiime2-amplicon-2025.4-py310-linux-conda.yml  # 按yml文件创建环境

# 第三步:激活环境
conda activate qiime2-2025.4  # 激活QIIME2环境

# 验证安装
qiime --version  # 查看版本号
qiime info       # 查看已安装的插件信息

进阶分析一:Alpha多样性深度分析

稀释曲线与采样深度选择

# 生成alpha稀释曲线(判断测序深度是否足够)
qiime diversity alpha-rarefaction \
    --i-table table.qza \              # 输入feature表
    --i-phylogeny rooted-tree.qza \    # 输入有根系统发育树
    --p-max-depth 50000 \              # 最大稀释深度
    --m-metadata-file metadata.tsv \   # 样本元数据
    --o-visualization alpha-rarefaction.qzv  # 输出可视化文件

# 在浏览器中查看
qiime tools view alpha-rarefaction.qzv  # 离线查看(2025.4新功能)

多种Alpha多样性指数一次性计算

# 计算多种alpha多样性指数
# Shannon指数(物种丰富度+均匀度)
qiime diversity alpha \
    --i-table table.qza \
    --p-metric shannon \               # Shannon多样性指数
    --o-alpha-diversity shannon.qza

# Faith's PD(系统发育多样性)
qiime diversity alpha-phylogenetic \
    --i-table table.qza \
    --i-phylogeny rooted-tree.qza \
    --p-metric faith_pd \              # Faith系统发育多样性
    --o-alpha-diversity faith_pd.qza

# Pielou均匀度
qiime diversity alpha \
    --i-table table.qza \
    --p-metric pielou_e \              # Pielou均匀度指数
    --o-alpha-diversity pielou.qza

# 组间差异统计检验
qiime diversity alpha-group-significance \
    --i-alpha-diversity shannon.qza \  # 输入alpha多样性
    --m-metadata-file metadata.tsv \   # 元数据
    --o-visualization shannon-significance.qzv  # 输出可视化

进阶分析二:Beta多样性深度分析

PCoA排序与组间比较

# 一次性计算核心多样性指标(alpha + beta + PCoA)
qiime diversity core-metrics-phylogenetic \
    --i-table table.qza \              # 输入feature表
    --i-phylogeny rooted-tree.qza \    # 输入系统发育树
    --p-sampling-depth 10000 \         # 稀释深度(根据稀释曲线选择)
    --m-metadata-file metadata.tsv \   # 元数据
    --output-dir core-metrics-results  # 输出目录

# 输出包含:
# observed_features_vector.qza — 观测到的特征数
# shannon_vector.qza — Shannon指数
# faith_pd_vector.qza — Faith PD
# evenness_vector.qza — 均匀度
# unweighted_unifrac_distance_matrix.qza — 非加权UniFrac距离
# weighted_unifrac_distance_matrix.qza — 加权UniFrac距离
# bray_curtis_distance_matrix.qza — Bray-Curtis距离
# jaccard_distance_matrix.qza — Jaccard距离
# 以及各指标对应的Emperor PCoA可视化

PERMANOVA检验(组间差异显著性)

# 用PERMANOVA检验组间差异
qiime diversity beta-group-significance \
    --i-distance-matrix core-metrics-results/weighted_unifrac_distance_matrix.qza \
    --m-metadata-file metadata.tsv \
    --m-metadata-column Group \        # 分组列名
    --p-method permanova \             # 统计方法:PERMANOVA
    --p-pairwise \                     # 进行两两比较
    --o-visualization permanova-results.qzv

# 使用ANOSIM检验
qiime diversity beta-group-significance \
    --i-distance-matrix core-metrics-results/bray_curtis_distance_matrix.qza \
    --m-metadata-file metadata.tsv \
    --m-metadata-column Group \
    --p-method anosim \                # 统计方法:ANOSIM
    --o-visualization anosim-results.qzv

PERMDISP(组间离散度检验)

# 检验组间beta多样性离散度是否一致
qiime diversity beta-group-significance \
    --i-distance-matrix core-metrics-results/weighted_unifrac_distance_matrix.qza \
    --m-metadata-file metadata.tsv \
    --m-metadata-column Group \
    --p-method permdisp \              # 检验组间离散度
    --o-visualization permdisp-results.qzv

进阶分析三:2025年新功能q2-boots

基于Bootstrap的稳健多样性分析

# 安装q2-boots(2025年3月发布的新插件)
pip install q2-boots  # 安装q2-boots

# q2-boots通过bootstrap采样提供更稳健的多样性结果
# 不像rarefaction直接丢弃reads,而是多次重采样取平均

# 使用q2-boots计算alpha多样性
qiime boots alpha-collection \
    --i-table table.qza \              # 输入feature表
    --p-metric shannon \               # 多样性指标
    --p-sampling-depth 10000 \         # 采样深度
    --p-n 100 \                        # bootstrap重复次数
    --o-alpha-diversities boots-shannon.qza  # 输出

# 使用q2-boots计算beta多样性
qiime boots beta-collection \
    --i-table table.qza \
    --p-metric braycurtis \            # 距离指标
    --p-sampling-depth 10000 \
    --p-n 100 \                        # bootstrap重复次数
    --o-distance-matrices boots-braycurtis.qza

进阶分析四:纵向数据分析

# 使用q2-longitudinal分析时间序列数据

# 线性混合效应模型
qiime longitudinal linear-mixed-effects \
    --m-metadata-file metadata_longitudinal.tsv \  # 纵向元数据
    --p-state-column Timepoint \       # 时间点列
    --p-individual-id-column SubjectID \  # 个体ID列
    --p-metric shannon \               # 分析的指标
    --m-metadata-file shannon.qza \    # Shannon多样性数据
    --o-visualization lme-shannon.qzv  # 输出可视化

# Volatility分析(波动性分析)
qiime longitudinal volatility \
    --m-metadata-file metadata_longitudinal.tsv \
    --p-state-column Timepoint \
    --p-individual-id-column SubjectID \
    --p-default-metric shannon \
    --m-metadata-file shannon.qza \
    --o-visualization volatility-shannon.qzv

进阶分析五:组成分析(ANCOM)

# 使用ANCOM-BC进行差异丰度分析
# 先过滤低频特征
qiime feature-table filter-features \
    --i-table table.qza \
    --p-min-frequency 50 \             # 最低总频率
    --p-min-samples 5 \                # 至少出现在5个样本中
    --o-filtered-table filtered-table.qza

# 添加伪计数(ANCOM需要)
qiime composition add-pseudocount \
    --i-table filtered-table.qza \     # 输入过滤后的表
    --o-composition-table comp-table.qza  # 输出组成表

# 运行ANCOM
qiime composition ancom \
    --i-table comp-table.qza \         # 输入组成表
    --m-metadata-file metadata.tsv \
    --m-metadata-column Group \        # 分组列
    --o-visualization ancom-results.qzv

2025.4版本重要更新详解

1. 改进的嵌合体检测

# 新的uchime2/uchime3去噪算法(适合已去噪的ASV)
qiime vsearch uchime-denovo \
    --i-table table.qza \
    --i-sequences rep-seqs.qza \
    --p-dn 1.0 \                       # 默认参数
    --o-chimeras chimeras.qza \        # 输出嵌合体序列
    --o-nonchimeras nonchimeras.qza \  # 输出非嵌合体序列
    --o-stats chimera-stats.qza        # 输出统计信息

# 注意:2023.9/2024.2/2024.5版本有uchime-denovo的bug
# 建议升级到2025.4版本

2. 处理混合方向reads

# 新的orient-reads功能(处理R1/R2方向混乱的数据)
qiime vsearch orient-reads \
    --i-sequences demuxed-seqs.qza \   # 输入demux后的序列
    --i-reference ref-seqs.qza \       # 参考序列
    --o-oriented-sequences oriented-seqs.qza  # 输出方向统一的序列

3. 分类器更新

# 使用最新的Greengenes2分类器
# 下载2024.09版本的预训练分类器
wget https://data.qiime2.org/classifiers/greengenes2/2024.09/gg2-2024.09-nb-classifier.qza

# 运行分类
qiime feature-classifier classify-sklearn \
    --i-classifier gg2-2024.09-nb-classifier.qza \  # 预训练分类器
    --i-reads rep-seqs.qza \           # 输入代表序列
    --o-classification taxonomy.qza    # 输出分类结果

常见报错与解决

报错原因解决方案
Plugin error: No sequences...稀释深度设太高降低 --p-sampling-depth,参考稀释曲线
metadata column not found元数据列名拼写错误检查metadata.tsv列名,注意大小写
uchime-denovo bug2023.9-2024.5版本已知bug升级到2025.4版本
DADA2运行极慢数据量大、参数不当调整 --p-n-threads,减少 --p-trunc-len
Emperor图显示不了浏览器兼容性问题用Chrome打开,或用 qiime tools view 离线查看
classify-sklearn 内存不足分类器太大增加内存,或使用更小的分类器

速查表

# QIIME2常用命令
qiime info                    # 查看安装信息
qiime tools import            # 导入数据
qiime tools export            # 导出数据
qiime tools view *.qzv        # 查看可视化(2025.4支持离线)
qiime tools peek *.qza        # 查看artifact信息

# 核心分析流程
1. 导入数据 → qiime tools import
2. 质控去噪 → qiime dada2 denoise-paired
3. 系统发育树 → qiime phylogeny align-to-tree-mafft-fasttree
4. 多样性分析 → qiime diversity core-metrics-phylogenetic
5. 分类注释 → qiime feature-classifier classify-sklearn
6. 差异分析 → qiime composition ancom

# 多样性指标速查
Alpha: shannon / observed_features / faith_pd / pielou_e
Beta: braycurtis / jaccard / weighted_unifrac / unweighted_unifrac

# 统计检验
Kruskal-Wallis → alpha组间比较
PERMANOVA → beta组间比较
ANOSIM → beta组间相似性检验
PERMDISP → beta组间离散度检验

面试高频问题

Q1:Alpha多样性和Beta多样性有什么区别?

A:Alpha多样性描述单个样本内部的微生物多样性(有多少种、多均匀),常用Shannon指数、Faith PD等。Beta多样性描述样本间的群落组成差异(两个样本有多不同),常用Bray-Curtis距离、UniFrac距离等。

Q2:加权UniFrac和非加权UniFrac有什么区别?

A:非加权UniFrac只考虑物种"有没有"(presence/absence),加权UniFrac还考虑物种"有多少"(丰度)。如果关注稀有物种的差异用非加权,关注优势物种的丰度变化用加权。

Q3:PERMANOVA检验的原理是什么?

A:PERMANOVA是基于距离矩阵的置换多变量方差分析。它比较组内距离和组间距离,如果组间距离显著大于组内距离,说明分组因素对群落组成有显著影响。用置换检验计算p值,不需要正态分布假设。

Q4:如何选择合适的稀释深度?

A:看稀释曲线(alpha-rarefaction图),选择曲线趋于平坦的最小深度值。通常还要考虑:①不能丢弃太多样本;②建议保留至少70%的样本。2025年新的q2-boots插件通过bootstrap方法避免了rarefaction丢失数据的问题。

Q5:QIIME2 2025年有什么重要更新?

A:主要更新:①q2-boots新插件用bootstrap替代rarefaction;②修复了vsearch嵌合体检测的bug;③新增orient-reads功能处理混合方向reads;④新文档站amplicon-docs.qiime2.org;⑤Greengenes2分类器更新到2024.09版本。