Entering edit mode
limma allows you to normalize on any set of control spots using any of
the
normalization methods "loess", "printtiploess", "robustspline". See
page 15
of the User's Guide. (Although I don't actually recommend this with
spike-in controls, because of the risk of systematic bias in spike-in
volumes relative to sample volumes.)
The technique is simply to set up a vector or matrix 'w' which is 1
for
controls that you want to use for normalization and 0 otherwise. For
example,
MA <- normalizeWithinArrays(RG, method="loess", weights=w)
will put a loess curve through the control spots and will subtract
this
curve from all the other spots.
You have asked to subtract the mean log-ratio for the spike-in from
the
other spots. This is not specifically provided for in limma (I don't
recommend it), but it is easy. Suppose 'isSpikeIn' is a vector of
TRUE/FALSE indicating which probes are spike-in controls. Then
MA <- normalizeWithinArrays(RG, method="none")
m <- colMeans(MA$M[isSpikeIn,],na.rm=TRUE)
MA$M <- MA$M - ( matrix(1,nrow(MA),1) %*% m )
Gordon
>[BioC] spike control normalization
>NATALIA F TCHETCHERINA nxt7 at psu.edu
>Tue Jun 28 19:30:49 CEST 2005
>
>Hello all,
>I have experiment where a large fraction of genes are expected to be
>differentially expressed. That why I would like to normalize the data
using
>spike control spots (I really would like to do within arrays
normalization
>just
>subtract over the whole array ( or witnin i-th block) mean of log-
ratio of
>spike control from log-ratio for each gene). I use Limma.
>My question is: does limma have options for such normalization?
>If it does not that package I should use?
>
>Sincerely, Natalia.