[BioC] reading single channel Agilent data with limma [was arrayQualityMetrics doesn't work...]
Gordon K Smyth
smyth at wehi.EDU.AU
Sun Jun 10 05:12:23 CEST 2012
Hi Alex,
I don't know arrayQualityMetrics, but you are using the limma package to
read single-channel Agilent data in a way that I think might cause
problems with down-stream analyses. Basically you're creating a two-color
data object when your data is not actually of that type. This was a time
when I suggested this sort of work-around as a stop-gap measure for some
data problems, but hasn't been necessary for quite a few years.
I'd also recommend that you do some background correction. If I
understand your code correctly, I don't think it is currently making use
of the background intensity column.
There is a case study in the limma User's Guide that deals with single
channel Agilent data. Could you please have a read of that for a cleaner
way to read Agilent data?
I don't know whether that will be enough to solve your arrayQualityMetrics
problem, but perhaps it might.
Best wishes
Gordon
------------- original message -------------
[BioC] arrayQualityMetrics() doesn't work for one-color non Affy arrays
Alogmail2 at aol.com Alogmail2 at aol.com
Fri Jun 8 09:39:21 CEST 2012
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
______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}
More information about the Bioconductor
mailing list