Search
Question: arrayQualityMetrics error with MAList
0
6.1 years ago by
Daniel Aaen Hansen90 wrote:
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]]