diff GEO/getGEO.R @ 7:5231cb49c63b draft

Uploaded
author testtool
date Mon, 20 Feb 2017 08:11:50 -0500
parents
children 0647e033c218
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/GEO/getGEO.R	Mon Feb 20 08:11:50 2017 -0500
@@ -0,0 +1,54 @@
+require("BiocGenerics", quietly = TRUE)
+require("data.table", quietly = TRUE)
+require("GEOquery", quietly = TRUE)
+require("rtracklayer", quietly = TRUE)
+require("FDb.InfiniumMethylation.hg19", quietly = TRUE)
+
+options("download.file.method.GEOquery"="wget")
+options(warn = -1)
+
+args <- commandArgs(trailingOnly = TRUE)
+GSMTable = args[1]
+protocol = args[2]
+platform = args[3]
+Data_Table = args[4]
+
+TAB = fread(GSMTable)
+
+if (is.null(TAB)) {
+  stop("Must specify input files")
+} else {
+  GEODataTable <- getGEO(TAB$ID[1], getGPL = FALSE)
+  IlmnIDTable <- Table(GEODataTable)
+  MetaData <- data.frame(Meta(GEODataTable))
+
+
+  write.csv(MetaData, protocol, row.names = FALSE, sep = "\t")
+}
+
+hm450.hg19 <- getPlatform()
+
+IlmnInfo <-
+  data.table(
+    IlmnID = names(hm450.hg19),
+    CHR = as.data.frame(hm450.hg19@seqnames)$value,
+    BP = as.numeric(hm450.hg19@elementMetadata$probeStart)
+  )
+
+
+write.csv(IlmnInfo, platform, row.names = FALSE, sep = "\t")
+
+
+if (length(TAB$ID) > 1) {
+  mysamples <-
+    do.call("data.table", lapply(TAB$ID[-1], function(x)
+      Table(getGEO(x, getGPL = FALSE))[, -1]))
+
+  gmSet <- data.table(IlmnIDTable[, -1], mysamples)
+
+} else {
+  gmSet <- Table(getGEO(TAB$ID, getGPL = FALSE))
+}
+
+
+write.csv(gmSet, Data_Table, row.names = FALSE, sep = "\t")