require(dplyr)
require(tidyr)
require(knitr)
require(ggplot2)
require(kableExtra)
knitr::opts_chunk$set(echo = FALSE, cache = FALSE, warning = FALSE, 
                      message = TRUE, result = 'asis', 
                      fig.width = 8, fig.height = 6)

Data Preparation

Filtering Samples

Parameters selected:

sample_select_prompt_out <- switch(params$sample_select_prompt, 
                                   all = "Use all samples",
                                   include = "Include selected samples",
                                   exclude = "Exclude selected samples")

if(params$sample_select_prompt == 'all') {
  sample_select_out <- 'Not applicable'
} else {
  sample_select_out <- paste0(' ', params$sample_select, collapse="\n")
}

Samples included in analysis:

kable(params$met1) %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

Aggregating Features

Parameters selected:

Aggregated Features

Aggregated Taxonomy Table

kable(params$aggregated_tax) %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

Aggregated Count table

kable(params$aggregated_count) %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

Filtering Features

Parameters selected:

# features to exclude from analysis
asv_select_prompt_out <- switch(params$asv_select_prompt,
                                all = 'Use all features',
                                some = 'Filter features')
# Filter features by
if(params$asv_select_prompt == 'some') {
  asv_filter_options_out <- switch(params$asv_filter_options,
                                   asv_by_count = 'read count',
                                   asv_by_select = 'selection')
} else {
  asv_filter_options_out <- 'Not applicable'
}

if(params$asv_select_prompt == 'some' & params$asv_filter_options == 'asv_by_count') {
  # Set filter cut-off by
  cutoff_method_out <- switch(
    params$cutoff_method,
    abs_count = 'Read count',
    percent_sample = 'Percent of total read count of each sample',
    percent_total = 'Percent of total read count of dataset'
  )

  # Read count cut-off
  asv_cutoff_out <- params$asv_cutoff

  # Feature prevalence
  prevalence_out <- params$prevalence

  # filter message
  asv_cutoff_msg_out <- params$asv_cutoff_msg
} else {
  cutoff_method_out <- 'Not applicable'
  asv_cutoff_out <- 'Not applicable'
  prevalence_out <- 'Not applicable'
  asv_cutoff_msg_out <- 'Features not filtered by read count'

}

r if(params$asv_select_prompt == 'some' & params$asv_filter_options == 'asv_by_count') { paste("* Filter features by:", asv_filter_options_out, sep=" ") paste("* Set filter cut-off by:", cutoff_method_out, sep=" ") paste("* Read count cut-off:", asv_cutoff_out, sep=" ") paste("* Feature prevalence (# of samples):", prevalence_out, sep=" ") "\n" asv_cutoff_msg_out }

params$prev_agg_plot
params$prev_read_plot

r if(params$asv_select_prompt == 'some' & params$asv_filter_options == 'asv_by_select') { paste("* Filter features by: ", asv_filter_options_out, sep=" ") "* Features selected to be excluded:" }

out <- params$tax1 %>% 
  filter(featureID %in% params$asv_remove) %>% 
  relocate(sequence, .after=last_col())
kable(out) %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

r if(length(params$empty_sample) > 0) { sprintf("%s samples contained 0 reads after ASV filtering. The following samples have been removed:\n%s", length(params$empty_sample), paste(params$empty_sample, collapse="\n")) }

r if(length(params$empty_asv) > 0) { sprintf("%s asvs contained 0 reads in all samples after ASV filtering. The following asvs have been removed:\n%s", length(params$empty_asv), paste(params$empty_asv, collapse="\n")) }

Features included in analysis:

out <- params$tax2 %>% 
  relocate(sequence, .after=last_col())

kable(out) %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

Alpha Diversity

Alpha diversity assesses the diversity of sets of communities (or sets of samples). Species richness is the number of unique species. Species evenness is a measure of the consistency of species abundances (uneven data sets have community members that dominate in abundance). Entropy measures such as Shannon entropy and Simpson index are measures of uncertainty in the species identity of a sample Jost, 2006. Diversity measures, such as Shannon's Diversity and Inverse Simpson's Index, takes into account of the abundance of species in the community. In fact, when all species in a community are equally common, entropy and diveristy measures are equivalent. Entropy indeces can be converted to diversity by mathematical transformation.

kable(params$alpha_result, caption = "Alpha-diversity metrics for each sample.") %>%
  kable_styling("striped", full_width = TRUE) %>% 
  scroll_box(width="100%", height="500px")

r if(params$validation_msg != 'valid') { params$validation_msg }

kable(params$alpha_stat, caption = "Results of group-wise statistical test.")
params$p_alpha


schyen/OCMSExplorer documentation built on Feb. 15, 2023, 4:39 p.m.