[BioC] Beadarray negative background values (bug?)

Arno Velds a.velds at nki.nl
Thu Sep 20 16:15:48 CEST 2007


I'm seeing unexpected behavior using the beadarray package.

When I'm doing the quantification from the TIFF files and the bead level 
data files I'm seeing that almost half of the background values have a 
very large negative value.

I traced the problem into the c file (readBeadImages.c) that does the 
background calculation. The background value is determined by taking the 
5 lowest pixel values from a 17x17 square from the centre of the bead. 
The array containing those pixel values is initialized as M[289] which 
is ok. However when you sort the array is calls: quicksort(M, 0, 289); 
The third argument is used directly on the array and since arrays start 
at index zero we possibly retrieve random memory.

When I changed that call to  quicksort(M, 0, 288) no negative values are 
calculated, but I think that doesn't solve everything: The R function 
readIllumina takes an argument backgroundSize which allows you to 
specify the background area. I set this value to 25 and the code 
segfaults which makes sense since we fill the M array beyond the 288 limit.

I think this is a bug, but if I misread the code somewhere feel free to 
flame me :-) I also checked the dev version and saw no changes in the c 
file so the problem is probably still there.

Regards,

Arno Velds

The Netherlands Cancer Institute
Amsterdam, The Netherlands



More information about the Bioconductor mailing list