#' @title A boxplot for user specified list of taxa
#' @description User specifed OTUs are plotted.
#' @details Useful for instances where user is interested only in some OTUs. For example OTUs
#' reported to be significantly diferent.
#'
#' @param x \code{\link{phyloseq-class}} object.
#' @param select.taxa a character list of taxa to be plotted. eg. select.taxa <- c("OTU-370251", "OTU-311173", "OTU-341024").
#' @param variableA Variable of interested to be checked. This will also be used to color the plot.
#' @param palette Any of the RColorBrewer plettes.
#' @param plot.type Three optons c("stripchart", "boxplot", "violin")
#' @param group.order Default is NULL. a list specifing order of x-axis. E.g. c("H","CRC","nonCRC")
#' @return \code{\link{ggplot}} object. This can be further modified using ggpubr.
#' @export
#' @examples
#' \dontrun{
#' # Example data
#' library(microbiome)
#' library(microbiomeutilities)
#' data("zackular2014")
#' p0 <- zackular2014
#' p0.f <- format_to_besthit(p0)
#' select.taxa <- c("OTU-d__denovo31:Dorea", "OTU-d__denovo24:Blautia")
#' p <- plot_select_taxa(p0.f, select.taxa, "DiseaseState", "Paired", plot.type = "stripchart")
#' print(p)
#' }
#' @keywords utilities
#'
plot_select_taxa <- function(x, select.taxa, variableA,
palette, plot.type,
group.order = NULL) {
x.rel <- x.prun <- x.df <- p.box <- p.vio <- p.strp <- NULL
.Deprecated("plot_listed_taxa", "The microbiomeutilties::plot_select_taxa function is deprecated.")
x.rel <- microbiome::transform(x, "compositional")
x.prun <- prune_taxa(select.taxa, x.rel)
x.df <- phy_to_ldf(x.prun, transform.counts = NULL)
if (!is.null(group.order)) {
x.df[, variableA] <- factor(x.df[, variableA],
levels = group.order
)
}
if (plot.type == "boxplot") {
p <- ggpubr::ggboxplot(x.df, variableA, "Abundance",
facet.by = "OTUID",
color = variableA, palette = palette,
legend = "right", add = "jitter",
panel.labs.background = list(fill = "white")
)
} else if (plot.type == "violin") {
p <- ggpubr::ggviolin(x.df, variableA, "Abundance",
facet.by = "OTUID",
color = variableA, palette = palette,
legend = "right", add = "jitter",
panel.labs.background = list(fill = "white")
)
} else if (plot.type == "stripchart") {
p <- ggpubr::ggstripchart(x.df, variableA, "Abundance",
facet.by = "OTUID",
color = variableA, palette = palette,
legend = "right", panel.labs.background = list(fill = "white")
)
}
return(p)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.