annotate phyloseq_from_dada2.R @ 0:46a99bd1f10e 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:04 +0000
parents
children b85ba18a8f36
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
1 #!/usr/bin/env Rscript
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
2
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
3 suppressPackageStartupMessages(library("optparse"))
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
4 suppressPackageStartupMessages(library("phyloseq"))
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
5 suppressPackageStartupMessages(library("tidyverse"))
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
6
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
7 option_list <- list(
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
8 make_option(c("--sequence_table"), action = "store", dest = "sequence_table", help = "Input sequence table"),
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
9 make_option(c("--taxonomy_table"), action = "store", dest = "taxonomy_table", help = "Input taxonomy table"),
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
10 make_option(c("--output"), action = "store", dest = "output", help = "RDS output")
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
11 )
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
12
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
13 parser <- OptionParser(usage = "%prog [options] file", option_list = option_list);
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
14 args <- parse_args(parser, positional_arguments = TRUE);
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
15 opt <- args$options;
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
16
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
17 # The input sequence_table is an integer matrix
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
18 # stored as tabular (rows = samples, columns = ASVs).
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
19 seq_table_numeric_matrix <- data.matrix(read.table(opt$sequence_table, sep = "\t"));
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
20
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
21 # The input taxonomy_table is a table containing
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
22 # the assigned taxonomies exceeding the minBoot
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
23 # level of bootstrapping confidence. Rows correspond
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
24 # to sequences, columns to taxonomic levels. NA
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
25 # indicates that the sequence was not consistently
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
26 # classified at that level at the minBoot threshold.
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
27 tax_table_matrix <- as.matrix(read.table(opt$taxonomy_table, header = FALSE, sep = "\t"));
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
28
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
29 # Construct a tax_table object. The rownames of
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
30 # tax_tab must match the OTU names (taxa_names)
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
31 # of the otu_table defined below.
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
32 tax_tab <- tax_table(tax_table_matrix);
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
33
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
34 # Construct an otu_table object.
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
35 otu_tab <- otu_table(seq_table_numeric_matrix, taxa_are_rows = TRUE);
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
36
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
37 # Construct a phyloseq object.
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
38 phyloseq_obj <- phyloseq(otu_tab, tax_tab);
46a99bd1f10e "planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit d1004c06207be773c278e12745aada276b63172e"
iuc
parents:
diff changeset
39 saveRDS(phyloseq_obj, file = opt$output, compress = TRUE);