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

Switch to side-by-side view

--- a
+++ b/R/readBrainarrayTable.R
@@ -0,0 +1,42 @@
+#' Reads table from brainarray homepage
+#'
+#' @param custom_cdf A string giving the "target" to use.
+#' @param version A string giving the version.
+#' @return A \code{data.frame} of the info on the relevant brainarray webpage.
+#' @examples
+#' readBrainarrayTable("ENSG", version = "17.0.0")[1:10, 1:10]
+#' readBrainarrayTable("ENST", version = "18.0.0")[1:10, 1:10]
+#' readBrainarrayTable("ENSE", version = "19.0.0")[1:10, 1:10]
+#' readBrainarrayTable("ENSG")[1:10, 1:10]
+#' @importFrom XML readHTMLTable
+#' @keywords internal
+#' @export
+readBrainarrayTable <- function(custom_cdf, version = getLatestVersion()) {
+  base_url <-
+    paste0("http://brainarray.mbni.med.umich.edu/Brainarray/Database/",
+           "CustomCDF/", version, "/" , custom_cdf)
+
+  brain_dat <- readHTMLTable(paste0(base_url, ".asp"), skip.rows = 1,
+                             stringsAsFactors = FALSE)[[2]]
+
+  # Remove first row if the same as rownames
+  if (all(rownames(brain_dat) == brain_dat[, 1])) {
+    brain_dat <- brain_dat[, -1]
+  }
+  colnames(brain_dat) <-
+    c("Species", "Chip", "OriginalProbeCount", "CustomCDFName",
+      "StatsOfCurrentVersionProbe%", "StatsOfCurrentVersionProbeset#",
+      "StatsOfPreviousVersionProbe%","StatsOfPreviousVersionProbeset#",
+      "%OfCommonProbesInVersionCurrent",
+      "%OfCommonProbesInVersionPrevious",
+      "%OfCommonProbesetsInVersionCurrent",
+      "%OfCommonProbesetsInVersionPrevious",
+      "%OfIdenticalProbesetsInVersionCurrent",
+      "%OfIdenticalProbesetsInVersionPrevious",
+      "RPackagesSource", "RPackagesWin32", "CDFSeqMapDesc")
+
+  attr(brain_dat, "base_url") <- base_url
+  return(brain_dat)
+}
+
+