limma: analyzing randomized duplicate spots on Nimblegen array
0
0
Entering edit mode
@vishal-thapar-3427
Last seen 10.2 years ago
Dear List, Hi! I am new to this list so here is a brief introduction: My name is Vishal and I am a post doc at Cold Spring Harbor Lab working on Chip-chip / seq data analysis. I have my background in computer algorithms so pardon me if I make some errors with my Biological and Statistical terminology. Here is the problem that I am facing: 1) I have data from Nimblegen tiling arrays. I have 3 Bioreps each having 1 technical rep. There are no dye swaps. In each rep, there are duplicate spots on the array. In this experiment, as I reconstructed the images from the data, I see some "quite" bad spots in the red channel specially for biorep2. I am sure most of you have faced this so do you usually include this rep in your analysis, or not? How do you handle the statistical confidence with your results if you do or dont? 2) I want to use the duplicate spots on each rep for my analysis. As of now, I do the normalization, I average the duplicate spots and use that as my input to the lmfit() function. I notice that after the average, the correlation between the reps is better. I guess that is expected but I am not satisfied with the averaging of the Spots. I believe that there is a better way to do this than just take the average but I am just not aware of that. I have used the duplicateCorrelation() function in Limma which gives me a -0.04 correlation and its probably because the probes are position randomized (even the duplicates are). So can anyone help me and tell me how should I proceed and use these duplicate spots in a better way than just simply averaging them? I appreciate any pointers that I can get. Source code for this: ma.loess<-normalizeWithinArrays(rg,method="loess", bc.method="none") ma.quantile <-normalizeBetweenArrays(ma.loess, method="quantile") ma.spot1.quantile<-ma.quantile[grep("SPOT1",ma.quantile$genes$GENE_EXP R_OPTION),] ma.spot2.quantile<-ma.quantile[grep("SPOT2",ma.quantile$genes$GENE_EXP R_OPTION),] ma.spot1.quantile<-ma.spot1.quantile[order(ma.spot1.quantile$genes$GEN E_EXPR_OPTION,ma.spot1.quantile$genes$POSITION),] ma.quantile <- ma.quantile[order(ma.quantile$genes$GENE_EXPR_OPTION, ma.quantile$genes$POSITION),] ma.spot2.quantile<-ma.spot2.quantile[order(ma.spot2.quantile$genes$GEN E_EXPR_OPTION,ma.spot2.quantile$genes$POSITION),] ma.avr.quantile<-ma.spot1.quantile ma.avr.quantile$M<-(ma.spot1.quantile$M + ma.spot2.quantile$M)/2 fit.avg <- lmFit(ma.avr.quantile, design) fit <- lmFit(ma.quantile, design) -------------------------------- function: duplicateCorrelation() in limma as follows: biolrep=c(1,1,2,2) corfit.avr=duplicateCorrelation(ma.avr.quantile, ndups=2, block=biolrep) -------------------------------- This did not work. I got a negative corelation of -0.04 I appreciate your time and help . Sincerely, Vishal ps: Thank you Gordan Smith for writing Limma. I think its really a great tool to have and I am very appreciative of it. [[alternative HTML version deleted]]
Normalization limma Normalization limma • 857 views
ADD COMMENT

Login before adding your answer.

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