Limma: normalizeWithinArrays: Subscript out of bounds
1
0
Entering edit mode
@edo-plantinga-524
Last seen 10.2 years ago
Dear all, In our lab we use cy3 and cy5 landmarks to be able to distinguish between subgrids when performing the image analysis. Because these values will influence a Lowess normalization, I filter out these spots before performing the normalization. The problem is that after I do that and try to normalize with the data that is left, I get an an error that the subscript is out of bounds: > types SpotType Gene ID col cex 1 Gene * grey10 0.2 2 Buffer only Buffer only brown 0.2 3 Cot Cot* yellow 0.2 4 Alien alien* pink 0.2 5 Cy-3 landmark Cy-3 landmark green 0.2 6 Cy-5 landmark Cy-5 landmark red 0.2 7 Empty Empty blue 0.2 8 poly d(A) poly d(A) darkblue 0.2 9 Randomized negative control Randomized negative control chocolate1 0.2 > MANoLandmarks <- RG[RG$genes [, "Status"] !="Cy-3 landmark",] > MANoLandmarks <- MANoLandmarks[MANoLandmarks$genes [, "Status"] !="Cy-5 landmark",] > # Attributes for printing of control spots are not copied. > # I am not sure why this happens, but this seems to solve the problem: > MANoLandmarks$genes$Status <- controlStatus(types,MANoLandmarks) Matching patterns for: Gene ID Found 25056 Gene Found 223 Buffer only Found 96 Cot Found 1920 Alien Found 0 Cy-3 landmark Found 0 Cy-5 landmark Found 336 Empty Found 0 poly d(A) Found 384 Randomized negative control Setting attributes: values col cex > MANormalized <- normalizeWithinArrays(MANoLandmarks, method="printtiploess") Error: subscript out of bounds Any suggestions? Kind regards, Edo Plantinga [[alternative HTML version deleted]]
Normalization Normalization • 1.4k views
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 1 hour ago
WEHI, Melbourne, Australia
Dear Edo, Normalization assumes complete arrays. (This is true of any function in limma or marrayX which requires print layout information.) Therefore you should downweight your cy3 and cy5 landmarks by giving them weight zero rather than by subsetting them out of the data object. You should never subset your data object before normalization. Do you have weights already set in your RGList object? If you do, you could use RG$weights <- RG$weights * ( RG$genes [, "Status"] !="Cy-3 landmark" ) RG$weights <- RG$weights * ( RG$genes [, "Status"] !="Cy-5 landmark" ) and then straight into normalizeWithinArrays(RG) Cheers Gordon At 01:20 AM 19/12/2003, Edo Plantinga wrote: >Dear all, > >In our lab we use cy3 and cy5 landmarks to be able to distinguish between >subgrids when performing the image analysis. Because these values will >influence a Lowess normalization, I filter out these spots before >performing the normalization. The problem is that after I do that and try >to normalize with the data that is left, I get an an error that the >subscript is out of bounds: > > > types > SpotType Gene ID col cex >1 Gene * grey10 0.2 >2 Buffer only Buffer only brown 0.2 >3 Cot Cot* yellow 0.2 >4 Alien alien* pink 0.2 >5 Cy-3 landmark Cy-3 landmark green 0.2 >6 Cy-5 landmark Cy-5 landmark red 0.2 >7 Empty Empty blue 0.2 >8 poly d(A) poly d(A) darkblue 0.2 >9 Randomized negative control Randomized negative control chocolate1 0.2 > > MANoLandmarks <- RG[RG$genes [, "Status"] !="Cy-3 landmark",] > > MANoLandmarks <- MANoLandmarks[MANoLandmarks$genes [, "Status"] !="Cy-5 > landmark",] > > # Attributes for printing of control spots are not copied. > > # I am not sure why this happens, but this seems to solve the problem: > > MANoLandmarks$genes$Status <- controlStatus(types,MANoLandmarks) >Matching patterns for: Gene ID >Found 25056 Gene >Found 223 Buffer only >Found 96 Cot >Found 1920 Alien >Found 0 Cy-3 landmark >Found 0 Cy-5 landmark >Found 336 Empty >Found 0 poly d(A) >Found 384 Randomized negative control >Setting attributes: values col cex > > MANormalized <- normalizeWithinArrays(MANoLandmarks, > method="printtiploess") >Error: subscript out of bounds > >Any suggestions? > >Kind regards, > >Edo Plantinga
ADD COMMENT
0
Entering edit mode
Hi, I'm trying to run SAM using the siggenes package in R (version 1.8.1 in Window XP). I have a 16247x204 matrix containing all the arrays in my experiment. This matrix includes several experimental conditions including replicates. I need to run sam for each experimental condition. I try the following command and got this error. sam(RG.alls, x=RG.alls$R[1:16], y=RG.alls$G[1:16]) Error in as.double.default(structure(list(structure(c(NA, NA, NA, NA, : (list) object cannot be coerced to double I assume this error may be related to all the blank (NA) points I have in the matrix. Are there any ways to remove these empty spots for each set of replicates without having to export and arrange the matrix elsewhere? Anna
ADD REPLY
0
Entering edit mode
On 12/19/03 13:50, "Anna Cao" <yunie@caltech.edu> wrote: > Hi, > > I'm trying to run SAM using the siggenes package in R (version 1.8.1 in > Window XP). I have a 16247x204 matrix containing all the arrays in my > experiment. This matrix includes several experimental conditions including > replicates. I need to run sam for each experimental condition. I try the > following command and got this error. > > sam(RG.alls, x=RG.alls$R[1:16], y=RG.alls$G[1:16]) > Error in as.double.default(structure(list(structure(c(NA, NA, NA, NA, : > (list) object cannot be coerced to double Anna, Actually, assuming that you are doing a one-class evaluation (as it looks like you are interested in finding genes disregulated in the first 16 columns), I think that your call should look like: sam(RG.alls, x=c(1:16),y=NULL) If you have NAs, see the parameter na.rm from ?sam to see what sam does when NAs are present. Sean
ADD REPLY

Login before adding your answer.

Traffic: 589 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