Dear Jean,

Please allow me to put forward a feature request for the GCRMA package:
as you may have noticed in literature and on the BioC mailing list, there has been discussion on the use of the median polish algorithm (in RMA) for summerizing signals of probes into a single probeset value in relation to correlation artefacts. See e.g.:
http://www.biomedcentral.com/1471-2105/11/553
and
http://thread.gmane.org/gmane.science.biology.informatics.conductor/32255/focus=32259

Moreover, in the above-mentioned BioC thread it is advocated to use a robust regression M-estimation procedure, e.g. available in the package 'affyPLM' / 'preprocessCore', instead of applying median polish on the transposed data matrix (aka tRMA), as was suggested by the authors of before-mentioned paper.

In the intro of the fRMA paper it is also stated that more statistically rigorous procedures such as M-estimation techniques could be used for summerization, and this is one of the reasons fRMA by default uses AffyPLM's default M-estimator (Huber) for summerization instead of median polish.
http://dx.doi.org/10.1093/biostatistics/kxp059

Since AFAIK GCRMA is equal to RMA, except of course for the background correction, I wondered whether it would be possible to build in GCRMA the option to give a user the possibility to select a robust M-estimation procedure (e.g. affyPLM's default one) over the (GCRMA's default) median polish algorithm to summerize the probe data into a probeset values. Thus something like:
x.norm <- gcrma(affy.data, sum="median.polish") [default] or x.norm <- gcrma(affy.data, sum="affyPLM").

I would appreciate your opinion on this.

Regards,
Guido


In addition, i would like to remind you about another issue with GCRMA my collegue Philip brought forward last December, which you may have missed (i copied his email below):
-----------------------------------------------------------------------------
I noticed the following problem when using gcRMA. the gcRMA-library tries to install probe packages. This is fine, except in cases when a probe-package is already available (and local versions vs repository versions do not necessarily match)! This behaviour is triggered within the function getProbePackage:

function (probepackage, lib = .libPaths()[1], verbose = TRUE)
{
    options(show.error.messages = FALSE)
    attempt <- try(do.call(library, list(probepackage, lib.loc = lib)))
    options(show.error.messages = TRUE)

...
}

.libPaths() is in this particular example:
> .libPaths()
[1] "/local/home/guidoh/R/x86_64-unknown-linux-gnu-library/2.12"
[2] "/geninf/prog64/R/R-2.12.0/lib64/R/library"

As you can see, .libPaths()[1] point the the local R directory of the user, whereas the R installation directory is in .libPaths()[2]. Hence, we have the complication that gcRMA installs (the wrong) probe libraries (from BioC) that are already available to the user! The issue with this is that in some cases we use custom, tailored libraries that are not identical to those in the repositories. Hence, we may run into unexpected problems! As a matter of fact, I prefer to simply disable the ability (in gcRMA) to automatically install probe packages in the first place (just an option that is enabled by default, but can be disabled by the user)!

Anyway, there is no reason to limit yourself to the first library. As an example, the following command will work without any problem:
> attempt <- try(do.call(library, list("nugohs1a520180hsentrezgcdf", lib.loc = .libPaths())))
> attempt
 [1] "gcrma"                      "nugohs1a520180hsentrezgcdf"
 [3] "affy"                       "Biobase"
 [5] "stats"                      "graphics"
 [7] "grDevices"                  "utils"
 [9] "datasets"                   "methods"
[11] "base"

At least your function will really go through all R library directories to search whether or not a library is installed!
So I kindly ask for the following modifications:
1. An option in gcRMA to simply disable the automated installation of missing libraries [I need to control what happens! :)]
2. To simply use .libPaths() instead of .libPaths()[1] to really search through all R installation directories.

Please let me know whether or not you agree. Doing these 2 modifications are not very hard, so I can contribute it to you if you are interested.

Regards,
Philip


	[[alternative HTML version deleted]]

