[BioC] limma and composite normalization method

Gordon K Smyth smyth at wehi.EDU.AU
Fri Jul 16 03:44:44 CEST 2004


> Hello all,
>
> I'm trying to use the composite method on limma_1.7.2 but I get an error
> when I normalizeWithinArrays:

You're right.  This is a bug in limma that "composite" normalization
doesn't tolerate missing values (amongst the the control spots).  I'll fix
it for limma 1.7.4 (not yet available).

> ----------------------------------------------------------------------
> Error in predLoess(object$y, object$x, newx, object$s, object$weights,  :
>          NA/NaN/Inf in foreign function call (arg 3)
> ----------------------------------------------------------------------
>
>
> I have NA values in my data. The "loess" function can handle NA's as it
> is done in normalizeWithinArrays:
>
> fit <- loess(y ~ x, weights = w, span = span, subset = controlspots,
>                  na.action = na.exclude, degree = 0, surface = "direct",
>                  family = "symmetric", trace.hat = "approximate",
>                  iterations = iterations)
>
> but I can't see the same to the "predict" function. I overrided that
> modifing normalizeWithinArrays as:
>
> global <- predict(fit, newdata = x)
> ----------------------------------------------
> global <- predict(fit, newdata = x[!is.na(x)])
>
>
> ¿Is this a correct way to do that or did I miss something?

This is correct but you need a bit more as well.

By the way, rather than using "composite" normalization I think it is
usually more flexible and effective to simply up-weight the control spots
in the ordinary normalization process.  See modifyWeights().

Gordon

> Thanks in advance,
>
> D.



More information about the Bioconductor mailing list