[BioC] Limma - gls.series - design matrix?
Gordon Smyth
smyth at wehi.edu.au
Wed Aug 11 09:10:52 CEST 2004
Your problem is with your code
design <- model %*% contrast.matrix
which is entirely unnecessary and produces a singular design matrix. The
correct design matrix is computed by modelMatrix -- why don't you trust it?
The design matrix should have only 4 columns because you have 4 distinct
RNA sources apart from the reference. The formation of contrasts is done
after the fitting of the linear model as per the limma documentation and
examples.
In your example the last three constrasts are always NA because any set of
3 contrasts span the contrast space - the last 3, whichever they are, are
redundant.
Gordon
At 04:11 PM 11/08/2004, Jakob Hedegaard wrote:
>Hi
>
>We are studying the impact of different traits on the expression in pigs
>using cDNA microarray. We have some problems using Limma when taking
>within-array replicated spots into acount. Analysing the effects of a
>single trait (like sick-healthy) works fine, but combing traits (like
>far6syg-far2syg, far=father, syg=sick) results in the presence of NA's in
>the output from gls.series. We are using R ver 1.9.0 and Bioconductor 1.4.
>
>What we do:
>
> > targets <- readTargets("targets_farXsyg.txt")
> > targets
> SlideNumber Cy3 Cy5
>1 12755473 mix far6rask
>2 12755474 mix far6syg
>3 12755475 mix far2rask
>4 12755476 mix far2syg
>5 12755477 mix far6rask
>.......
>25 12759971 mix far2syg
>26 12760017 mix far6syg
>27 12760018 mix far6rask
>28 12760019 mix far6syg
> >
> > model <- modelMatrix(targets, ref="mix")
>Found unique target names:
> far2rask far2syg far6rask far6syg mix
> > model
> far2rask far2syg far6rask far6syg
>1 0 0 1 0
>2 0 0 0 1
>3 1 0 0 0
>4 0 1 0 0
>5 0 0 1 0
>...........
>25 0 1 0 0
>26 0 0 0 1
>27 0 0 1 0
>28 0 0 0 1
> >
> > contrast.matrix <- makeContrasts(far6rask-far6syg, far2rask-far2syg,
> far6rask-far2syg, far6syg-far2rask, far6rask-far2rask, far6syg-far2syg,
> levels=model)
> > contrast.matrix
> far6rask - far6syg far2rask - far2syg far6rask - far2syg
>far2rask 0 1 0
>far2syg 0 -1 -1
>far6rask 1 0 1
>far6syg -1 0 0
> far6syg - far2rask far6rask - far2rask far6syg - far2syg
>far2rask -1 -1 0
>far2syg 0 0 -1
>far6rask 0 1 0
>
>
> > contrast.matrix
> far6rask - far6syg far2rask - far2syg far6rask - far2syg
>far2rask 0 1 0
>far2syg 0 -1 -1
>far6rask 1 0 1
>far6syg -1 0 0
> far6syg - far2rask far6rask - far2rask far6syg - far2syg
>far2rask -1 -1 0
>far2syg 0 0 -1
>far6rask 0 1 0
>far6syg 1 0 1
> >
> > design <- model %*% contrast.matrix
> > design
>
> far6rask - far6syg far2rask - far2syg far6rask - far2syg
> 1 1 0 1
> 2 -1 0 0
> 3 0 1 0
> 4 0 -1 -1
> 5 1 0 1
> ............
> 25 0 -1 -1
> 26 -1 0 0
> 27 1 0 1
> 28 -1 0 0
>
> far6syg - far2rask far6rask - far2rask far6syg - far2syg
> 1 0 1 0
> 2 1 0 1
> 3 -1 -1 0
> 4 0 0 -1
> 5 0 1 0
>...........
> 25 0 0 -1
> 26 1 0 1
> 27 0 1 0
> 28 1 0 1
> > cor <- duplicateCorrelation(MArep$M,design,ndups=4)
> > fitcor <- gls.series(MArep$M, design,ndups=4,correlation=cor$cor)
> > fitcor$coefficients[1:5,]
> far6rask - far6syg far2rask - far2syg far6rask - far2syg
>[1,] 0.019897478 -0.058434294 -0.06046312
>[2,] -0.006362523 0.061185620 -0.11697534
>[3,] -0.003859953 -0.050241979 -0.02122334
>[4,] 0.013675174 -0.003196691 -0.02909511
>[5,] 0.005154980 0.043414444 -0.04125395
> far6syg - far2rask far6rask - far2rask far6syg - far2syg
>[1,] NA NA NA
>[2,] NA NA NA
>[3,] NA NA NA
>[4,] NA NA NA
>[5,] NA NA NA
> >
>
>For some reason (?) it is always the final three contrasts that results in
>NA´s - chancing the design matrix by flipping the final three contrast
>with the first three contrasts, still results in NA's in the final three
>contrast (which were the the first three before flipping......). Some
>technical problem? The design matrix ("design") are of dim 28x6 as it it
>should be......
>Any suggestions?
>
>------------------------------------------------------
>Jakob Hedegaard
>
>Danish Institute of Agricultural Sciences
>Department of Animal Breeding and Genetics
>Research Centre Foulum
>P.O. Box 50
>DK-8830 Tjele, Denmark
>
>Tel: (+45) 8999 1363
>Fax: (+45) 8999 1300
>
>_______________________________________________
>Bioconductor mailing list
>Bioconductor at stat.math.ethz.ch
>https://stat.ethz.ch/mailman/listinfo/bioconductor
More information about the Bioconductor
mailing list