library(dplyr)
demo_data <- readRDS("inst/DemoInput.RDS")
#### --- prepare read QC table data --- #####
tmp <-
left_join(demo_data[[4]], demo_data[[1]], by = "sample_name") %>%
select(experiment_id, target_id, sample_name, everything()) %>%
mutate(percent_usable_total_reads = as.numeric(`Usable reads total`) / as.numeric(number_of_reads) * 100) %>%
mutate(percent_usable_total_reads = round(percent_usable_total_reads, 2))
tmp2 <- tmp %>%
mutate(percent_usable_total_reads = 100 - percent_usable_total_reads)
tmp3 <- bind_rows(tmp, tmp2)
tmp4 <- tmp3 %>% mutate(experiment_id = "ANALYSIS02")
demo_data$qc_table <- bind_rows(tmp3, tmp4)
#### --- end prepare read QC table data --- #####
#### --- prepare read QC barplot data --- #####
qcb_tmp <- demo_data[[2]] %>%
left_join(demo_data[[6]],
by = c("sample_name" = "SampleName",
"experiment_id" = "ExperimentID"))
demo_data$qc_barplot <- qcb_tmp %>%
mutate(experiment_id = "ANALYSIS02") %>%
mutate(analysis_type = sample(
c(
"ANALYSIS01TypeA",
"ANALYSIS01TypeB",
"ANALYSIS02TypeA",
"ANALYSIS02TypeB"
),
size = nrow(.),
replace = TRUE
)) %>%
bind_rows(qcb_tmp)
#### --- end prepare read QC barplot data --- #####
#### --- prepare indel species distribution data --- #####
demo_data$indels <-
left_join(
demo_data[[3]],
demo_data[[6]],
by = c("sample_name" = "SampleName", "experiment_id" = "ExperimentID")
)
#### --- end prepare indel species distribution data --- #####
#### --- prepare sequence alignment data --- #####
demo_data$seq_aln <-
demo_data[[7]] %>%
mutate(experiment_id = "ANALYSIS02") %>%
bind_rows(demo_data[[7]]) %>%
mutate(analysis_type = sample(
c(
"ANALYSIS01TypeA",
"ANALYSIS01TypeB",
"ANALYSIS02TypeA",
"ANALYSIS02TypeB"
),
size = nrow(.),
replace = TRUE
)) %>%
mutate(pct_reads = round(as.numeric(pct_reads) * 100, 2))
demo_data$allele_freq <-
demo_data$seq_aln %>%
dplyr::mutate(MutationType = ifelse(MutationType == "NA", NA_character_, MutationType)) %>%
dplyr::group_by(`gdna id`, sample_name, target_id, MutationType) %>%
dplyr::summarise_at("pct_reads", mean, na.rm = TRUE) %>%
tidyr::drop_na(MutationType) %>%
tidyr::pivot_wider(names_from = MutationType, values_from = pct_reads) %>%
dplyr::mutate(GrandTotal = sum(Indel, `Indel+Subs`, Subs)) %>%
dplyr::ungroup() %>%
dplyr::mutate_if(is.numeric, round, 2)
#### --- end prepare sequence alignment data --- #####
# app config settings
all_dropdown_fields <- readRDS("inst/META/AllExperimentMetaData.RDS") %>%
janitor::clean_names(case = "big_camel") %>%
names()
default_dropdown_fields <- c(
"ExperimentId",
"AnalysisType",
"Organism",
"Platform",
"DateOfAnalysis",
"Analyst"
)
additional_dropdown_fields <-
setdiff(all_dropdown_fields, default_dropdown_fields)
additional_dropdown_fields <-
setNames(
additional_dropdown_fields,
janitor::make_clean_names(additional_dropdown_fields, case = "title")
)
app_config <- list(
AllDropdownFields = all_dropdown_fields,
DefaultDropdownFields = default_dropdown_fields,
AdditionalDropdownFields = additional_dropdown_fields
)
usethis::use_data(demo_data, app_config, internal = TRUE, overwrite = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.