[BioC] image and AffyBatch

Kasper Daniel Hansen k.hansen at biostat.ku.dk
Mon Mar 7 20:42:39 CET 2005


(I recently posted an empty message with almost the same subject. I 
tried to resend it, but unfortunately our email servers were down. Here 
is an updated version).

I am looking at expanding the image methid for an AffyBatch object, in 
the sense that I only want to plot certain (x,y) coordinates. I ahve 
therefore looked at the code and have a little problem understanding why 
it is done as it is.

This problem might be because I am unsure where the (0,0) position on 
the chips is. For some reason I have assumed it would be the upper, left 
corner - but I have no evidence for that

Bascially the code I have a problem with is
  m <- x at exprs[, i]
  ### Some deleted stuff
  m <- as.matrix(rev(as.data.frame(matrix(m, nrow = length(x.pos), 
                 ncol = length(y.pos)))))
"m" is then used as the "z" argument of image.

If I do
> m <- matrix(1:9, ncol = 3)
> m
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9

Here the number in the matrix takes the lace of indices, which have the 
following (x,y) coordinates
> indices2xy(1:9, nr = 3)
      x y
 [1,] 0 0
 [2,] 1 0
 [3,] 2 0
 [4,] 0 1
 [5,] 1 1
 [6,] 2 1
 [7,] 0 2
 [8,] 1 2
 [9,] 2 2

If I do 

> m1 <- as.matrix(rev(as.data.frame(m)))
> m1
  V3 V2 V1
1  7  4  1
2  8  5  2
3  9  6  3
> image(1:3, 1:3, m1)

I seem to get a plot where the (0,0) position is at the lower, right 
corner, and increasing (x,y) means going to the left and up.

Basically, m1 = m[, 3:1]

If I instead do
> image(1:3, 1:3, m[3:1,])
I seem to get the right plot.

It seems to me that the image method rotates the chip 90 degress, but in 
the wrong direction.

Am I completely off, or?

Kasper



More information about the Bioconductor mailing list