[BioC] arrayQualityMetrics() doesn't work for one-color non Affy arrays
Wolfgang Huber
whuber at embl.de
Sat Jun 9 10:02:29 CEST 2012
Dear Alex
Thanks for reporting this. It looks like the range of values in your
ExpressionSet esetPROC is outside of what the plotting function for MA
plots expects. Can you do please do the following
1. Update to the most recent release of 'arrayQualityMetrics', and if
you're up to it, better even the current devel version:
http://www.bioconductor.org/packages/release/bioc/html/arrayQualityMetrics.html
http://www.bioconductor.org/packages/devel/bioc/html/arrayQualityMetrics.html
2. Establish that the reports work for you with a "well-behaved"
ExpressionSet x for which the following holds
!any(is.na(exprs(x)))
all(exprs(x) > 0)
all(is.finite(exprs(x))
3. With a non well-behaved data set, the software might produce
non-sensical plots, but it should not stop with an error. If it does,
can you please send me the offending data object esetPROC so that I can
reproduce the error and catch it more gracefully in future versions.
Best wishes
Wolfgang
Jun/8/12 9:39 AM, Alogmail2 at aol.com scripsit::
> Dear List,
>
> Could you share your experience with arrayQualityMetrics() for one-color
> non Affy arrays: it doesn't work for me (please see the code below).
>
> Thanks
>
> Alex Loguinov
>
> UC, Berkeley
>
>
>
>
>> options(error = recover, warn = 2)
>> options(bitmapType = "cairo")
>> .HaveDummy = !interactive()
>> if(.HaveDummy) pdf("dummy.pdf")
>
>> library("arrayQualityMetrics")
>
>> head(targets)
> FileName Treatment GErep Time Conc
> T0-Control-Cu_61_new_252961010035_2_4
> T0-Control-Cu_61_new_252961010035_2_4.txt C.t0.0 0 0 0
> T0-Control-Cu_62_new_252961010036_2_1
> T0-Control-Cu_62_new_252961010036_2_1.txt C.t0.0 0 0 0
> T0-Control-Cu_64_252961010031_2_2
> T0-Control-Cu_64_252961010031_2_2.txt C.t0.0 0 0 0
> T0-Control-Cu_65_new_252961010037_2_2
> T0-Control-Cu_65_new_252961010037_2_2.txt C.t0.0 0 0 0
> T04h-Contr_06_new_252961010037_2_4
> T04h-Contr_06_new_252961010037_2_4.txt C.t4.0 1 4 0
> T04h-Contr_10_new_252961010035_1_2
> T04h-Contr_10_new_252961010035_1_2.txt C.t4.0 1 4 0
>
>
>> ddaux = read.maimages(files = targets$FileName, source = "agilent",
> other.columns = list(IsFound = "gIsFound", IsWellAboveBG =
> "IsWellAboveBG",gIsPosAndSignif="gIsPosAndSignif",
> IsSaturated = "gIsSaturated", IsFeatNonUnifOF = "gIsFeatNonUnifOL",
> IsFeatPopnOL = "gIsFeatPopnOL", ChrCoord =
> "chr_coord",Row="Row",Column="Col"),
> columns = list(Rf = "gProcessedSignal", Gf = "gMeanSignal",
> Rb = "gBGMedianSignal", Gb = "gBGUsed"), verbose = T,
> sep = "\t", quote = "")
>
>
>> class(ddaux)
> [1] "RGList"
> attr(,"package")
> [1] "limma"
>> names(ddaux)
> [1] "R" "G" "Rb" "Gb" "targets" "genes" "source"
> "printer" "other"
>
>
> I could apply:
>>
>> class(ddaux$G)
> [1] "matrix"
>
>> all(rownames(targets)==colnames(ddaux$G))
> [1] TRUE
>
>> esetPROC = new("ExpressionSet", exprs = ddaux$G)
>
> But it results in errors:
>
>> arrayQualityMetrics(expressionset=esetPROC,outdir ="esetPROC",force =T)
>
> The directory 'esetPROC' has been created.
> Error: no function to return from, jumping to top level
>
> Enter a frame number, or 0 to exit
>
> 1: arrayQualityMetrics(expressionset = esetPROC, outdir = "esetPROC",
> force = T)
> 2: aqm.writereport(modules = m, arrayTable = x$pData, reporttitle =
> reporttitle, outdir = outdir)
> 3: reportModule(p = p, module = modules[[i]], currentIndex = currentIndex,
> arrayTable = arrayTableCompact, outdir = outdir)
> 4: makePlot(module)
> 5: print(_x at plot_ (mailto:x at plot) )
> 6: print.trellis(_x at plot_ (mailto:x at plot) )
> 7: printFunction(x, ...)
> 8: tryCatch(checkArgsAndCall(panel, pargs), error = function(e)
> panel.error(e))
> 9: tryCatchList(expr, classes, parentenv, handlers)
> 10: tryCatchOne(expr, names, parentenv, handlers[[1]])
> 11: doTryCatch(return(expr), name, parentenv, handler)
> 12: checkArgsAndCall(panel, pargs)
> 13: do.call(FUN, args)
> 14: function (x, y = NULL, subscripts, groups, panel.groups =
> "panel.xyplot", ..., col = "black", col.line = superpose.line$col, col.symbol =
> superpose.symb
> 15: .signalSimpleWarning("closing unused connection 5
> (Report_for_exampleSet/index.html)", quote(NULL))
> 16: withRestarts({
> 17: withOneRestart(expr, restarts[[1]])
> 18: doWithOneRestart(return(expr), restart)
>
> Selection: 0
>
>
> Error in KernSmooth::bkde2D(x, bandwidth = bandwidth, gridsize = nbin, :
> (converted from warning) Binning grid too coarse for current (small)
> bandwidth: consider increasing 'gridsize'
>
> Enter a frame number, or 0 to exit
>
> 1: arrayQualityMetrics(expressionset = esetPROC, outdir = "esetPROC",
> force = T)
> 2: aqm.writereport(modules = m, arrayTable = x$pData, reporttitle =
> reporttitle, outdir = outdir)
> 3: reportModule(p = p, module = modules[[i]], currentIndex = currentIndex,
> arrayTable = arrayTableCompact, outdir = outdir)
> 4: makePlot(module)
> 5: do.call(_x at plot_ (mailto:x at plot) , args = list())
> 6: function ()
> 7: meanSdPlot(x$M, cex.axis = 0.9, ylab = "Standard deviation of the
> intensities", xlab = "Rank(mean of intensities)")
> 8: meanSdPlot(x$M, cex.axis = 0.9, ylab = "Standard deviation of the
> intensities", xlab = "Rank(mean of intensities)")
> 9: smoothScatter(res$px, res$py, xlab = xlab, ylab = ylab, ...)
> 10: grDevices:::.smoothScatterCalcDensity(x, nbin, bandwidth)
> 11: KernSmooth::bkde2D(x, bandwidth = bandwidth, gridsize = nbin, range.x
> = range.x)
> 12: warning("Binning grid too coarse for current (small) bandwidth:
> consider increasing 'gridsize'")
> 13: .signalSimpleWarning("Binning grid too coarse for current (small)
> bandwidth: consider increasing 'gridsize'", quote(KernSmooth::bkde2D(x,
> bandwidth = ba
> 14: withRestarts({
> 15: withOneRestart(expr, restarts[[1]])
> 16: doWithOneRestart(return(expr), restart)
>
> Selection: 0
>
>
>> sessionInfo()
> R version 2.14.2 (2012-02-29)
> Platform: i386-pc-mingw32/i386 (32-bit)
>
> locale:
> [1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United
> States.1252 LC_MONETARY=English_United States.1252
> [4] LC_NUMERIC=C LC_TIME=English_United
> States.1252
>
> attached base packages:
> [1] stats graphics grDevices utils datasets methods base
>
> other attached packages:
> [1] CCl4_1.0.11 vsn_3.22.0
> arrayQualityMetrics_3.10.0 Agi4x44PreProcess_1.14.0 genefilter_1.36.0
> [6] annotate_1.32.3 AnnotationDbi_1.16.19 limma_3.10.3
> Biobase_2.14.0
>
> loaded via a namespace (and not attached):
> [1] affy_1.32.1 affyio_1.22.0 affyPLM_1.30.0
> beadarray_2.4.2 BiocInstaller_1.2.1 Biostrings_2.22.0
> [7] Cairo_1.5-1 cluster_1.14.2 colorspace_1.1-1
> DBI_0.2-5 grid_2.14.2 Hmisc_3.9-3
> [13] hwriter_1.3 IRanges_1.12.6 KernSmooth_2.23-7
> lattice_0.20-6 latticeExtra_0.6-19 plyr_1.7.1
> [19] preprocessCore_1.16.0 RColorBrewer_1.0-5 reshape2_1.2.1
> RSQLite_0.11.1 setRNG_2011.11-2 splines_2.14.2
> [25] stringr_0.6 survival_2.36-14 SVGAnnotation_0.9-0
> tools_2.14.2 XML_3.9-4.1 xtable_1.7-0
> [31] zlibbioc_1.0.1
>
>
>
> [[alternative HTML version deleted]]
>
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at r-project.org
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
--
Best wishes
Wolfgang
Wolfgang Huber
EMBL
http://www.embl.de/research/units/genome_biology/huber
More information about the Bioconductor
mailing list