[BioC] questions about the details of RMA and MAS5 in Affy package
James W. MacDonald
jmacdon at med.umich.edu
Wed May 2 17:12:36 CEST 2007
James Anderson wrote:
> There are some commands in Affy package which can finish almost all the steps, however, I am trying to understand every single details of RMA and MAS5,
> for RMA, I guess it has the following steps:
> 1. Background subtraction
> 2. quantile normalization
> 3. median polish to convert probe level to probe set level.
> What's the command for doing median polish to convert probe level to probe set level? In addition, since there is memory problem, justRMA can solve the problem in probe set level, is there any similar method that can solve the problem in probe level, something like justRMAprobe?
A justRMAprobe wouldn't make any sense, since the background and
normalization steps are carried out on all the data from each chip. The
median polish is done by C code, so there isn't a command per se.
However, the implementation is identical to the R function medpolish(),
so if you had a matrix of background corrected, normalized PM probes
from one probeset you could do medpolish(probematrix) and you would get
the same results.
> Regarding MAS5, I guess it also has background subtraction and normalization, which normalize method does MAS5 use? I typed
>  "constant" "contrasts" "invariantset" "loess"
>  "qspline" "quantiles" "quantiles.robust"
> Does it use "invariantset" or something else?
Something else. MAS5 does the normalization _after_ computing expression
values, so it uses affy.scalevalue.exprSet().
> In addition, I think it's the same as RMA in the sense that after background subtraction and normalization, probe level is obtained, then what's the command to convert the probe level to probe set level in MAS5? Again, how to deal with the memory problem?
No it is not the same. The background subtraction is based on
subtracting IM values (not the same as MM values, see the affy
documentation if interested), and then doing a Tukey bi-weight on the
resulting background subtracted values. After which the data are
normalized using the above mentioned function.
There is no need for a memory-bounded algorithm for MAS5 because the
expression value calculation is done on a chip by chip basis. You could
simply do the first step of the mas5() function on reasonably sized
subsets of your data, and after all have been processed, you could then
combine the data and run affy.scalevalue.exprSet().
The combination step might be too memory intensive, so it might be
necessary to hack affy.scalevalue.exprSet() to use a matrix instead, but
it would be simple to do.
> Thank you very much! Your reply will be highly appreciated!
> [[alternative HTML version deleted]]
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
James W. MacDonald, M.S.
Affymetrix and cDNA Microarray Core
University of Michigan Cancer Center
1500 E. Medical Center Drive
Ann Arbor MI 48109
Electronic Mail is not secure, may not be read every day, and should not be used for urgent or sensitive issues.
More information about the Bioconductor