# Captive animal gut microbiota is populated with microorganisms that are relevant to the digestion of host dominant diet # Yu Hsin Chu, Ziwen Ran # Suplementary QIIME2 script # Preliminary dataset processing using QIIME2 # Import demultiplexed sequences into qiime qiime tools import \ --type 'SampleData[SequencesWithQuality]' \ --input-path /mnt/datasets/project_2/zoo/zoo_manifest.txt \ --output-path demux.qza \ --input-format SingleEndFastqManifestPhred33V2 # Summarize and visualize the demultiplexed sequences qiime demux summarize \ --i-data demux.qza \ --o-visualization demux.qzv # Denoise and quality filter using DADA2 qiime dada2 denoise-single \ --i-demultiplexed-seqs demux.qza \ --p-trunc-len 170 \ --o-table dada2_table.qza \ --o-representative-sequences dada2_rep_set.qza \ --o-denoising-stats dada2_stats.qza # Review the denoising statistics qiime metadata tabulate \ --m-input-file dada2_stats.qza \ --o-visualization dada2_stats.qzv # Generate a summary of the features table qiime feature-table summarize \ --i-table dada2_table.qza \ --m-sample-metadata-file /mnt/datasets/project_2/zoo/zoo_metadata.txt \ --o-visualization dada2_table.qzv # Generate a summary of the features table qiime feature-table summarize \ --i-table dada2_table.qza \ --m-sample-metadata-file /mnt/datasets/project_2/zoo/zoo_metadata.txt \ --o-visualization dada2_table.qzv # Download the greengenes 13_8 99% identity reference tree backbone # From the greengeens database # Generate a reference phylogenetic tree qiime fragment-insertion sepp \ --i-representative-sequences dada2_rep_set.qza \ --i-reference-database sepp-refs-gg-13-8.qza \ --o-tree tree.qza \ --o-placements tree_placements.qza \ --p-threads 1 # Generating an alpha rarefaction curves plot for wild animals qiime diversity alpha-rarefaction \ --i-table filtered-table/wild-table.qza \ --i-phylogeny tree.qza \ --p-max-depth 131000 \ --p-steps 10 \ --m-metadata-file metadata1.tsv \ --o-visualization alpha-rarefaction-wild.qzv # Generating an alpha rarefaction curves plot for captive animals qiime diversity alpha-rarefaction \ --i-table filtered-table/captive-table.qza \ --i-phylogeny tree.qza \ --p-max-depth 131000 \ --p-steps 10 \ --m-metadata-file metadata1.tsv \ --o-visualization alpha-rarefaction-captive.qzv ################################################################# # Data Filtering and Grouping Based on Metadata Categories # Make a new directory for the filtered feature tables mkdir filtered-table # Generate a filtered feature table for wild animals qiime feature-table filter-samples \ --i-table dada2_table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[captive_wild]='wild'" \ --o-filtered-table filtered-table/wild-table.qza # Generate a filtered feature table for captive animals qiime feature-table filter-samples \ --i-table dada2_table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[captive_wild]='captive'" \ --o-filtered-table filtered-table/captive-table.qza # Generate a filtered feature table for wild carnivores qiime feature-table filter-samples \ --i-table filtered-table/wild-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='carnivore'" \ --o-filtered-table filtered-table/wild-carnivore-table.qza # Generate a filtered feature table for wild herbivores qiime feature-table filter-samples \ --i-table filtered-table/wild-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='herbivore'" \ --o-filtered-table filtered-table/wild-herbivore-table.qza # Generate a filtered feature table for wild omnivores qiime feature-table filter-samples \ --i-table filtered-table/wild-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='omnivore'" \ --o-filtered-table filtered-table/wild-omnivore-table.qza # Generate a filtered feature table for captive carnivores qiime feature-table filter-samples \ --i-table filtered-table/captive-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='carnivore'" \ --o-filtered-table filtered-table/captive-carnivore-table.qza # Generate a filtered feature table for captive herbivores qiime feature-table filter-samples \ --i-table filtered-table/captive-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='herbivore'" \ --o-filtered-table filtered-table/captive-herbivore-table.qza # Generate a filtered feature table for captive omnivores qiime feature-table filter-samples \ --i-table filtered-table/captive-table.qza \ --m-metadata-file metadata1.tsv \ --p-where "[diet_type]='omnivore'" \ --o-filtered-table filtered-table/captive-omnivore-table.qza # Summarize and visualize the filtered feature table wild carnivores qiime feature-table summarize \ --i-table filtered-table/wild-carnivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/wild-carnivore-table.qzv # Summarize and visualize the filtered feature table wild herbivores qiime feature-table summarize \ --i-table filtered-table/wild-herbivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/wild-herbivore-table.qzv # Summarize and visualize the filtered feature table wild omnivores qiime feature-table summarize \ --i-table filtered-table/wild-omnivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/wild-omnivore-table.qzv # Summarize and visualize the filtered feature table captive carnivores qiime feature-table summarize \ --i-table filtered-table/captive-carnivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/captive-carnivore-table.qzv # Summarize and visualize the filtered feature table wild herbivores qiime feature-table summarize \ --i-table filtered-table/captive-herbivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/captive-herbivore-table.qzv # Summarize and visualize the filtered feature table wild omnivores qiime feature-table summarize \ --i-table filtered-table/captive-omnivore-table.qza \ --m-sample-metadata-file metadata1.tsv \ --o-visualization filtered-table/captive-omnivore-table.qzv ####################################################################### # Diversity Analysis of Captive Animal Samples Based on Dominant Diet Categories # Calculate alpha- and beta-diversity metrics for captive carnivore: qiime diversity core-metrics-phylogenetic \ --i-table filtered-table/captive-carnivore-table.qza\ --i-phylogeny tree.qza \ --m-metadata-file metadata1.tsv \ --p-sampling-depth 70000 \ --output-dir core-metrics-results-aim1 # Alpha Diversity for captive carnivore # Calculate Faith's Phylogenetic Diversity for captive carnivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1/faith_pd_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1/faiths_pd_statistics_captive_carnivore.qzv # Calculate the Pielou's Evenness (Shannon's Diversity) for captive carnivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1/evenness_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1/evenness_statistics_captive_carnivore.qzv # Calculate alpha- and beta-diversity metrics for captive herbivore: qiime diversity core-metrics-phylogenetic \ --i-table filtered-table/captive-herbivore-table.qza\ --i-phylogeny tree.qza \ --m-metadata-file metadata1.tsv \ --p-sampling-depth 70000 \ --output-dir core-metrics-results-aim1 # Alpha Diversity for captive herbivore # Calculate Faith's Phylogenetic Diversity for captive herbivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1_1/faith_pd_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1_1/faiths_pd_statistics_captive_herbivore.qzv # Calculate the Pielou's Evenness (Shannon's Diversity) for captive herbivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1_1/evenness_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1_1/evenness_statistics_captive_herbivore.qzv # Calculate alpha- and beta-diversity metrics for captive omnivore: qiime diversity core-metrics-phylogenetic \ --i-table filtered-table/captive-omnivore-table.qza\ --i-phylogeny tree.qza \ --m-metadata-file metadata1.tsv \ --p-sampling-depth 70000 \ --output-dir core-metrics-results-aim1_2 # Alpha Diversity for captive omnivore # Calculate Faith's Phylogenetic Diversity for captive omnivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1_2/faith_pd_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1_2/faiths_pd_statistics_captive_omnivore.qzv # Calculate the Pielou's Evenness (Shannon's Diversity) for captive omnivore qiime diversity alpha-group-significance \ --i-alpha-diversity core-metrics-results-aim1_2/evenness_vector.qza \ --m-metadata-file metadata1.tsv \ --o-visualization core-metrics-results-aim1_2/evenness_statistics_captive_omnivore.qzv ####################################################################### # Calculate PERMANOVA for captive herbivores, omnivores, and carnivores # By dominant diet categories # Calculate PERMANOVA for captive herbivore by dominant diet categories qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-herbivore/unweighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-herbivore/weighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-herbivore/jaccard-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-herbivore/bray-curtis-dom-diet-cat-significance.qzv # Calculate PERMANOVA for captive omnivore by dominant diet categories qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-omnivore/unweighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-omnivore/weighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-omnivore/jaccard-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-omnivore/bray-curtis-dom-diet-cat-significance.qzv # Calculate PERMANOVA for captive carnivore by dominant diet categories qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-carnivore/unweighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-carnivore/weighted-unifrac-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-carnivore/jaccard-dom-diet-cat-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column dom_diet_cat \ --o-visualization core-metrics-carnivore/bray-curtis-dom-diet-cat-significance.qzv # Calculate PERMANOVA for captive herbivores, omnivores, and carnivores # By host phylogeny # Calculate PERMANOVA for captive herbivore by host phylogeny qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-herbivore/unweighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-herbivore/weighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-herbivore/jaccard-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-herbivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-herbivore/bray-curtis-taxonomy-order-significance.qzv # Calculate PERMANOVA for captive omnivore by host phylogeny qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-omnivore/unweighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-omnivore/weighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-omnivore/jaccard-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-omnivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-omnivore/bray-curtis-taxonomy-order-significance.qzv # Calculate PERMANOVA for captive carnivore by host phylogeny qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/unweighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-carnivore/unweighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/weighted_unifrac_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-carnivore/weighted-unifrac-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/jaccard_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-carnivore/jaccard-taxonomy-order-significance.qzv qiime diversity beta-group-significance \ --i-distance-matrix core-metrics-carnivore/bray_curtis_distance_matrix.qza \ --m-metadata-file metadata1.tsv \ --m-metadata-column Taxonomy_Order \ --o-visualization core-metrics-carnivore/bray-curtis-taxonomy-order-significance.qzv ######################################################## # Taxonomic Classification Using a Trained Classifier # Train a classifier # Download and unzip the entire Greengenes 99% database wget "ftp://greengenes.microbio.me/greengenes_release/gg_13_5/gg_13_8_otus.tar.gz" gunzip gg_13_8_otus.tar.gz tar -xvf gg_13_8_otus.tar # Extract two specific files and transform them into .qza files for use in QIIME2 # Extract and transform the 16S sequences qiime tools import \ --type 'FeatureData[Sequence]' \ --input-path gg_13_8_otus/rep_set/99_otus.fasta \ --output-path ref-otus.qza # Extract and transform the associated taxonomic information qiime tools import \ --type 'FeatureData[Taxonomy]' \ --input-format HeaderlessTSVTaxonomyFormat \ --input-path gg_13_8_otus/taxonomy/99_otu_taxonomy.txt \ --output-path ref-taxonomy.qza # Extract study-specific reference reads qiime feature-classifier extract-reads \ --i-sequences ref-otus.qza \ --p-f-primer GTGCCAGCMGCCGCGGTAA \ --p-r-primer GGACTACHVHHHTWTCTAAT \ --p-trunc-len 170 \ --o-reads ref-seqs.qza # Train a classifier using the reference reads qiime feature-classifier fit-classifier-naive-bayes \ --i-reference-reads ref-seqs.qza \ --i-reference-taxonomy ref-taxonomy.qza \ --o-classifier classifier.qza # Use trained classifier to assign taxonomy to our study sequences (rep-seqs) and use metadata file to create the taxonomic barplots visualization file qiime feature-classifier classify-sklearn \ --i-classifier classifier.qza \ --i-reads rep-seqs.qza \ --o-classification taxonomy.qza ###################################### # Taxonomic classification qiime feature-classifier classify-sklearn \ --i-classifier classifier.qza \ --i-reads dada2_rep_set.qza \ --o-classification taxonomy.qza # Review the taxonomy plot qiime metadata tabulate \ --m-input-file taxonomy.qza \ --o-visualization taxonomy.qzv # Tabulate the representative sequences qiime feature-table tabulate-seqs \ --i-data dada2_rep_set.qza \ --o-visualization dada2_rep_set.qzv # Generate the taxonomy bar chart for captive carnivores # Filter out samples with fewer sequences than our rarefaction depth qiime feature-table filter-samples \ --i-table filtered-table/captive-carnivore-table.qza \ --p-min-frequency 70000 \ --o-filtered-table taxonomy1/cap_carni_table_70k.qza # Use the filtered table to build an interactive bar plot of the taxonomy in each sample qiime taxa barplot \ --i-table taxonomy1/cap_carni_table_70k.qza \ --i-taxonomy taxonomy.qza \ --m-metadata-file metadata1.tsv \ --o-visualization taxonomy1/cap_carni_taxa_barplot.qzv # Generate the taxonomy bar chart for captive herbivores # Filter out samples with fewer sequences than our rarefaction depth qiime feature-table filter-samples \ --i-table filtered-table/captive-herbivore-table.qza \ --p-min-frequency 70000 \ --o-filtered-table taxonomy1/cap_herbi_table_70k.qza # Use the filtered table to build an interactive barplot of the taxonomy in each sample qiime taxa barplot \ --i-table taxonomy1/cap_herbi_table_70k.qza \ --i-taxonomy ./taxonomy.qza \ --m-metadata-file ./metadata1.tsv \ --o-visualization taxonomy1/cap_herbi_taxa_barplot.qzv # Generate the taxonomy bar chart for captive omnivores # Filter out samples with fewer sequences than our rarefaction depth qiime feature-table filter-samples \ --i-table filtered-table/captive-omnivore-table.qza \ --p-min-frequency 70000 \ --o-filtered-table taxonomy1/cap_omni_table_70k.qza # Use the filtered table to build an interactive bar plot of the taxonomy in each sample qiime taxa barplot \ --i-table taxonomy1/cap_omni_table_70k.qza \ --i-taxonomy ./taxonomy.qza \ --m-metadata-file ./metadata1.tsv \ --o-visualization taxonomy1/cap_omni_taxa_barplot.qzv # Generate the taxonomy bar chart for all captive animals # Filter out samples with fewer sequences than our rarefaction depth qiime feature-table filter-samples \ --i-table filtered-table/captive-table.qza \ --p-min-frequency 70000 \ --o-filtered-table taxonomy1/captive_table_70k.qza # Use the filtered table to build an interactive bar plot of the taxonomy in each sample qiime taxa barplot \ --i-table taxonomy1/captive_table_70k.qza \ --i-taxonomy ./taxonomy.qza \ --m-metadata-file ./metadata1.tsv \ --o-visualization taxonomy1/captive_taxa_barplot.qzv # Preparing files for differential abundance analysis in R # Rename the directories of diversity metric output mv core-metrics-results-aim1 core-metrics-carnivore mv core-metrics-results-aim1_1 core-metrics-herbivore mv core-metrics-results-aim1_2 core-metrics-omnivore # For easier import to R, calculate the diversity metrics for the unfiltered feature table # Calculate core diversity metrics for the unfiltered feature table qiime diversity core-metrics-phylogenetic \ --i-table dada2_table.qza\ --i-phylogeny tree.qza \ --m-metadata-file metadata1.tsv \ --p-sampling-depth 70000 \ --output-dir master-core-metrics-results # Make a directory for the output files (input to R) mkdir Rinput # Export the phylogenetic tree qiime tools export \ --input-path tree.qza \ --output-path Rinput # Export the evenness output for all features qiime tools export \ --input-path master-core-metrics/evenness_vector.qza \ --output-path Rinput/ # Rename the exported evenness file mv Rinput/alpha-diversity.tsv Rinput/evenness.tsv # Export the faith_pd output for all features qiime tools export \ --input-path master-core-metrics/evenness_vector.qza \ --output-path Rinput/ # Rename the exported evenness file mv Rinput/alpha-diversity.tsv Rinput/faith.tsv # Export the Shannon's index output for all features qiime tools export \ --input-path master-core-metrics/shannon_vector.qza \ --output-path Rinput/ # Rename the exported evenness file mv Rinput/alpha-diversity.tsv Rinput/shannon.tsv