Entering edit mode
Levi Waldron
★
1.1k
@levi-waldron-3429
Last seen 4 days ago
CUNY Graduate School of Public Health a…
I'm trying to assemble a LIMMA contrast matrix using group means
parametrization for a 2x2x4 (treatment x treatment x time course)
complete
randomized ANOVA design. I am wondering if anyone could confirm that
I'm
doing it correctly, as the LIMMA Reference Guide doesn't have any
examples
which involve summing/averaging treatments in the contrast matrix. In
particular, I want to make sure that I should look for main effects by
averaging together all groups with each level of the main effect, ie
to look
for a genotype (AB) main effect with the treatments no/yes and four
time
points, with a line like this in makeContrasts:
genotype=(no.A.t4+no.A.t3+no.A.t1+no.A.t2+no.B.t4+no.B.t3+no.B.t1+no.B
.t2)/8
-
(yes.A.t4+yes.A.t3+yes.A.t1+yes.A.t2+yes.B.t4+yes.B.t3+yes.B.t1+yes.B.
t2)/8
For a full example:
(Time <- factor(paste("t",1:4,sep="")))
[1] t1 t2 t3 t4
Levels: t1 t2 t3 t4
> (genotype <- factor(LETTERS[1:2]))
[1] A B
Levels: A B
> (treatment <- factor(c("no","yes")))
[1] no yes
Levels: no yes
> (pdata <- data.frame(genotype=sort(gl(2,1,16,labels=c("no","yes"))),
+
treatment=rep(sort(gl(2,1,8,labels=LETTERS[1:2])),2),
+ Time=gl(4,1,16,labels=paste("t",1:4,sep=""))
+ )
+ )
genotype treatment Time
1 no A t1
2 no A t2
3 no A t3
4 no A t4
5 no B t1
6 no B t2
7 no B t3
8 no B t4
9 yes A t1
10 yes A t2
11 yes A t3
12 yes A t4
13 yes B t1
14 yes B t2
15 yes B t3
16 yes B t4
(assuming only one replicate for simplicity here.) Then build the
design
matrix:
(TS <-
factor(paste(pdata$genotype,pdata$treatment,pdata$Time,sep=".")))
[1] no.A.t1 no.A.t2 no.A.t3 no.A.t4 no.B.t1 no.B.t2 no.B.t3
no.B.t4
[9] yes.A.t1 yes.A.t2 yes.A.t3 yes.A.t4 yes.B.t1 yes.B.t2 yes.B.t3
yes.B.t4
16 Levels: no.A.t1 no.A.t2 no.A.t3 no.A.t4 no.B.t1 no.B.t2 no.B.t3 ...
yes.B.t4
> design <- model.matrix(~0+TS)
> colnames(design) <- levels(TS)
In this example I'm interested in the following comparisons:
1) genes differing overall between the two genotypes
2) genes differing overall by treatment
3) genes where two genotypes respond differently to treatment
(genotype:treatment interaction)
4) genes with a significant treatment effect at time points 1, 2, 3,
and 4
5) genes where the treatment effect differs for the two genotypes at
each
time point
So I *think* I build the contrast matrix for these comparisons as
follows -
does this look right?
> cont.matrix <-
makeContrasts(genotype=(no.A.t4+no.A.t3+no.A.t1+no.A.t2+no.B.t4+no.B.t
3+no.B.t1+no.B.t2)/8
-
(yes.A.t4+yes.A.t3+yes.A.t1+yes.A.t2+yes.B.t4+yes.B.t3+yes.B.t1+yes.B.
t2)/8,
#genotype main effect
+
treatment=(no.A.t4+no.A.t3+no.A.t1+no.A.t2+yes.A.t4+yes.A.t3+yes.A.t1+
yes.A.t2)/8
- (no.B.t4+no.B.t3+no.B.t1+no.B.t2+yes.B.t4+yes.B.t3+yes.B.t1+yes.B.t2
)/8,
#treatment main effect
+
genotype.treatment.interaction=((no.A.t4+no.A.t3+no.A.t1+no.A.t2)/4 -
(no.B.t4+no.B.t3+no.B.t1+no.B.t2)/4) -
((yes.A.t4+yes.A.t3+yes.A.t1+yes.A.t2)/4 -
(yes.B.t4+yes.B.t3+yes.B.t1+yes.B.t2)/4), #interaction between
genotype and
treatment
+ #next four lines for genes with a
significant
treatment effect at time points 1, 2, 3, and 4
+
treatment.t1=(no.A.t1+yes.A.t1)/2-(no.B.t1+yes.B.t1)/2,
+
treatment.t2=(no.A.t2+yes.A.t2)/2-(no.B.t2+yes.B.t2)/2,
+
treatment.t3=(no.A.t3+yes.A.t3)/2-(no.B.t3+yes.B.t3)/2,
+
treatment.t4=(no.A.t4+yes.A.t4)/2-(no.B.t4+yes.B.t4)/2,
+ #next eight lines for genes differing
in
treatment for each level of genotype and each time point
+ genotype.no.t1=no.A.t1-no.B.t1,
+ genotype.no.t2=no.A.t2-no.B.t2,
+ genotype.no.t3=no.A.t3-no.B.t3,
+ genotype.no.t4=no.A.t4-no.B.t4,
+ genotype.yes.t1=yes.A.t1-yes.B.t1,
+ genotype.yes.t2=yes.A.t2-yes.B.t2,
+ genotype.yes.t3=yes.A.t3-yes.B.t3,
+ genotype.yes.t4=yes.A.t4-yes.B.t4,
+ levels=design)
> cont.matrix
Contrasts
Levels genotype treatment genotype.treatment.interaction
treatment.t1
treatment.t2
no.A.t1 0.125 0.125 0.25 0.5 0.0
no.A.t2 0.125 0.125 0.25 0.0 0.5
no.A.t3 0.125 0.125 0.25 0.0 0.0
no.A.t4 0.125 0.125 0.25 0.0 0.0
no.B.t1 0.125 -0.125 -0.25 -0.5 0.0
no.B.t2 0.125 -0.125 -0.25 0.0 -0.5
no.B.t3 0.125 -0.125 -0.25 0.0 0.0
no.B.t4 0.125 -0.125 -0.25 0.0 0.0
yes.A.t1 -0.125 0.125 -0.25 0.5 0.0
yes.A.t2 -0.125 0.125 -0.25 0.0 0.5
yes.A.t3 -0.125 0.125 -0.25 0.0 0.0
yes.A.t4 -0.125 0.125 -0.25 0.0 0.0
yes.B.t1 -0.125 -0.125 0.25 -0.5 0.0
yes.B.t2 -0.125 -0.125 0.25 0.0 -0.5
yes.B.t3 -0.125 -0.125 0.25 0.0 0.0
yes.B.t4 -0.125 -0.125 0.25 0.0 0.0
Contrasts
Levels treatment.t3 treatment.t4 genotype.no.t1 genotype.no.t2
genotype.no.t3
no.A.t1 0.0 0.0 1 0 0
no.A.t2 0.0 0.0 0 1 0
no.A.t3 0.5 0.0 0 0 1
no.A.t4 0.0 0.5 0 0 0
no.B.t1 0.0 0.0 -1 0 0
no.B.t2 0.0 0.0 0 -1 0
no.B.t3 -0.5 0.0 0 0 -1
no.B.t4 0.0 -0.5 0 0 0
yes.A.t1 0.0 0.0 0 0 0
yes.A.t2 0.0 0.0 0 0 0
yes.A.t3 0.5 0.0 0 0 0
yes.A.t4 0.0 0.5 0 0 0
yes.B.t1 0.0 0.0 0 0 0
yes.B.t2 0.0 0.0 0 0 0
yes.B.t3 -0.5 0.0 0 0 0
yes.B.t4 0.0 -0.5 0 0 0
Contrasts
Levels genotype.no.t4 genotype.yes.t1 genotype.yes.t2
genotype.yes.t3
genotype.yes.t4
no.A.t1 0 0 0
0 0
no.A.t2 0 0 0
0 0
no.A.t3 0 0 0
0 0
no.A.t4 1 0 0
0 0
no.B.t1 0 0 0
0 0
no.B.t2 0 0 0
0 0
no.B.t3 0 0 0
0 0
no.B.t4 -1 0 0
0 0
yes.A.t1 0 1 0
0 0
yes.A.t2 0 0 1
0 0
yes.A.t3 0 0 0
1 0
yes.A.t4 0 0 0
0 1
yes.B.t1 0 -1 0
0 0
yes.B.t2 0 0 -1
0 0
yes.B.t3 0 0 0
-1 0
yes.B.t4 0 0 0 0
-1
>
--
Levi Waldron
post-doctoral fellow
Jurisica Lab, Ontario Cancer Institute
Division of Signaling Biology
IBM Life Sciences Discovery Centre
TMDT 9-304D
101 College Street
Toronto, Ontario M5G 1L7
(416)581-7453
[[alternative HTML version deleted]]