I am currently trying to get something like a .bed file from microarray ChIP-chip data, i.e. genomic locations and corresponding (normalized, log-fold change) intensities for all probes in this dataset: https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE12283. They provide a .bed file with their called peaks (in mm8) and a .bar file with the intensities (in NCBIv33 which is mm5)
What I would have preferred is to convert the .bar file they provide to a bed file. For this I tried affy_bar2txt of CisGenome to convert it into what's basically a .bed file and then lifted the positions from mm5 to mm8. However, if I compare the output to their called peaks, I see that something must have gone wrong, since the peaks should be covered with probes, which they often are not.
I then decided to analyze the raw data using the R library Starr to get the intensities for each probe:
library(Starr) #read original bpmap bpmapFile <- "Mm_PromPR_v02-1_NCBIv33.bpmap" bpmap <- readBpmap(bpmapFile) #read CEL files and define experiment celFiles <- list.files(path = "./CELs",full.names=TRUE) celNames <- c("Trim28_1", "Trim28_2","Trim28_3", "Biotin_1","Biotin_2", "Biotin_3", "Biotin_4") celTypes <- c("IP", "IP", "IP", "CONTROL", "CONTROL", "CONTROL", "CONTROL") Trim28_chip <- readCelFile(bpmap, celFiles, celNames, celTypes, featureData=T, log.it=T) ips <- Trim28_chip$type == "IP" controls <- Trim28_chip$type == "CONTROL" description <- c("Trim28vsBiotin") #normalize and compute ratio Trim28_loess <- normalize.Probes(Trim28_chip, method="loess") Trim28_loess_ratio <- getRatio(Trim28_loess, ips, controls, description, fkt=median, featureData=F)
In theory, I should now have what I wanted. But since I'm still quite new to R, I don't know how to extract the genomic positions of the probes and their intensities from Trim28_loess_ratio which is an ExpressionSet object. I guess, I will have to somehow map the positions from the Trim28_chip object I created previously.