hansenlab / minfi

Devel repository for minfi
60 stars 70 forks source link

Quantile normalization after Noob #165

Closed DelnazR closed 6 years ago

DelnazR commented 6 years ago

I would like to do Quantile normalization after Noob, but when I use the MSet or GMset out of preprocessNoob as an input for preprocessQuantile I get the following error:

Error in if ((is(object, "MethylSet") || is(object, "GenomicMethylSet")) && : missing value where TRUE/FALSE needed

PeteHaitch commented 6 years ago

I'll take a look. Can you please post a minimal reproducible example and include the output of BiocInstaller::biocValid()?

PeteHaitch commented 6 years ago

reprex on devel branch with minfi v1.27.1:

suppressPackageStartupMessages(library(minfiData))
MsetEx.sub.noob <- preprocessNoob(RGsetEx.sub)
#> [dyeCorrection] Applying R/G ratio flip to fix dye bias
preprocessQuantile(MsetEx.sub.noob)
#> Error in if ((is(object, "MethylSet") || is(object, "GenomicMethylSet")) && : missing value where TRUE/FALSE needed
PeteHaitch commented 6 years ago

The obscure error message is due to a bug in how we check for previous pre-processing applied to the input object. I am fixing this in release and devel branches.

The intended behaviour is to issue the warning, preprocessQuantile has only been tested with 'preprocessRaw'. That is to say, if you use preprocessQuantile() following any other pre-processing method, such as preprocessNoob(), then you're on your own because this has not been tested by the minfi authors.

DelnazR commented 6 years ago

Thanks Pete for clarification.