Mercurial > repos > iuc > phyloseq_plot_ordination
view phyloseq_plot_ordination.R @ 2:dfe800a3faaf draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/phyloseq commit 5ec9f9e81bb9a42dec5c331dd23215ca0b027b2b
author | iuc |
---|---|
date | Sat, 16 Mar 2024 07:56:05 +0000 |
parents | 92e77800ef2c |
children |
line wrap: on
line source
#!/usr/bin/env Rscript suppressPackageStartupMessages(library("optparse")) suppressPackageStartupMessages(library("phyloseq")) option_list <- list( make_option(c("--input"), action = "store", dest = "input", help = "Input file containing a phyloseq object"), make_option(c("--method"), action = "store", dest = "method", help = "Ordination method"), make_option(c("--distance"), action = "store", dest = "distance", help = "Distance method"), make_option(c("--type"), action = "store", dest = "type", help = "Plot type"), make_option(c("--output"), action = "store", dest = "output", help = "Output") ) parser <- OptionParser(usage = "%prog [options] file", option_list = option_list) args <- parse_args(parser, positional_arguments = TRUE) opt <- args$options # Construct a phyloseq object. phyloseq_obj <- readRDS(opt$input) # Transform data to proportions as appropriate for # Bray-Curtis distances. proportions_obj <- transform_sample_counts(phyloseq_obj, function(otu) otu / sum(otu)) ordination_obj <- ordinate(proportions_obj, method = opt$method, distance = opt$distance) # Start PDF device driver and generate the plot. dev.new() pdf(file = opt$output) plot_ordination(proportions_obj, ordination_obj, type = opt$type) dev.off()