View source: R/plotRidgelines.R
| plotRidgelines | R Documentation | 
Plot ridgeline plots
plotRidgelines(
  input,
  batch = NULL,
  channels,
  colors = NULL,
  transformList = NULL,
  quantiles = c(seq(0, 1, 0.1))
)
| input | Paths to fcs files. | 
| batch | Optional vector with a batch label for each file | 
| channels | Channels to plot | 
| colors | Optional vector with a color for each batch | 
| transformList | In case the data from the fcs files still needs to be transformed. Default NULL, in which case no transformation happens. | 
| quantiles | Optional vector specifying the quantiles that need to be highlighted and connected. | 
Named list with a plot per channel
dir <- system.file("extdata", package = "CytoNorm")
files <- list.files(dir, pattern = "fcs$")
ff <- flowCore::read.FCS(file.path(dir, files[1]))
channels <- grep("Di$", flowCore::colnames(ff), value = TRUE)
transformList <- flowCore::transformList(channels,
                                         cytofTransform)
beforeNorm <- plotRidgelines(input = file.path(dir, files), 
                             batch = stringr::str_match(files, "PTLG[0-9]*")[,1],
                             channels = c("Er170Di", "La139Di"),
                             colors = c("PTLG021" = "#d8e2dc", 
                                        "PTLG028" = "#ffe5d9",
                                        "PTLG034" = "#ffcad4"),
                             transformList = transformList,
                             quantiles = c(0.01, 0.25, 0.5, 0.75, 0.99))
                             
data <- data.frame(File = files,
                   Path = file.path(dir, files),
                   Type = stringr::str_match(files, "_([12]).fcs")[,2],
                   Batch = stringr::str_match(files, "PTLG[0-9]*")[,1],
                   stringsAsFactors = FALSE)
data$Type <- c("1" = "Train", "2" = "Validation")[data$Type]
train_data <- dplyr::filter(data, Type == "Train")
validation_data <- dplyr::filter(data, Type == "Validation")
ff <- flowCore::read.FCS(data$Path[1])
channels <- grep("Di$", flowCore::colnames(ff), value = TRUE)
transformList.reverse <- flowCore::transformList(channels,
                                                 cytofTransform.reverse)
model <- CytoNorm.train(files = train_data$Path,
                        labels = train_data$Batch,
                        channels = channels,
                        transformList = transformList,
                        FlowSOM.params = list(nCells = 10000, #1000000
                                              xdim = 15,
                                              ydim = 15,
                                              nClus = 10,
                                              scale = FALSE),
                        normParams = list(nQ = 99),
                        seed = 1,
                        verbose = TRUE)
CytoNorm.normalize(model = model,
                   files = validation_data$Path,
                   labels = validation_data$Batch,
                   transformList = transformList,
                   transformList.reverse = transformList.reverse,
                   outputDir = "Normalized",
                   verbose = TRUE)
files <- list.files("Normalized", pattern = "fcs$")
afterNorm <- plotRidgelines(input = file.path("Normalized", files), 
                            batch = stringr::str_match(files, "PTLG[0-9]*")[,1],
                            channels = c("Er170Di", "La139Di"),
                            colors = c("PTLG021" = "#d8e2dc", 
                                       "PTLG028" = "#ffe5d9",
                                       "PTLG034" = "#ffcad4"),
                            transformList = transformList,
                            quantiles = c(0.01, 0.25, 0.5, 0.75, 0.99))
p <- list()
for (i in 1:length(beforeNorm)){
  p[[length(p)+1]] <- ggpubr::ggarrange(beforeNorm[[i]], afterNorm[[i]], nrow =1)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.