# Step1 import data import=${results}/01.import-to-qiime2 mkdir ${import} qiime tools import \ --type 'SampleData[SequencesWithQuality]' \ --input-path ${import}/manifest.tsv \ --output-path ${import}/single-end-demux.qza \ --input-format SingleEndFastqManifestPhred33V2 qiime demux summarize \ --i-data ${import}/single-end-demux.qza \ --o-visualization ${import}/single-end-demux.qzv # step2 quality control qc=${results}/02.quality-filter mkdir ${qc} qiime quality-filter q-score \ --i-demux ${import}/single-end-demux.qza \ --o-filtered-sequences ${qc}/single-end-demux-filtered.qza \ --o-filter-stats ${qc}/single-end-demux-filtered-stats.qza qiime metadata tabulate \ --m-input-file ${qc}/single-end-demux-filtered-stats.qza \ --o-visualization ${qc}/single-end-demux-filtered-stats.qzv # Step3 DADA2 denoising dada2=${results}/03.dada2-denoise mkdir ${dada2} qiime dada2 denoise-single \ --i-demultiplexed-seqs ${qc}/single-end-demux-filtered.qza \ --p-trunc-len 250 \ --p-trim-left 35 \ --p-n-threads 60 \ --o-table ${dada2}/dada2-table.qza \ --o-representative-sequences ${dada2}/dada2-rep-seqs.qza \ --o-denoising-stats ${dada2}/dada2-stats.qza qiime feature-table tabulate-seqs \ --i-data ${dada2}/dada2-rep-seqs.qza \ --o-visualization ${dada2}/dada2-rep-seqs.qzv # Step 4 Taxonomic annot taxonomy=${results}/04.taxonomy-annot mkdir ${taxonomy} database=${taxonomy}/01.database annotDir=${taxonomy}/02.annotation mkdir -p ${database} ${annotDir} qiime feature-classifier classify-sklearn \ --p-n-jobs 128 \ --i-classifier ${database}/silva-138-99-nb-classifier-full.qza \ --i-reads ${dada2}/dada2-rep-seqs.qza \ --o-classification ${annotDir}/dada2-rep-seqs-taxonomy.qza qiime metadata tabulate \ --m-input-file ${annotDir}/dada2-rep-seqs-taxonomy.qza \ --o-visualization ${annotDir}/dada2-rep-seqs-taxonomy.qzv # Step 5 ASV filter asvFilter=${results}/05.asv-filter mkdir ${asvFilter} # remove doubletons qiime feature-table filter-features \ --i-table ${dada2}/dada2-table.qza \ --p-min-frequency 2 \ --o-filtered-table ${asvFilter}/dada2-frequency-filtered-table.qza qiime feature-table summarize \ --i-table ${asvFilter}/dada2-frequency-filtered-table.qza \ --o-visualization ${asvFilter}/dada2-frequency-filtered-table.qzv \ --m-sample-metadata-file ${metadata} # remove ASVs less than two samples qiime feature-table filter-features \ --i-table ${asvFilter}/dada2-frequency-filtered-table.qza \ --p-min-samples 2 \ --o-filtered-table ${asvFilter}/dada2-contingency-filtered-table.qza qiime feature-table summarize \ --i-table ${asvFilter}/dada2-contingency-filtered-table.qza \ --o-visualization ${asvFilter}/dada2-contingency-filtered-table.qzv \ --m-sample-metadata-file ${metadata} # remove choloroplast and mitochondrion qiime taxa filter-table \ --i-table ${asvFilter}/dada2-contingency-filtered-table.qza \ --i-taxonomy ${annotDir}/dada2-rep-seqs-taxonomy.qza \ --p-exclude mitochondria,chloroplast \ --o-filtered-table ${asvFilter}/table-no-mitochondria-no-chloroplast-final.qza qiime feature-table summarize \ --i-table ${asvFilter}/table-no-mitochondria-no-chloroplast-final.qza \ --o-visualization ${asvFilter}/table-no-mitochondria-no-chloroplast-final.qzv \ --m-sample-metadata-file ${metadata} ## Step 6 Resampling resample=${results}/06.asv-resample mkdir ${resample} qiime feature-table rarefy \ --i-table ${asvFilter}/table-no-mitochondria-no-chloroplast-final.qza \ --p-sampling-depth 18900 \ --o-rarefied-table ${resample}/table-no-mitochondria-no-chloroplast-final-resampled.qza qiime feature-table summarize \ --i-table ${resample}/table-no-mitochondria-no-chloroplast-final-resampled.qza \ --o-visualization ${resample}/table-no-mitochondria-no-chloroplast-final-resampled.qzv \ --m-sample-metadata-file ${metadata} # Step 7 Taxonomic composition taxbarplot=${results}/07.taxon-barplot mkdir ${taxbarplot} qiime taxa barplot \ --i-table ${resample}/table-no-mitochondria-no-chloroplast-final-resampled.qza \ --m-metadata-file ${metadata} \ --i-taxonomy ${annotDir}/dada2-rep-seqs-taxonomy.qza \ --o-visualization ${taxbarplot}/table-no-mitochondria-no-chloroplast-final-resampled-barplot.qzv #Step 8 Export ASV table featrueTable=${results}/08.feature-table mkdir -p ${featrueTable} qiime tools export \ --input-path ${resample}/table-no-mitochondria-no-chloroplast-final-resampled.qza \ --output-path ${featrueTable} qiime biom convert \ -i ${featrueTable}/feature-table.biom \ -o ${featrueTable}/feature-table.tsv \ --to-tsv \ --table-type 'OTU table'