[BioC] Positive correlation between dye-swap technical replicates
Michał Góralski
mgoralsk at ibch.poznan.pl
Thu Jan 14 12:58:53 CET 2010
Dear All,
I have some doubts concerning linear model used in my data analysis. I
was searching for the answer on the mail list but I didn't find the
similar case.
I analyse tobacco roots treated with 2 types of stress: NaCl and CdCl2.
I have pooled common reference and I have 3 biological replicates of
treated plants. I also did dye swaps as technical replicate.
This is my targets file:
SlideNumber Name FileName Cy3 Cy5
13244317 21 13244317.gpr Control NaCl
13244318 22 13244318.gpr Control NaCl
13244315 23 13244315.gpr Control NaCl
13244319 31 13244319.gpr Control CdCl2
13244337 32 13244337.gpr Control CdCl2
13244316 33 13244316.gpr Control CdCl2
13244330 21 13244330.gpr NaCl Control
13244329 22 13244329.gpr NaCl Control
13244331 23 13244331.gpr NaCl Control
13244333 31 13244333.gpr CdCl2 Control
13244335 32 13244335.gpr CdCl2 Control
13244336 33 13244336.gpr CdCl2 Control
I did background subtraction with method "normexp" and normalization
"pronttip loess", without normalization between arrays.
Now I have the vector indicating biological and technical replicates.
>biolrep=c(1,2,3,4,5,6,1,2,3,4,5,6)
and create model matrix:
>design=modelMatrix(targets, ref="Control")
> design
CdCl2 NaCl
[1,] 0 1
[2,] 0 1
[3,] 0 1
[4,] 1 0
[5,] 1 0
[6,] 1 0
[7,] 0 -1
[8,] 0 -1
[9,] 0 -1
[10,] -1 0
[11,] -1 0
[12,] -1 0
I'm interested in such contrasts:
>cmatrix=makeContrasts(NaCl, CdCl2, NaCl-CdCl2,levels=design)
> cmatrix
Contrasts
Levels NaCl CdCl2 NaCl - CdCl2
CdCl2 0 1 -1
NaCl 1 0 1
Object for duplicate correlation with dye-swaps:
>corfit=duplicateCorrelation(MA, design=design, ndups=1, block=biolrep)
and the first problem is:
> corfit$consensus
[1] 0.3926545
In limma manual it is written that correlation should be negative for
dye swaps- why is it positive?- is it a question of wrong model matrix
or is it something wrong with my samples?
but
When I do simple hierarchical clustering of log-ratios:
>dist.matrix=dist(t(MA$M))
>hc=hclust(dist.matrix)
>par(mfrow=c(1,1)
>plot(hc)
The plot divides my arrays in two groups that exactly reflects dye
swaps. So maybe the model is correct?
I was thinking also about checking dye effect so I tried with such model:
> design2=cbind(Dye=1, design)
> design2
Dye CdCl2 NaCl
[1,] 1 0 1
[2,] 1 0 1
[3,] 1 0 1
[4,] 1 1 0
[5,] 1 1 0
[6,] 1 1 0
[7,] 1 0 -1
[8,] 1 0 -1
[9,] 1 0 -1
[10,] 1 -1 0
[11,] 1 -1 0
[12,] 1 -1 0
I'm not sure if I can use such model.
if I use it:
> corfit=duplicateCorrelation(MA, design=design2, ndups=1, block=blockrep)
> corfit$consensus
[1] -0.04530506
The second problem is that each probe on my array is duplicated so in
the final top table I have each gene doubled- I read it is not possible
in Limma to analyse both technical duplicates and gene replicas on the
array. Could you give me any hint how to solve this problem?
I will be glad for any help in this cases
Best regards,
Michal Goralski, PhD student,
Institute of Bioorganic Chemistry, Polish Academy of Sciences, Poznan,
Poland.
More information about the Bioconductor
mailing list