Hello,
I have an experiment with six groups: WT and KO cells that are untreated, treated with IFN A or IFN B.
Here are some of the possible contrasts.
cm <- makeContrasts(
# Treatment effects
A.WT = WT.A - WT.Un,
B.WT = WT.B - WT.Un,
A.KO = KO.A - KO.Un,
B.KO = KO.B - KO.Un,
# Differences between treatments within strain
A.vs.B.WT = WT.A - WT.B,
A.vs.B.KO = KO.A - KO.B,
# Basal difference between strains
KO.vs.WT = KO.Un - WT.Un,
# Treatment differences between strains
A.KO.vs.WT = (KO.A - KO.Un) - (WT.A - WT.Un),
B.KO.vs.WT = (KO.B - KO.Un) - (WT.B - WT.Un),
levels = design
)
fit2 <- contrasts.fit(fit, cm)
fit2 <- treat(fit2, lfc = log2(1.2))
results <- decideTests(fit2)
One of the main questions of interest is what genes are up-regulated specifically by the treatments. e.g. in WT cells, genes that are significantly induced by A compared to unstimulated and to B, but not induced by B. The common specific genes in WT and KO cells are also of interest.
A.WT.specific <- results[,"A.WT"] == 1 & results[,"A.vs.B.WT"] == 1 & results[,"B.WT"] != 1 # Similarly for A.KO.specific, B.WT.specific and B.KO.specific A.specific <- A.WT.specific & A.KO.specific # Similarly for B.specific
I think this is a situation where using decideTests with method="global" would be appropriate, however I want to avoid including unnecessary contrasts.
I was wondering whether anyone could offer any advice about whether the contrast matrix above would be suitable to use with the "global" method or whether I would need to define smaller contrast matrices, such as those shown below, and run contrasts.fit, treat and decideTests again as appropriate.
Thanks very much.
# Keep both WT and KO together
cm.specific <- makeContrasts(
# Treatment effects
A.WT = WT.A - WT.Un,
B.WT = WT.B - WT.Un,
A.KO = KO.A - KO.Un,
B.KO = KO.B - KO.Un,
# Differences between treatments within strain
A.vs.B.WT = WT.A - WT.B,
A.vs.B.KO = KO.A - KO.B,
levels = design
)
# Split even further into WT and KO contrast matrices
cm.wt.specific <- makeContrasts(
# Treatment effects
A.WT = WT.A - WT.Un,
B.WT = WT.B - WT.Un,
# Differences between treatments within strain
A.vs.B.WT = WT.A - WT.B,
levels = design
)
# cm.ko.specific similarly

Thanks Aaron. I was leaning towards that particular choice, but it was very helpful to get another opinion. Yes, I shall just subset
fit2for thedecideTestsand then go from there.results.specific <- decideTests(fit2[,c("A.WT", "B.WT", "A.vs.B.WT", "A.KO", "B.KO", "A.vs.B.KO")], method = "global")I had a suspicion that perhaps this was not entirely statistically rigorous, particularly the part about which genes are not significantly different, but it was best way that I could think of. It seems to get me a few candidate genes and I suppose it is better than nothing.
Thanks again.