## ----setup, include = FALSE--------------------------------------------------- knitr::opts_chunk$set( eval = TRUE, collapse = TRUE, # results = "asis", include = TRUE, echo = TRUE, warning = TRUE, message = TRUE, error = TRUE, # tidy = FALSE, # crop = TRUE, # autodep = TRUE, fig.align = "center", fig.pos = "!h", cache = FALSE ) ## ----logo, echo = FALSE, out.width = "150px"---------------------------------- knitr::include_graphics(path = "nacho_hex.png") ## ----eval = FALSE------------------------------------------------------------- # # Install NACHO from CRAN: # install.packages("NACHO") # # # Or the the development version from GitHub: # # install.packages("remotes") # remotes::install_github("mcanouil/NACHO") ## ----message = FALSE---------------------------------------------------------- # Load NACHO library(NACHO) ## ----echo = FALSE, results = "asis"------------------------------------------- cat(readLines(system.file("app", "www", "about-nacho.md", package = "NACHO"))[-c(1, 2)], sep = "\n") ## ----echo = FALSE, results = "asis"------------------------------------------- print(citation("NACHO"), "html") ## ----echo = FALSE, comment = ""----------------------------------------------- print(citation("NACHO"), "bibtex") ## ----ex1, eval = FALSE-------------------------------------------------------- # library(NACHO) # data(GSE74821) # visualise(GSE74821) ## ----ex1-fig, echo = FALSE, out.width = "650px"------------------------------- knitr::include_graphics(path = "README-visualise.png") ## ----geo-down, echo = FALSE, warning = FALSE, message = FALSE, error = FALSE---- gse <- try(GEOquery::getGEO("GSE70970"), silent = TRUE) if (inherits(gse, "try-error")) { # when GEOquery is down cons <- showConnections(all = TRUE) icons <- which(grepl("GSE70970", cons[, "description"])) - 1 for (icon in icons) close(getConnection(icon)) cat( "Note: `GEOquery` seems to be currently down. Thus, the following code was not executed.\n" ) } ## ----ex2, results = "hide", message = FALSE, warning = FALSE, eval = !inherits(gse, "try-error")---- # library(GEOquery) # # Download data # gse <- getGEO("GSE70970") # getGEOSuppFiles(GEO = "GSE70970", baseDir = tempdir()) # # Unzip data # untar( # tarfile = file.path(tempdir(), "GSE70970", "GSE70970_RAW.tar"), # exdir = file.path(tempdir(), "GSE70970", "Data") # ) # # Get phenotypes and add IDs # targets <- pData(phenoData(gse[[1]])) # targets$IDFILE <- list.files(file.path(tempdir(), "GSE70970", "Data")) ## ----echo = FALSE, message = FALSE, warning = FALSE, eval = !inherits(gse, "try-error")---- # targets[1:5, unique(c("IDFILE", names(targets)))] ## ----ex3, eval = !inherits(gse, "try-error")---------------------------------- # GSE70970_sum <- load_rcc( # data_directory = file.path(tempdir(), "GSE70970", "Data"), # Where the data is # ssheet_csv = targets, # The samplesheet # id_colname = "IDFILE", # Name of the column that contains the unique identfiers # housekeeping_genes = NULL, # Custom list of housekeeping genes # housekeeping_predict = TRUE, # Whether or not to predict the housekeeping genes # normalisation_method = "GEO", # Geometric mean or GLM # n_comp = 5 # Number indicating how many principal components should be computed. # ) ## ----echo = FALSE, results = "hide", eval = !inherits(gse, "try-error")------- # unlink(file.path(tempdir(), "GSE70970"), recursive = TRUE) ## ----------------------------------------------------------------------------- # visualise(GSE70970_sum) ## ----ex5, eval = !inherits(gse, "try-error")---------------------------------- # print(GSE70970_sum[["housekeeping_genes"]]) ## ----intext, eval = !inherits(gse, "try-error"), echo = FALSE, results = "asis"---- # cat( # "Let's say _", GSE70970_sum[["housekeeping_genes"]][1], # "_ and _", GSE70970_sum[["housekeeping_genes"]][2], # "_ are not suitable, therefore, you want to exclude these genes from the normalisation process.", # sep = "" # ) ## ----eval = !inherits(gse, "try-error")--------------------------------------- # my_housekeeping <- GSE70970_sum[["housekeeping_genes"]][-c(1, 2)] # print(my_housekeeping) ## ----ex7, eval = !inherits(gse, "try-error")---------------------------------- # GSE70970_norm <- normalise( # nacho_object = GSE70970_sum, # housekeeping_genes = my_housekeeping, # housekeeping_predict = FALSE, # housekeeping_norm = TRUE, # normalisation_method = "GEO", # remove_outliers = TRUE # ) ## ----eval = FALSE------------------------------------------------------------- # autoplot( # object = GSE74821, # x = "BD", # colour = "CartridgeID", # size = 0.5, # show_legend = TRUE # ) ## ----echo = FALSE, results = "asis"------------------------------------------- metrics <- c( "BD" = "Binding Density", "FoV" = "Imaging", "PCL" = "Positive Control Linearity", "LoD" = "Limit of Detection", "Positive" = "Positive Controls", "Negative" = "Negative Controls", "Housekeeping" = "Housekeeping Genes", "PN" = "Positive Controls vs. Negative Controls", "ACBD" = "Average Counts vs. Binding Density", "ACMC" = "Average Counts vs. Median Counts", "PCA12" = "Principal Component 1 vs. 2", "PCAi" = "Principal Component scree plot", "PCA" = "Principal Components planes", "PFNF" = "Positive Factor vs. Negative Factor", "HF" = "Housekeeping Factor", "NORM" = "Normalisation Factor" ) for (imetric in seq_along(metrics)) { cat("\n\n###", metrics[imetric], "\n\n") print(autoplot(object = GSE74821, x = names(metrics[imetric]))) cat("\n") } ## ----deploy, eval = FALSE----------------------------------------------------- # deploy(directory = "/srv/shiny-server", app_name = "NACHO") ## ----app, eval = FALSE-------------------------------------------------------- # shiny::runApp(system.file("app", package = "NACHO")) ## ----app-fig, echo = FALSE, out.width = "650px"------------------------------- knitr::include_graphics(path = "README-app.png") ## ----eval = FALSE------------------------------------------------------------- # render( # nacho_object = GSE74821, # colour = "CartridgeID", # output_file = "NACHO_QC.html", # output_dir = ".", # size = 0.5, # show_legend = TRUE, # clean = TRUE # ) ## ----print, results = "asis"-------------------------------------------------- print( x = GSE74821, colour = "CartridgeID", size = 0.5, show_legend = TRUE, echo = TRUE, title_level = 3 )