[BioC] arrayQualityMetrics error with MAList
Daniel Aaen Hansen
daniel at intomics.com
Wed Mar 28 21:57:27 CEST 2012
Dear Wolfgang,
The plots are definitely more useful now. Thanks.
Regarding implementing an option for plotting all MA-plots and spatial
plots, I would suggest a user option 'plot.all' which are false by
default to mimic the current behavior. Then in the functions
'aqm.maplot' and 'spatialplot', I suggest adding:
if (plot.all) {
whj = order(stat, decreasing = TRUE)
lay = c(4, ceiling(x$numArrays/4))
legOrder = ""
}
else if (x$numArrays <= 8) {
... (default behavior)
Thus, if plot.all is set to true, all arrays are plottet and if not,
it will behave as it does now. I still think it's useful to order
plots by the statistic and I also changed the layout to always be 4
columns. This is only relevant to the MA-plots and spatial plots since
for the other plots, all arrays are already included in the plots.
Best,
Daniel
On Mar 15, 2012, at 11:17 PM, Wolfgang Huber wrote:
> 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