diff --git a/panels/dataInput.R b/panels/dataInput.R index b448f1b90482eaf5b2e74d7dca9bd452b0c4fa8f..ef78cd83c45acab0df6d761960fa7293b6469aa0 100644 --- a/panels/dataInput.R +++ b/panels/dataInput.R @@ -279,6 +279,7 @@ transformSample <- function() { choices = c("None" = "none", "Proportional Transformation" = "prop", "Square Root Transformation" = "sqrt", + "Square Root Proportional Transformation" = "sqrtprop", "Centered Log-Ratio (CLR) Transformation" = "clr") ), @@ -299,6 +300,9 @@ output$transformFun <- renderText({ "data_prop <- transform_sample_counts(data, count_to_prop)", sep = "\n"), "sqrt" = "data_sqrt <- transform_sample_counts(data, sqrt)", + "sqrtprop" = paste("count_to_sqrtprop <- function(x) {return(sqrt(x / sum(x)))}", + "data_sqrtprop <- transform_sample_counts(data, count_to_sqrtprop)", + sep = "\n"), "clr" = paste("gm_mean <- function(x, na.rm=TRUE) {", " return(exp(mean(log(x), na.rm=na.rm)))", "}", @@ -327,6 +331,10 @@ observeEvent(input$transformData, { "sqrt" = { physeq(transform_sample_counts(physeq(), sqrt)) }, + "sqrtprop" = { + count_to_sqrtprop <- function(x) {return(sqrt(x / sum(x)))} + physeq(transform_sample_counts(physeq(), count_to_sqrtprop)) + }, "clr" = { gm_mean <- function(x, na.rm=TRUE) { return(exp(mean(log(x), na.rm=na.rm)))