文章目录
前言
提示:以下内容只作参考,具体使用方法以Qiime2官网为准:
Qiime2官方使用教程:https://docs.qiime2.org/2024.2/tutorials/
一、Qiime2数据导入、导出和过滤
1.导入数据
1)下载示例数据:
#先创建一个文件夹用来保存示例数据
mkdir example-sequences
cd example-sequences
#下载示例数据
wget -O "casava-18-paired-end-demultiplexed.zip" \
"https://data.qiime2.org/2024.2/tutorials/importing/casava-18-paired-end-demultiplexed.zip"
#解压数据
unzip -q casava-18-paired-end-demultiplexed.zip
2)导入示例数据:
qiime tools import \
--type 'SampleData[PairedEndSequencesWithQuality]' \
--input-path casava-18-paired-end-demultiplexed \
--input-format CasavaOneEightSingleLanePerSampleDirFmt \
--output-path demux-paired-end.qza
2.导出数据
有时需要从 QIIME 2 导出数据,例如使用不同的微生物组分析程序分析数据,或者在 R 中进行统计分析。
1)下载示例数据:
代码如下:
#创建示例数据文件夹
mkdir export-data
cd export-data
#下载特征表示例数据
wget -O "feature-table.qza" \
"https://data.qiime2.org/2024.2/tutorials/exporting/feature-table.qza"
#下载进化树示例数据
wget \
-O "unrooted-tree.qza" \
"https://data.qiime2.org/2024.2/tutorials/exporting/unrooted-tree.qza"
2)导出
代码如下:
#导出特征表示例数据为BIOM v2.1.0 格式的文件
qiime tools export \
--input-path feature-table.qza \
--output-path exported-feature-table
#导出进化树示例数据为newick格式的文件
qiime tools export \
--input-path unrooted-tree.qza \
--output-path exported-tree
3.过滤数据
如何在 QIIME 2 中过滤特征表、序列和距离矩阵
1)下载示例数据:
代码如下:
#创建示例数据文件夹
mkdir qiime2-filtering-tutorial
cd qiime2-filtering-tutorial
#下载示例数据
wget -O "sample-metadata.tsv" \
"https://data.qiime2.org/2024.2/tutorials/moving-pictures/sample_metadata.tsv"
wget -O "table.qza" \
"https://data.qiime2.org/2024.2/tutorials/filtering/table.qza"
wget -O "distance-matrix.qza" \
"https://data.qiime2.org/2024.2/tutorials/filtering/distance-matrix.qza"
wget \
-O "taxonomy.qza" \
"https://data.qiime2.org/2024.2/tutorials/filtering/taxonomy.qza"
wget \
-O "sequences.qza" \
"https://data.qiime2.org/2024.2/tutorials/filtering/sequences.qza"
2)Filtering feature tables
- Total-frequency-based filtering
1、当过滤样本时,可以使用它来过滤总频率是样本频率分布中的异常值的样本。
在本例中,总频率小于1500的样本将被过滤。代码如下:
qiime feature-table filter-samples \
--i-table table.qza \
--p-min-frequency 1500 \
--o-filtered-table sample-frequency-filtered-table.qza
2、应用于特征轴以从表中删除低丰度特征。例如,删除总丰度(所有样本的总和)小于 10 的所有特征,代码如下
qiime feature-table filter-features \
--i-table table.qza \
--p-min-frequency 10 \
--o-filtered-table feature-frequency-filtered-table.qza
- Total-frequency-based filtering
基于偶然性的过滤用于根据样本包含的特征数量从表中过滤样本,或者根据观察到的样本数量从表中过滤特征。这种过滤通常用于过滤仅在一个或几个样本中出现的特征,因为怀疑这些特征可能并不代表真正的生物多样性,而是代表 PCR 或测序错误(例如 PCR 嵌合体)。
1、从特征表中过滤掉仅存在于单个样本中的特征,代码如下:
qiime feature-table filter-features \
--i-table table.qza \
--p-min-samples 2 \
--o-filtered-table sample-contingency-filtered-table.qza
2、从特征表中过滤仅包含少量特征的样本,代码如下:
qiime feature-table filter-samples \
--i-table table.qza \
--p-min-features 10 \
--o-filtered-table feature-contingency-filtered-table.qza
- Identifier-based filtering
- Metadata-based filtering
- Taxonomy-based filtering of tables and sequences
二、常用功能
1. 使用 q2-vsearch 将序列聚类成 OTU
1)下载示例数据:
代码如下:
#创建示例数据文件夹
mkdir qiime2-otu-clustering-tutorial
cd qiime2-otu-clustering-tutorial
#下载示例数据
wget -O "seqs.fna" \
"https://data.qiime2.org/2024.2/tutorials/otu-clustering/seqs.fna"
wget -O "85_otus.qza" \
"https://data.qiime2.org/2024.2/tutorials/otu-clustering/85_otus.qza"
2)将数据导入 QIIME 2
qiime tools import \
--input-path seqs.fna \
--output-path seqs.qza \
--type 'SampleData[Sequences]'
#After importing data, you can dereplicate it with the dereplicate-sequences command.
qiime vsearch dereplicate-sequences \
--i-sequences seqs.qza \
--o-dereplicated-table table.qza \
--o-dereplicated-sequences rep-seqs.qza
3)De novo clustering
In this example, clustering is performed at 99% identity to create 99% OTUs
qiime vsearch cluster-features-de-novo \
--i-table table.qza \
--i-sequences rep-seqs.qza \
--p-perc-identity 0.99 \
--o-clustered-table table-dn-99.qza \
--o-clustered-sequences rep-seqs-dn-99.qza
4)Closed-reference clustering
In this example, clustering is performed at 85% identity against the Greengenes 13_8 85% OTUs reference database (85_otus.qza).
qiime vsearch cluster-features-closed-reference \
--i-table table.qza \
--i-sequences rep-seqs.qza \
--i-reference-sequences 85_otus.qza \
--p-perc-identity 0.85 \
--o-clustered-table table-cr-85.qza \
--o-clustered-sequences rep-seqs-cr-85.qza \
--o-unmatched-sequences unmatched-cr-85.qza
5)Open-reference clustering
Like the closed-reference clustering example above, open-reference clustering can be performed using the qiime vsearch cluster-features-open-reference command.
qiime vsearch cluster-features-open-reference \
--i-table table.qza \
--i-sequences rep-seqs.qza \
--i-reference-sequences 85_otus.qza \
--p-perc-identity 0.85 \
--o-clustered-table table-or-85.qza \
--o-clustered-sequences rep-seqs-or-85.qza \
--o-new-reference-sequences new-ref-seqs-or-85.qza
2. 使用 q2-phylogeny进行系统发育推断
1)下载示例数据:
代码如下:
#创建示例数据文件夹
mkdir qiime2-phylogeny-tutorial
cd qiime2-phylogeny-tutorial
#下载示例数据
wget -O "rep-seqs.qza" \
"https://data.qiime2.org/2024.2/tutorials/phylogeny/rep-seqs.qza"
2)多重序列比对
构建多重序列比对的算法有很多。例如,利用q2-alignment中的MAFFT(Multiple Alignment using Fast Fourier Transform)进行比对
qiime alignment mafft \
--i-sequences rep-seqs.qza \
--o-alignment aligned-rep-seqs.qza
#Reducing alignment ambiguity
qiime alignment mask \
--i-alignment aligned-rep-seqs.qza \
--o-masked-alignment masked-aligned-rep-seqs.qza
3)构建系统发育树
Fasttree,能够从大型序列比对中相当快速地构建系统发育树
qiime phylogeny fasttree \
--i-alignment masked-aligned-rep-seqs.qza \
--o-tree fasttree-tree.qza
Raxml,与fasttree一样,raxml将执行单次系统发育推断并返回一棵发育进化树。
qiime phylogeny raxml \
--i-alignment masked-aligned-rep-seqs.qza \
--p-substitution-model GTRCAT \
--o-tree raxml-cat-tree.qza \
--verbose
IQ-TREE,我们为IQ-TREE提供了类似的功能:iqtree和iqtree-ultrafast-bootstrap。
qiime phylogeny iqtree \
--i-alignment masked-aligned-rep-seqs.qza \
--o-tree iqt-tree.qza \
--verbose