[BioC] continued dye effects, after normalization

Henrik Bengtsson hb at stat.berkeley.edu
Tue Jan 16 22:30:25 CET 2007


[Forgot to reply to everyone]

Hi Jenny,

sorry about that. I design my help indices for help.start() / PDF
help.  The particular one you're looking for is under
?normalizeAffine.matrix. There is also one help section "1.
Calibration and Normalization" with more general comments.

The main reference is:

 [1] Henrik Bengtsson and Ola Hössjer, _Methodological Study of
    Affine Transformations of Gene Expression Data_, Methodological
    study of affine transformations of gene expression data with
    proposed robust non-parametric multi-dimensional normalization
    method, BMC Bioinformatics, 2006, 7:100.

You'll also find a few talks on the topic at:

 http://www.maths.lth.se/bioinformatics/talks/

Hope this helps

Henrik

On 1/17/07, Jenny Drnevich <drnevich at uiuc.edu> wrote:
> Thanks Henrik,
>
> Where can I find documentation on this affine normalization? There is no
> real help page for normalizeAffine, just a generic "Non-doumented Objects"
> page.
>
> Cheers,
> Jenny
>
> At 12:18 AM 1/14/2007, Henrik Bengtsson wrote:
> >Hi Jenny,
> >
> >try affine normalization, which corrects for both global background
> >(offset) as well as non-linear effects on the log-scale (read
> >intensity dependent effects) in one step.  See normalizeAffine(X,
> >constraint=0.05) in the aroma.light package, where X is a matrix. By
> >adjusting the 'constraint' argument you can adjust the amount of
> >background subtracted.
> >
> >Try also to stratify your PCR by different intensities.  It is more
> >likely that you see a "dye bias" at lower intensities than at higher,
> >which is mainly because the background correction was not perfect.
> >
> >Cheers
> >
> >Henrik
> >
> >On 1/11/07, Jenny Drnevich <drnevich at uiuc.edu> wrote:
> >>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
> >>
> >>_______________________________________________
> >>Bioconductor mailing list
> >>Bioconductor at stat.math.ethz.ch
> >>https://stat.ethz.ch/mailman/listinfo/bioconductor
> >>Search the archives:
> >>http://news.gmane.org/gmane.science.biology.informatics.conductor
> >>
> >
> >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