Mercurial > repos > iuc > phyloseq_plot_ordination
diff phyloseq_from_dada2.R @ 0:11d43fa12aab draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
author | iuc |
---|---|
date | Thu, 03 Mar 2022 13:28:30 +0000 |
parents | |
children | 92e77800ef2c |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/phyloseq_from_dada2.R Thu Mar 03 13:28:30 2022 +0000 @@ -0,0 +1,39 @@ +#!/usr/bin/env Rscript + +suppressPackageStartupMessages(library("optparse")) +suppressPackageStartupMessages(library("phyloseq")) +suppressPackageStartupMessages(library("tidyverse")) + +option_list <- list( + make_option(c("--sequence_table"), action = "store", dest = "sequence_table", help = "Input sequence table"), + make_option(c("--taxonomy_table"), action = "store", dest = "taxonomy_table", help = "Input taxonomy table"), + make_option(c("--output"), action = "store", dest = "output", help = "RDS output") +) + +parser <- OptionParser(usage = "%prog [options] file", option_list = option_list); +args <- parse_args(parser, positional_arguments = TRUE); +opt <- args$options; + +# The input sequence_table is an integer matrix +# stored as tabular (rows = samples, columns = ASVs). +seq_table_numeric_matrix <- data.matrix(read.table(opt$sequence_table, sep = "\t")); + +# The input taxonomy_table is a table containing +# the assigned taxonomies exceeding the minBoot +# level of bootstrapping confidence. Rows correspond +# to sequences, columns to taxonomic levels. NA +# indicates that the sequence was not consistently +# classified at that level at the minBoot threshold. +tax_table_matrix <- as.matrix(read.table(opt$taxonomy_table, header = FALSE, sep = "\t")); + +# Construct a tax_table object. The rownames of +# tax_tab must match the OTU names (taxa_names) +# of the otu_table defined below. +tax_tab <- tax_table(tax_table_matrix); + +# Construct an otu_table object. +otu_tab <- otu_table(seq_table_numeric_matrix, taxa_are_rows = TRUE); + +# Construct a phyloseq object. +phyloseq_obj <- phyloseq(otu_tab, tax_tab); +saveRDS(phyloseq_obj, file = opt$output, compress = TRUE);