Using GEOquery and MBCB, I would like to background correct raw data from an experiment on the GPL10558 platform. Normalized data and metadata were got using gset <- getGEO(accession,GSEMatrix =TRUE). Raw data were got using getGEOSuppFiles(accession,baseDir = base_directory) followed by not_normal <- read.table(*_non-normalized.txt.gz,header=TRUE,sep="\t").
For the GPL10558 platform, negative control probes are flagged 'permuted_negative' in the 'Symbol' column of the *.soft file.
Using GEOquery, how do I access the 'permuted_negative' information within the getGEO object to get a list of IDs (like ILMN_1343296) to identify negative control rows in the non-normalized data table?
I am hoping this question is so simple you won't need the code, but here it is anyway:
library(GEOquery) gset <- getGEO("GSE34404", GSEMatrix =TRUE) getGEOSuppFiles('GSE34404',baseDir = getwd()) not_normal <- read.table('GSE34404_non-normalized.txt.gz',header=TRUE,sep="\t") row.names(not_normal) <- not_normal[,1] not_normal <- not_normal[,-1] not_normal <- as.matrix(not_normal) raw_vals.mat <- apply(not_normal, 2, as.numeric) row.names(raw_vals.mat) <- row.names(not_normal) # table to be subsetted
Once I have the subsetted matrix it is straightforward to background correct using MBCB. I could do the required subsetting by reading the soft file and using basic R code, but my guess it that there is a super-convenient way to do this built into GEOquery.