Diff of /R/auxiliary_brainarray.R [000000] .. [28aa3b]

Switch to side-by-side view

--- a
+++ b/R/auxiliary_brainarray.R
@@ -0,0 +1,59 @@
+cleanName <- function(array_type) {
+  gsub("[-_]", "", tolower(array_type))
+}
+
+#' Available Brainaaray versions
+#'
+#' Lists the available Brainaaray versions for \pkg{DLBCLdata}. The list is
+#' currently hard coded. Newer versions may work.
+#'
+#' @return A character vector of the available versions.
+#' @export
+listVersions <- function() {
+  c("19.0.0", "18.0.0", "17.1.0", "17.0.0", "16.0.0", "15.1.0", "15.0.0",
+    "14.1.0", "14.0.0", "13.0.0")
+}
+
+getSubversion <- function(version, n = 1) {
+  return(as.numeric(unlist(strsplit(version, "\\.")))[n])
+}
+
+arrayToBrainarrayName <- function(array_type) {
+  ans <- switch(array_type,
+                "HuGene-1_0-st-v1" = "hugene10st",
+                cleanName(array_type))
+  return(ans)
+}
+
+getCustomCDFName <- function(brain_dat, array_type) {
+  custom_cdf_name <-
+    with(brain_dat, CustomCDFName[match(arrayToBrainarrayName(array_type),
+                                        tolower(Chip))])
+  return(custom_cdf_name)
+}
+
+getBrainarrayPackages <- function(brain_dat, array_type) {
+  custom_cdf_name <- getCustomCDFName(brain_dat, array_type)
+  r_packages <- paste0(cleanName(custom_cdf_name), c("cdf", "probe"))
+  return(r_packages)
+}
+
+#' @importFrom XML readHTMLTable
+getBrainarrayTargets <- function(version) {
+  base_url <- paste0("http://brainarray.mbni.med.umich.edu/Brainarray/",
+                     "Database/CustomCDF/CDF_download.asp")
+
+  brain_dat <- readHTMLTable(base_url, stringsAsFactors = FALSE)
+  brain_dat <- brain_dat[sapply(brain_dat, is.data.frame)]
+  brain_dat <- brain_dat[-(1:2)]
+
+  if (missing(version)) {
+    ans <- as.character(brain_dat[[length(brain_dat)]][["Custom CDF"]])
+  } else {
+    v <- getSubversion(version, n = 1)
+    ans <- as.character(brain_dat[[v]][["Custom CDF"]])
+  }
+  return(ans)
+}
+
+