[BioC] arrayQualityMetrics error with MAList
Wolfgang Huber
whuber at embl.de
Thu Mar 15 23:17:38 CET 2012
Dear Daniel
thank you for pointing out this problem. In version 3.11.4, the values
for the red and green channels were computed by exponentiating (base 2)
the values R = A+M/2 and G = A-M/2. From version, 3.11.5 (in subversion,
should be on the web in a few days), no exponentiating is done. I hope
you will find that behaviour more pleasing.
If questions persist, please send me your example dataset and script.
More below.
Mar/9/12 12:33 PM, Daniel Aaen Hansen scripsit::
> Dear Wolfgang,
>
> I just tested arrayQualityMetrics 3.11.4 on 'MAList' objects and it
> is working for me (it generates a report). However, I am not sure I
> understand what is going on. From the box plot and density plot it
> looks like it is using data that are not log transformed as some
> expression values are very large. Surprisingly, it makes no
> difference whether I set 'do.logtransform=FALSE' or
> 'do.logtransform=TRUE'. The plots are identical and looks as if they
> are made on non-log-transformed data.
>
> I also tried to convert the data manually, as you suggested: eset<-
> as(MA, 'ExpressionSet'). However, this yielded expression values from
> -9 to 13 and did not work:
Yes, this creates an ExpressionSet from the M values only. The value
range you quote seems consistent with that. However, doing that
conversion is much inferior to the current functionality for MAList in
arrayQualityMetrics, so please ignore that previous suggestion.
>> min(exprs(eset))
> [1] -9.230704
>> max(exprs(eset))
> [1] 13.12851
>
> Another question: is there a way to make arrayQualityMetrics create
> MA-plots and spatial plots for all arrays and not just a subset? I
> think that would be a nice feature, but I could not find it. For
> example, it would make it easier to compare MA-plots before and after
> normalization. As it is now, it may plot MA-plots for different
> arrays before and after normalization.
Currently, it is not that easy, but of course, this being R and open
source, it is possible. You need to create your own version of the
function 'aqm.maplot', and e.g. replace the line
if (x$numArrays <= 8) {
by
if (TRUE) {
Then you also need to make sure that the function 'arrayQualityMetrics'
finds your version of 'aqm.maplot'. This is done either by putting the
latter back into the namespace of the package 'arrayQualityMetrics', or
by also creating your own version of the function 'arrayQualityMetrics'
(which is quite short and simple, it just successively calls the
functions creating the various report parts.)
See also the vignette "Advanced topics: Customizing arrayQualityMetrics
reports and programmatic processing of the output".
If someone comes up with a user-interface that allows exposing this (and
similar) options to the user at the level of the 'arrayQualityMetrics'
function without creating a plethora of parameter options, I will
implement it in the package.
(The 'philosophy' of the package is to produce a reasonable report for
almost everyone with default settings; whereas customisations can be
obtained through using the flexibility of the R language, and a modular
design of the package functionality - rather than banging in lots and
lots of parameters and options into a monolithic function.)
Best wishes
Wolfgang
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber
More information about the Bioconductor
mailing list