I've recently started working with the Illumina 450K methylation platform. There are several software packages available to handle this data including methylumi, lumi, minfi (those 3 from Bioconductor) and IMA. I'm disregarding IMA since it requires text files exported from BeadStudio in a particular format (which I don't have) and I prefer to start from IDAT files.
The packages are similar in that they create an R object based on the eSet class, but they all come with different methods for adjusting colour bias and normalizing. I'm finding the number of choices rather confusing. For example:
- methylumi has a rather basic method, normalizeMethyLumiSet(), which does not seem entirely appropriate for the 450K platform
- lumi has methods for colour bias correction, background adjustment and normalization; it's not clear to me whether these methods should be applied separately to the type I and type II probes on the 450K platform (and if so, whether I'd then somehow recombine the data)
- minfi makes no mention of colour bias but has a method in the development version, preprocessSWAN(), which does normalization accounting for differences in type I/type II probes
So my questions are:
- Which package do you use? Or do you use more than one, in combination?
- Should I even worry about colour bias adjustment? And if so, should I treat type I and II probes differently? And if so, how?
- The "best" method, in your opinion, to normalize? Using lumi - ssn or quantile? Or use minfi? Treat colours separately or not? Treat type I/II probes separately or not?
My current feeling is that preprocessSWAN() in the minfi development version is the way to go, but I'd appreciate your thoughts (and especially, your R code).