Beadarray negative background values (bug?)
2
0
Entering edit mode
Arno Velds ▴ 10
@arno-velds-2387
Last seen 9.7 years ago
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
Cancer beadarray Cancer beadarray • 722 views
ADD COMMENT
0
Entering edit mode
@richard-pearson-1304
Last seen 9.7 years ago
For what its worth, I have seen this same problem myself when running beadarray on my mac. I didn't get the problem when running on linux. Regards Richard. Arno Velds wrote: > 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 > > _______________________________________________ > Bioconductor mailing list > Bioconductor at stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/bioconductor > Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor > >
ADD COMMENT
0
Entering edit mode
Matt Ritchie ▴ 460
@matt-ritchie-2048
Last seen 9.7 years ago
An embedded and charset-unspecified text was scrubbed... Name: not available Url: https://stat.ethz.ch/pipermail/bioconductor/attachments/20070928/ 4dfd84df/attachment.pl
ADD COMMENT

Login before adding your answer.

Traffic: 627 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6