[BioC] Limma: setting up printer information for agilent

Gordon K Smyth smyth at wehi.EDU.AU
Thu Jan 4 13:08:08 CET 2007


Dear Daniel,

The error message is telling you that there aren't enough rows of data for the size of the block. 
The reason is that Agilent doesn't print rows for blank spots and the like, so the block has
missing rows, and this causes a problem because the limma functions assume complete blocks.

BTW, this is why the function read.maimages() didn't set the $printer information automatically
for you.  If the file had contained complete data for the block, then it would have.

It is possible with a little R programming to expand out your data vector stuff$Rb[,1] to be the
right length by adding NAs in the right places, so that you could use imageplot(), but this bit of
code is not provided by limma or Bioconductor.  Try this:

  r <- stuff$genes$Row
  c <- stuff$genes$Col
  nr <- max(r)
  nc <- max(c)
  y <- rep(NA,nr*nc)
  i <- (r-1)*nc+c
  y[i] <- log2(stuff$Rb[,1])
  imageplot(y,stuff$printer)

Best wishes
Gordon

> Date: Wed, 03 Jan 2007 16:14:59 +0000
> From: Daniel Brewer <daniel.brewer at icr.ac.uk>
> Subject: [BioC] Limma: setting up printer information for agilent
> 	files
> To: bioconductor at stat.math.ethz.ch
> Message-ID: <459BD683.3030405 at icr.ac.uk>
> Content-Type: text/plain; charset=ISO-8859-1
>
> I am having trouble setting up the printer information for an agilent
> data set.  These are the commands I am following:
>> targets <- readTargets()
>> stuff <- read.maimages(targets$FileName,source="agilent")
>> #Setup layout
>> stuff$genes$Block <- 1
>> names(stuff$genes)[2] <- "Column"
>> stuff$printer <- getLayout(stuff$genes)
>> imageplot(log2(stuff$Rb[,1]), stuff$printer, low="white", high="red")
>> Error in imageplot(log2(stuff$Rb[, 1]), stuff$printer, low = "white",  :
>>         Number of image spots does not agree with layout dimensions
>
> I added Block information (there is only one block on agilent arrays)
> and changed a column name from "Col" to "Column".  The block is 119x156.
>
> Any idea what I am doing wrong?
>
> The printer object gives this:
>> stuff$printer
>> $ngrid.r
>> [1] 1
>>
>> $ngrid.c
>> [1] 1
>>
>> $nspot.r
>> [1] 119
>>
>> $nspot.c
>> [1] 156
>>
>> attr(,"class")
>> [1] "PrintLayout"
>
> Thanks
> --
> **************************************************************
>
> Daniel Brewer, Ph.D.
>
> Email: daniel.brewer at icr.ac.uk
>
>
>
> ------------------------------



More information about the Bioconductor mailing list