Entering edit mode
Dear Wolfgang,
I have now been testing the new options for increasing the number of
arrays plotted, and I think it is a nice and very useful solution. The
only option I lack, is the option to decide how the arrays are sorted.
Eg for the spatial plot, arrays could be sorted by name, input order
or by the F statistic. And for the MA plot, arrays could be sorted by
name, input order or by the D statistic. I think, sorting by the
statistic (D and F) is probably most usefull.
I have a little problem when I want to create spatial plots for
Agilent arrays. The "genes" table (RG$genes) does not contain X and Y
columns but it contains Col and Row columns with the coordinates.
Hence it is very easy to add X and Y which will result in the spatial
plots being created:
RG$genes$X = RG$genes$Col
RG$genes$Y = RG$genes$Row
It works for the spatial plots - they are in the report - but it fails
when calculating outliers in the spatial plots. I get this error
message:
Error in plot.window(...) : need finite 'xlim' values
In addition: Warning messages:
1: closing unused connection 3 (QC/index.html)
2: In min(values, na.rm = TRUE) :
no non-missing arguments to min; returning Inf
3: In max(values, th, na.rm = TRUE) :
no non-missing arguments to max; returning -Inf
Agilent arrays contain empty spots (not present in the data files),
which seems to be handled well when drawing the spatial plots. There
are some white spots on the spatial plots which I assume are the empty
spots. My best guess is that these empty/missing spots are creating
problems during outlier detection. Can you see what is going on and
how to solve it?
Best Daniel
On Apr 7, 2012, at 1:07 PM, Wolfgang Huber wrote:
> Dear Daniel
>
> thank you for the suggestion. This is now possible with
arrayQualityMetrics version >= 3.13.2, by setting the parameter
'maxNumArrays' to '+Inf'. See the manual page of 'aqm.maplot' and
'aqm.spatial for details.
>
> In addition, also all the other parameters of the report module
function are now exposed and can be modified in a call to
arrayQualityMetrics.
>
> As usual, it will take a few days for this version to percolate to
the devel branch in the repository (but it is already in svn).
>
> Let me know your experience with it or if you have further
suggestions.
>
> Best wishes
> Wolfgang
>
> Mar/28/12 9:57 PM, Daniel Aaen Hansen scripsit::
>> 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
>>>
>>>
>>
>
>
> --
> Best wishes
> Wolfgang
>
> Wolfgang Huber
> EMBL
> http://www.embl.de/research/units/genome_biology/huber
>
>
[[alternative HTML version deleted]]