[BioC] limma: out of bounds error

Straubhaar, Juerg Juerg.Straubhaar at umassmed.edu
Tue Jan 20 23:06:25 MET 2004

Dear Dr. Smyth,

I am analysing a series of two-colour microarray data sets with limma. The sets were downloaded from SMD (Standford Microarray Database) and I read the data with the command:

targets <- readTargets('N20targets.txt')
RG<-read.maimages(targets$FileName, source="smd", fill=T, wt.fun=function(x) {return(x$FLAG)})

After reading the gal file and layout I proceeded with the normalization:


This function terminated prematurely with an 'out of bounds' error. I found the error in the printtiploess code block of the normalizeWithinArrays function. The layout with 8 X 4 print grids, each containing 650 spots, provides for 20800 spots. The chips I am using have 20736 spots. I added a small amount of code to your normalizeWithinArrays() which eliminated the error. The code I added is (after #comment)

       printtiploess = {^M
            if(is.null(layout)) stop("Layout argument not specified")^M
            ngr <- layout$ngrid.r^M
            ngc <- layout$ngrid.c^M
            nspots <- layout$nspot.r * layout$nspot.c^M
            for (j in 1:narrays) {^M
                spots <- 1:nspots^M
                for (gridr in 1:ngr)^M
                for (gridc in 1:ngc) {^M
# modified: SMD data files smaller than ngr * ngc * spots!^M
                    if(spots[nspots] > nrow(object$M)) {^M
                        index <- spots[1]^M
                        spots <- index:nrow(object$M)^M
                    y <- object$M[spots,j]^M
                    x <- object$A[spots,j]^M
                    w <- weights[spots,j]^M
                    object$M[spots,j] <- loessFit(y,x,w,span=span,iterations=iterations)$residuals^M
                    spots <- spots + nspots^M

I am using limma version limma_1.3.13.

Kind regards,
Juerg Straubhaar, PhD
Umass Med

More information about the Bioconductor mailing list