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)
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") }
r sample_select_prompt_out
r sample_select_out
kable(params$met1) %>% kable_styling("striped", full_width = TRUE) %>% scroll_box(width="100%", height="500px")
r params$aggregate_by
leveln_collapse
columnkable(params$aggregated_tax) %>% kable_styling("striped", full_width = TRUE) %>% scroll_box(width="100%", height="500px")
kable(params$aggregated_count) %>% kable_styling("striped", full_width = TRUE) %>% scroll_box(width="100%", height="500px")
# features to exclude from analysis asv_select_prompt_out <- switch(params$asv_select_prompt, all = 'Use all features', some = 'Filter features')
r asv_select_prompt_out
# 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"))
}
out <- params$tax2 %>% relocate(sequence, .after=last_col()) kable(out) %>% kable_styling("striped", full_width = TRUE) %>% scroll_box(width="100%", height="500px")
bar_y_out <- switch(params$bar_y, rel_abund = 'Relative abundance', cnt_abund = 'Read count')
Observing r bar_y_out
based on r params$bar_x
.
Abundance values aggregated at r params$aggregate_by
level. The mean relative abundance is shown when selected group variable contains multiple samples.
kable(params$bar_table, caption=sprintf("%s level microbiome profile", params$aggregate_by)) %>% kable_styling("striped", full_width = TRUE) %>% scroll_box(width="100%", height="500px")
params$p_bar + theme(legend.position = 'bottom')
It is a good idea to check the zero content of microbiome data. The proportion of zeros in the data set is an indication of whether features are prevalent throughout samples (low sparsity) or are rarely observed in the dataset (high sparsity).
params$p_zero
Count data converted into binary, where 0 = absent and 1 = present can be shown as a heatmap. Samples and features are clustered based on Jaccard distance, and complete linkage.
params$binary_hmap
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.