QIIME2 pipeline - poyuliu/16Sv3v4_v4_compatibility- GitHub Wiki
mkdir reads_qza
for V3-V4 PE
qiime tools import --type SampleData[PairedEndSequencesWithQuality] \
--input-path /nas2/poyuliu/16S_NextSeqPrimer/V3V4_VS_V4_Project/V3V4/ \
--output-path reads_qza/reads_import_V3V4.qza \
--input-format CasavaOneEightSingleLanePerSampleDirFmt
Trim amplicon primers
qiime cutadapt trim-paired --i-demultiplexed-sequences reads_qza/reads_import_V3V4.qza \
--p-cores 16 \
--p-front-f CCTACGGGNGGCWGCAG \
--p-front-r GACTACHVGGGTATCTAATCC \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V3V4_PE.qza \
--verbose \
&> primer_trimming_V3V4.log
Running DADA2
qiime dada2 denoise-paired --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V3V4_PE.qza \
--p-trunc-len-f 270 \
--p-trunc-len-r 210 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V3V4
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V3V4_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V3V4/table.qza --o-visualization qiime2_outputs/dada2_output_V3V4_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V3V4_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4/table.qza --output-path qiime2_outputs/dada2_output_V3V4_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V3V4_exported
biom convert -i qiime2_outputs/dada2_output_V3V4_exported/feature-table.biom -o qiime2_outputs/dada2_output_V3V4_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V3V4_exported/feature-table.txt ./ASV_tables/dada2_V3V4_asv.txt
for V4O PE
F 5'-3':GTGYCAGCMGCCGCGGTAA
R 5'-3':GGACTACHNGGGTWTCTAAT
qiime tools import --type SampleData[PairedEndSequencesWithQuality] \
--input-path /nas2/poyuliu/16S_NextSeqPrimer/V3V4_VS_V4_Project/V4O/ \
--output-path reads_qza/reads_import_V4O.qza \
--input-format CasavaOneEightSingleLanePerSampleDirFmt
qiime cutadapt trim-paired --i-demultiplexed-sequences reads_qza/reads_import_V4O.qza \
--p-cores 16 \
--p-front-f GTGYCAGCMGCCGCGGTAA \
--p-front-r GGACTACHNGGGTWTCTAAT \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V4O_PE.qza \
--verbose \
&> primer_trimming_V4O.log
trunc to 141/140: perfect matching in MiSeq simulation, see archive folder
trunc to 131/130: for the real condition of 150PE NextSeq sequencing, but poor matching, poor merging by DADA2
qiime dada2 denoise-paired --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V4O_PE.qza \
--p-trunc-len-f 131 \
--p-trunc-len-r 130 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V4O
qiime tools export --input-path qiime2_outputs/dada2_output_V4O/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V4O_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V4O/table.qza --o-visualization qiime2_outputs/dada2_output_V4O_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V4O_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V4O_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V4O/table.qza --output-path qiime2_outputs/dada2_output_V4O_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V4O/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V4O_exported
biom convert -i qiime2_outputs/dada2_output_V4O_exported/feature-table.biom -o qiime2_outputs/dada2_output_V4O_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V4O_exported/feature-table.txt ./ASV_tables/dada2_V4O_asv.txt
for V4N PE
F 5'-3':CAGCMGCCGCGGTAAT
R 5'-3':GGGTWTCTAATCCKGTT
qiime tools import --type SampleData[PairedEndSequencesWithQuality] \
--input-path /nas2/poyuliu/16S_NextSeqPrimer/V3V4_VS_V4_Project/V4N/ \
--output-path reads_qza/reads_import_V4N.qza \
--input-format CasavaOneEightSingleLanePerSampleDirFmt
qiime cutadapt trim-paired --i-demultiplexed-sequences reads_qza/reads_import_V4N.qza \
--p-cores 16 \
--p-front-f CAGCMGCCGCGGTAAT \
--p-front-r GGGTWTCTAATCCKGTT \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V4N_PE.qza \
--verbose \
&> primer_trimming_V4N.log
qiime dada2 denoise-paired --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V4N_PE.qza \
--p-trunc-len-f 134 \
--p-trunc-len-r 133 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V4N
qiime tools export --input-path qiime2_outputs/dada2_output_V4N/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V4N_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V4N/table.qza --o-visualization qiime2_outputs/dada2_output_V4N_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V4N_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V4N_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V4N/table.qza --output-path qiime2_outputs/dada2_output_V4N_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V4N/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V4N_exported
biom convert -i qiime2_outputs/dada2_output_V4N_exported/feature-table.biom -o qiime2_outputs/dada2_output_V4N_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V4N_exported/feature-table.txt ./ASV_tables/dada2_V4N_asv.txt
V3-V4 PE trim to V4
for V3-V4 PE trim to V4O PE
qiime cutadapt trim-paired --i-demultiplexed-sequences reads_qza/reads_import_V3V4.qza \
--p-cores 16 \
--p-front-f GTGYCAGCMGCCGCGGTAA \
--p-front-r GACTACHNGGGTWTCTAAT \
--p-discard-untrimmed \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V3V4toV4O_PE.qza \
--verbose \
&> primer_trimming_V3V4toV4O.log
qiime dada2 denoise-paired --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V3V4toV4O_PE.qza \
--p-trunc-len-f 75 \
--p-trunc-len-r 210 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V3V4toV4O
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4O/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V3V4toV4O_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V3V4toV4O/table.qza --o-visualization qiime2_outputs/dada2_output_V3V4toV4O_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4O_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V3V4toV4O_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4O/table.qza --output-path qiime2_outputs/dada2_output_V3V4toV4O_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4O/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V3V4toV4O_exported
biom convert -i qiime2_outputs/dada2_output_V3V4toV4O_exported/feature-table.biom -o qiime2_outputs/dada2_output_V3V4toV4O_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V3V4toV4O_exported/feature-table.txt ./ASV_tables/dada2_V3V4toV4O_asv.txt
for V3-V4 PE trim to V4N PE
qiime cutadapt trim-paired --i-demultiplexed-sequences reads_qza/reads_import_V3V4.qza \
--p-cores 16 \
--p-front-f CAGCMGCCGCGGTAAT \
--p-front-r GACTACHVGGGTWTCTAATCCKGTT \
--p-discard-untrimmed \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V3V4toV4N_PE.qza \
--verbose \
&> primer_trimming_V3V4toV4N.log
qiime dada2 denoise-paired --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V3V4toV4N_PE.qza \
--p-trunc-len-f 75 \
--p-trunc-len-r 210 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V3V4toV4N
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4N/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V3V4toV4N_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V3V4toV4N/table.qza --o-visualization qiime2_outputs/dada2_output_V3V4toV4N_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4N_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V3V4toV4N_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4N/table.qza --output-path qiime2_outputs/dada2_output_V3V4toV4N_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V3V4toV4N/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V3V4toV4N_exported
biom convert -i qiime2_outputs/dada2_output_V3V4toV4N_exported/feature-table.biom -o qiime2_outputs/dada2_output_V3V4toV4N_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V3V4toV4N_exported/feature-table.txt ./ASV_tables/dada2_V3V4toV4N_asv.txt
V4 SE
mkdir ../V3V4_VS_V4_Project/V4O/R1
mv ../V3V4_VS_V4_Project/V4O/*R1_001.fastq.gz ../V3V4_VS_V4_Project/V4O/R1
mkdir ../V3V4_VS_V4_Project/V4N/R1
mv ../V3V4_VS_V4_Project/V4N/*R1_001.fastq.gz ../V3V4_VS_V4_Project/V4N/R1
for V4O SE
qiime tools import --type 'SampleData[SequencesWithQuality]' \
--input-path /nas2/poyuliu/16S_NextSeqPrimer/V3V4_VS_V4_Project/V4O/R1 \
--output-path reads_qza/reads_import_V4O_SE.qza \
--input-format CasavaOneEightSingleLanePerSampleDirFmt
mv ../V3V4_VS_V4_Project/V4O/R1/* ../V3V4_VS_V4_Project/V4O/
rm -r ../V3V4_VS_V4_Project/V4O/R1
qiime cutadapt trim-single --i-demultiplexed-sequences reads_qza/reads_import_V4O_SE.qza \
--p-cores 16 \
--p-anywhere GTGYCAGCMGCCGCGGTAA \
--p-discard-untrimmed \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V4O_SE.qza \
--verbose \
&> primer_trimming_V4OSE.log
qiime dada2 denoise-single --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V4O_SE.qza \
--p-trunc-len 131 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V4OSE
qiime tools export --input-path qiime2_outputs/dada2_output_V4OSE/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V4OSE_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V4OSE/table.qza --o-visualization qiime2_outputs/dada2_output_V4OSE_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V4OSE_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V4OSE_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V4OSE/table.qza --output-path qiime2_outputs/dada2_output_V4OSE_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V4OSE/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V4OSE_exported
biom convert -i qiime2_outputs/dada2_output_V4OSE_exported/feature-table.biom -o qiime2_outputs/dada2_output_V4OSE_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V4OSE_exported/feature-table.txt ./ASV_tables/dada2_V4OSE_asv.txt
for V4N SE
qiime tools import --type 'SampleData[SequencesWithQuality]' \
--input-path /nas2/poyuliu/16S_NextSeqPrimer/V3V4_VS_V4_Project/V4N/R1 \
--output-path reads_qza/reads_import_V4N_SE.qza \
--input-format CasavaOneEightSingleLanePerSampleDirFmt
mv ../V3V4_VS_V4_Project/V4N/R1/* ../V3V4_VS_V4_Project/V4N/
rm -r ../V3V4_VS_V4_Project/V4N/R1
qiime cutadapt trim-single --i-demultiplexed-sequences reads_qza/reads_import_V4N_SE.qza \
--p-cores 16 \
--p-anywhere CAGCMGCCGCGGTAAT \
--p-discard-untrimmed \
--o-trimmed-sequences trimmed_qza/primer-trimmed_V4N_SE.qza \
--verbose \
&> primer_trimming_V4NSE.log
qiime dada2 denoise-single --i-demultiplexed-seqs trimmed_qza/primer-trimmed_V4N_SE.qza \
--p-trunc-len 134 \
--p-n-threads 16 \
--output-dir qiime2_outputs/dada2_output_V4NSE
qiime tools export --input-path qiime2_outputs/dada2_output_V4NSE/denoising_stats.qza --output-path qiime2_outputs/dada2_output_V4NSE_stats
qiime feature-table summarize --i-table qiime2_outputs/dada2_output_V4NSE/table.qza --o-visualization qiime2_outputs/dada2_output_V4NSE_stats/table_summary.qzv
qiime tools export --input-path qiime2_outputs/dada2_output_V4NSE_stats/table_summary.qzv --output-path qiime2_outputs/dada2_output_V4NSE_stats/table_summary
qiime tools export --input-path qiime2_outputs/dada2_output_V4NSE/table.qza --output-path qiime2_outputs/dada2_output_V4NSE_exported
qiime tools export --input-path qiime2_outputs/dada2_output_V4NSE/representative_sequences.qza --output-path qiime2_outputs/dada2_output_V4NSE_exported
biom convert -i qiime2_outputs/dada2_output_V4NSE_exported/feature-table.biom -o qiime2_outputs/dada2_output_V4NSE_exported/feature-table.txt --to-tsv
cp qiime2_outputs/dada2_output_V4NSE_exported/feature-table.txt ./ASV_tables/dada2_V4NSE_asv.txt
Output representative sequences
cp qiime2_outputs/dada2_output_V3V4/representative_sequences.qza representative_sequences/V3V4.qza
cp qiime2_outputs/dada2_output_V3V4toV4N/representative_sequences.qza representative_sequences/V3V4toV4N.qza
cp qiime2_outputs/dada2_output_V3V4toV4O/representative_sequences.qza representative_sequences/V3V4toV4O.qza
cp qiime2_outputs/dada2_output_V4N/representative_sequences.qza representative_sequences/V4N.qza
cp qiime2_outputs/dada2_output_V4NSE/representative_sequences.qza representative_sequences/V4NSE.qza
cp qiime2_outputs/dada2_output_V4O/representative_sequences.qza representative_sequences/V4O.qza
cp qiime2_outputs/dada2_output_V4OSE/representative_sequences.qza representative_sequences/V4OSE.qza
cp qiime2_outputs/archive/dada2_output_V4O_F141R140/representative_sequences.qza representative_sequences/V4O_F141R140.qza
Assign taxonomy
qiime feature-classifier classify-sklearn --i-reads representative_sequences/V3V4.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V3V4
qiime tools export --input-path Taxonomy/V3V4/classification.qza --output-path Taxonomy/V3V4
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V3V4toV4N.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V3V4toV4N
qiime tools export --input-path Taxonomy/V3V4toV4N/classification.qza --output-path Taxonomy/V3V4toV4N
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V3V4toV4O.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V3V4toV4O
qiime tools export --input-path Taxonomy/V3V4toV4O/classification.qza --output-path Taxonomy/V3V4toV4O
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V4N.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V4N
qiime tools export --input-path Taxonomy/V4N/classification.qza --output-path Taxonomy/V4N
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V4NSE.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V4NSE
qiime tools export --input-path Taxonomy/V4NSE/classification.qza --output-path Taxonomy/V4NSE
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V4O.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V4O
qiime tools export --input-path Taxonomy/V4O/classification.qza --output-path Taxonomy/V4O
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V4OSE.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V4OSE
qiime tools export --input-path Taxonomy/V4OSE/classification.qza --output-path Taxonomy/V4OSE
time qiime feature-classifier classify-sklearn --i-reads representative_sequences/V4O_F141R140.qza --i-classifier ~/metagenome_tool/QIIME2_taxa_classifiers/silva-132-99-nb-classifier.qza --p-n-jobs 12 \
--output-dir Taxonomy/V4O_F141R140
qiime tools export --input-path Taxonomy/V4O_F141R140/classification.qza --output-path Taxonomy/V4O_F141R140