[BioC] Bug in function i2xy

w.huber at dkfz-heidelberg.de w.huber at dkfz-heidelberg.de
Wed Aug 20 15:35:15 MEST 2003

Hi all,

there is a bug in the function i2xy() that is contained in each cdf

This function (as well as another function, indices2xy) is not currently
used in any of the code of the affy package. Thus, the bug will only
affect user programs that explicitely call this function. You may savely
ignore this message if you have never heard about this function.

cdf packages are used in conjunction with the affy package and contain
chip-type specific layout information. The function is intended to convert
the row index i that addresses the data within an AffyBatch object into
the x- and y-coordinates of that probe on the chip. For example, for an
hgu95av2 chip, x=0..639, y=0..639 and i=1..409600. There is a 1:1 mapping
between each (x,y)-pair and the index i.

The bug affects the return value of that function for i=n, 2n, 3n, etc.,
where n is the number of rows on the chip (n=640 in the example above).

What to do:
For the time being, please do not use this function, or overwrite it
manually with

  i2xy = function(i) cbind((i-1) %% n, (i-1) %/% n)

where n is the number of rows for your chip. We will put up new CDF
packages with the correct function on the website, but this may be a
couple of days.

The present, defective definition of the function is
  i2xy = function (i) cbind(i %% n - 1, i %/% n)

A similar bug has also been found in the indices2xy() function from the
package affy.

The inverse function xy2i() is correct.

My apologies to everyone whose work has been affected by this bug.  Many
thanks to Brian Peyser who reported the bug!

Best regards

Wolfgang Huber
Division of Molecular Genome Analysis
German Cancer Research Center
Heidelberg, Germany
Phone: +49 6221 424709
Fax:   +49 6221 42524709
Http:  www.dkfz.de/mga/whuber

More information about the Bioconductor mailing list