## ----include = FALSE---------------------------------------------------------- knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ## ----installation, eval=FALSE------------------------------------------------- # if (!requireNamespace("BiocManager", quietly = TRUE)){ # install.packages("BiocManager") # } # BiocManager::install("infinityFlow") ## ----load_package, eval = TRUE------------------------------------------------ library(infinityFlow) data(steady_state_lung) ## ----load_example, eval=TRUE-------------------------------------------------- dir <- file.path(tempdir(), "infinity_flow_example") print(dir) input_dir <- file.path(dir, "fcs") write.flowSet(steady_state_lung, outdir = input_dir) ## Omit this if you already have FCS files list.files(input_dir) ## ----load_annotation---------------------------------------------------------- data(steady_state_lung_annotation) print(steady_state_lung_annotation) ## ----eval = FALSE------------------------------------------------------------- # backbone_specification <- select_backbone_and_exploratory_markers(list.files(input_dir, pattern = ".fcs", full.names = TRUE)) ## ----backbone specification input--------------------------------------------- data(steady_state_lung_backbone_specification) print(head(steady_state_lung_backbone_specification)) ## ----backbone specification output-------------------------------------------- write.csv(steady_state_lung_backbone_specification, file = file.path(dir, "backbone_selection_file.csv"), row.names = FALSE) ## ----inspect input directory-------------------------------------------------- list.files(dir) ## ----input FCS files path argument-------------------------------------------- path_to_fcs <- file.path(dir, "fcs") head(list.files(path_to_fcs, pattern = ".fcs")) ## ----output path argument----------------------------------------------------- path_to_output <- file.path(dir, "output") ## ----backbone selection file path argument------------------------------------ list.files(dir) backbone_selection_file <- file.path(dir, "backbone_selection_file.csv") head(read.csv(backbone_selection_file)) ## ----targets and isotypes arguments------------------------------------------- targets <- steady_state_lung_annotation$Infinity_target names(targets) <- rownames(steady_state_lung_annotation) isotypes <- steady_state_lung_annotation$Infinity_isotype names(isotypes) <- rownames(steady_state_lung_annotation) head(targets) head(isotypes) ## ----input and output events downsampling argument---------------------------- input_events_downsampling <- 1000 prediction_events_downsampling <- 500 cores = 1L ## ----input temporary directory path------------------------------------------- path_to_intermediary_results <- file.path(dir, "tmp") ## ----pipeline execution, eval = TRUE------------------------------------------ imputed_data <- infinity_flow( path_to_fcs = path_to_fcs, path_to_output = path_to_output, path_to_intermediary_results = path_to_intermediary_results, backbone_selection_file = backbone_selection_file, annotation = targets, isotype = isotypes, input_events_downsampling = input_events_downsampling, prediction_events_downsampling = prediction_events_downsampling, verbose = TRUE, cores = cores ) ## ----------------------------------------------------------------------------- head(list.files(path_to_fcs)) ## Input files fcs_raw <- file.path(path_to_output, "FCS", "split") head(list.files(fcs_raw)) ## Raw output FCS files fcs_bgc <- file.path(path_to_output, "FCS_background_corrected", "split") ## Background-corrected output FCS files head(list.files(fcs_bgc)) ## Background-corrected output FCS files ## ----------------------------------------------------------------------------- file.path(path_to_output, "umap_plot_annotated.pdf") ## Raw plot file.path(path_to_output, "umap_plot_annotated_backgroundcorrected.pdf") ## Background-corrected plot ## ----eval = FALSE, echo = FALSE----------------------------------------------- # knitr::include_graphics(file.path(path_to_output, "umap_plot_annotated.pdf")) ## ----------------------------------------------------------------------------- sessionInfo() ## ----debugging, eval = FALSE, echo = FALSE------------------------------------ # files = list.files(dir, recursive = TRUE) # sapply( # files, # function(x){ # file.copy(from = file.path(dir, x), to = "~/Desktop/test/", recursive = TRUE) # } # )