[BioC] continued dye effects, after normalization

Gordon Smyth smyth at wehi.EDU.AU
Sun Jan 14 11:32:41 CET 2007


Hi Jenny,

No normalization method can remove probe-specific dye-effects. If 
they exist, as seems common, probe-specific dye-effects are 
systematic rather than random effects, so you need to include them as 
a coefficient in the linear model, not treat them as a blocking 
variable. You do this simply by including an intercept in the linear 
model, see Section 8.1.2 (Dye-Swaps) of the limma User's Guide.

Probe-specific dye-effects seem real for all two-colour platforms, 
see for example http://www.biomedcentral.com/1471-2105/7/511

BTW, I don't see any good reason to use dye-swaps in a common 
reference design. If you use the same channel for the reference 
sample throughout, any dye-effects will cancel out of any analysis.

Best wishes
Gordon

At 10:00 PM 11/01/2007, bioconductor-request at stat.math.ethz.ch wrote:
>Date: Wed, 10 Jan 2007 10:42:23 -0600
>From: Jenny Drnevich <drnevich at uiuc.edu>
>Subject: [BioC] continued dye effects, after normalization
>To: bioconductor at stat.math.ethz.ch
>Cc: Yoshi Oono <yoono at uiuc.edu>, Satwik Rajaram <srajaram at uiuc.edu>
>Message-ID: <6.2.1.2.2.20070110094334.035ab450 at express.cites.uiuc.edu>
>Content-Type: text/plain; charset="us-ascii"
>
>Hi all,
>
>I've been analyzing a spotted array experiment that used a common reference
>with a 2X2 factorial design. There were no technical dye swaps, but half of
>the 6 replicates in each group had the ref in Cy3 and half had the ref in
>Cy5. Now that Jim has modified plotPCA to accept matrices, I was checking
>for any unsuspected groupings that might indicate block effects. To my
>surprise, the arrays were still grouping based on the reference channel,
>even after inverting the M-values so that the reference channel was always
>in the denominator! Attached is a figure with 2 PCA plots, and hopefully it
>is small enough to make it through; the code that created them is
>below.  Has anyone else noticed this, and what have you done about it? I
>went back and checked some other experiments that used a common reference,
>and they also mostly showed a continued dye grouping. A between-array scale
>normalization, either on the regular M-values or on inverted M-values,
>failed to remove the dye effect as well. I didn't try other normalizations,
>but instead included 'ref dye' as a blocking variable. The consensus
>correlation from duplicateCorrelation was 0.154, which when included in the
>lmFit model increase the number of genes found significantly different.
>
>I have been working with a physics professor and his student who have
>developed a different data mining algorithm, which shows these dye effects
>even more strongly than PCA. They are suggesting another normalization is
>needed to remove the ref dye effect, and they want to normalize the ref dye
>groups separately. Doing a separate normalization doesn't seem like a good
>idea to me, and I wanted to get other opinions on the dye effect, my
>approach, and other normalization options.
>
>Thanks!
>Jenny
>
>code:
>
>RG <- read.maimages(targetsb$FileName,path="D:/MA Jenny",
>                  source="genepix.median",names=targetsb$Label,wt.fun=f)
>
>RG.half <- backgroundCorrect(RG,method="half")
>
>MA.half <- normalizeWithinArrays(RG.half)
>
>temp <- MA.half
>temp$M[,targetsb$Cy3=="ref"] <- -1 * temp$M[,targetsb$Cy3=="ref"]
>
>layout(matrix(1:2,2,1))
>plotPCA(MA.half$M,groups=rep(c(1,2,1,2,1,2,1,2),each=3),groupnames=c("ref
>G","ref R"))
>          # PC1 divides the arrays by which channel the ref was in
>plotPCA(temp$M,groups=rep(c(1,2,1,2,1,2,1,2),each=3),groupnames=c("ref
>G","ref R"))
>          # after inverting the M-values for half the arrays, PC1 divides
>the arrays by one of the treatments, but
>          # the dye effect still shows up in PC2
>
>
>MA.half.scale <- normalizeBetweenArrays(MA.half,method="scale")
>
>design <- modelMatrix(targetsb,ref="ref")
>
>block <- rep(c(1,2,1,2,1,2,1,2),each=3)
>
>corfit <- duplicateCorrelation(MA.half.scale[RG$genes$Status=="cDNA",],
>design, ndups=1, block=block)
>
>corfit$consensus
>      #[1] 0.1537080
>
>
>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
>USA
>
>ph: 217-244-7355
>fax: 217-265-5066
>e-mail: drnevich at uiuc.edu



More information about the Bioconductor mailing list