Entering edit mode
Ido M. Tamir
▴
150
@ido-m-tamir-2778
Last seen 10.2 years ago
Hi,
suppose I have a high density oligo array. This contains control
oligos, whose distribution should be the same across experiments
(spike in),
and experimental oligos, whose distribution differs.
What I did until now was to scale my experimental oligos by the MAD of
the
control oligos ( a modification of limmas normalizeMedianAbsValues): I
calculate a scaling factor for the control oligos and apply this
factor onto
the experimental oligos of each array.
like:
cmed <- log(apply(abs(M[scaleSubset,]), 2, mean, na.rm=TRUE))
cmed <- exp(cmed - mean(cmed))
print( paste("scaling factors:", paste( formatC(cmed, digits=2),
collapse= " ") ))
t(t(M)/cmed)
Now I would like to go one step further.
I would like to quantile normalize the control oligos. Then I would
like to
apply the transformation that was necessary for each array onto the
experimental oligos.
Maybe this makes my intention clearer:
I don't want to apply the derived averaged distribution onto my
experimental
oligos - they are not the same (and I anyway know how to do this). I
want to
do the opposite of that and apply the function that was necessary to
transform the control oligos of each array to the averaged quantile
distribution onto my experimental oligos.
Its basically scaling like above, but not only taking MAD as a
parameter,
but the whole difference in the distribution between
a) does this make sense.
b) how do I do it.
thank you very much,
ido