data-raw/demo-data.R

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)
teofiln/gene.editing.dash documentation built on Feb. 21, 2022, 12:59 a.m.