[BioC] technical replicates and lmFit error

Gordon K Smyth smyth at wehi.EDU.AU
Sat Jul 21 02:33:24 CEST 2012


Dear Elaine,

Well, you are trying to fit a model with 12 coefficients to a dataset with 
only 12 arrays.  It is no surprise that this causes a problem.

I have had a look at the targets file.  If I understand the meaning of the 
labels is the file, it appears that the mixing up of technical replicates 
with biological replicates is very complex.  So complex that I do not know 
of any practical approach that would unravel them in an analysis.

I suggest that you simply treat all your technical replicates as ordinary 
biological replicates, so that a ordinary limma analysis is 
straightforward.  Then take the p-values that you get at the end with a 
grain of salt, because they will be somewhat smaller than they should be.

Best wishes
Gordon

PS. lmFit has given a warning, not an error.  There's a difference!

> Date: Thu, 19 Jul 2012 07:19:26 +0000
> From: "Ommen Kloeke, A.E.E. van" <elaine.van.ommenkloeke at vu.nl>
> To: "'bioconductor at r-project.org'" <bioconductor at r-project.org>
> Subject: [BioC] technical replicates and lmFit error
>
> Dear Bioconductor team,
>
> I am working on a 2-colour Agilent dataset which has both biological and 
> technical replicates. A problem which many people already encountered as 
> I could see from the previous posts, so my apologies for bringing it up 
> again. However, I tried the script given for this situation in the Limma 
> user guide, but my lmFit gives an error if I try this!
>
> My experiment contains three treatments: "AC", "low" and "high" - each 
> has 4 biological replicates and 2 technical replicates as indicated in 
> the attached target file. The main contrasts of interest are "low-AC" 
> and "high-AC". Here's the script I tried:
>
> design = modelMatrix(targets, ref = "AC1")
> design = cbind(Dye = 1, design)
> colnames(design)
> #[1] "Dye"   "AC2"   "AC4"   "AC5"   "high1" "high2" "high4" "high5" "low1"  "low3"  "low4"  "low5"
>
> fit = lmFit(MAbet, design)
> cont.matrix = makeContrasts(ACvsLow = (high1+high2+high4+low5-AC2-AC4-AC5)/4,levels = design)
> fit2 = contrasts.fit(fit, cont.matrix)
> fit2 = eBayes(fit2)
> topTable(fit2, adjust = "fdr")
>
> However the LmFit gives an error:
>> fit = lmFit(MAbet, design)
> Coefficients not estimable: low4 low5
> Warning message:
> Partial NA coefficients for 43803 probe(s)
>
> I understand this has to do with my design, but I don't know how to fix it:
>> design
>      Dye AC2 AC4 AC5 high1 high2 high4 high5 low1 low3 low4 low5
> [1,]   1   0   0   0     0     0     0     0    0    0    1    0
> [2,]   1  -1   0   0     0     0     0     0    0    0    0    1
> [3,]   1   0   1   0     0     0     0     0   -1    0    0    0
> [4,]   1   0   0   1     0     0     0     0    0   -1    0    0
> [5,]   1   0   0   0     0     0     1     0    0    0    0    0
> [6,]   1  -1   0   0     0     0     0     1    0    0    0    0
> [7,]   1   0   1   0    -1     0     0     0    0    0    0    0
> [8,]   1   0   0   1     0    -1     0     0    0    0    0    0
> [9,]   1   0   0   0    -1     0     0     0    0    0    1    0
> [10,]   1   0   0   0     0    -1     0     0    0    0    0    1
> [11,]   1   0   0   0     0     0     1     0   -1    0    0    0
> [12,]   1   0   0   0     0     0     0     1    0   -1    0    0
>> is.fullrank(design)
> [1] FALSE
>
> I completely trust in your expertise! Any help is very welcome and appreciated.
>
> Much obliged and many thanks!
>
> Elaine van Ommen Kloeke
>
>
>
> VU university Amsterdam
> Department of Ecological Science
> room:  H-119
> phone: 020-5987217
> www.falw.vu.nl/animalecology<http://www.falw.vu.nl/animalecology>


______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}



More information about the Bioconductor mailing list