[BioC] limma: analyzing randomized duplicate spots on Nimblegen array

Jenny Drnevich drnevich at illinois.edu
Thu Apr 30 16:56:48 CEST 2009

HI Vishal,

I only briefly glanced through your code, but here's one problem 
(quoted from my response to a similar question on the list just last week):

>Did you read through the help file for duplicateCorrelation? You 
>can't do both block and ndups:
>"At this time it is not possible to estimate correlations between 
>duplicate spots and between technical replicates simultaneously. If 
>block is not null, then the function will set ndups=1."


At 09:11 AM 4/30/2009, Vishal Thapar wrote:
>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.quantile <- ma.quantile[order(ma.quantile$genes$GENE_EXPR_OPTION,
>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:
>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 .
>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]]
>Bioconductor mailing list
>Bioconductor at stat.math.ethz.ch
>Search the archives: 

Jenny Drnevich, Ph.D.

Functional Genomics Bioinformatics Specialist
W.M. Keck Center for Comparative and Functional Genomics
Roy J. Carver Biotechnology Center
University of Illinois, Urbana-Champaign

330 ERML
1201 W. Gregory Dr.
Urbana, IL 61801

ph: 217-244-7355
fax: 217-265-5066
e-mail: drnevich at illinois.edu

More information about the Bioconductor mailing list