Dear all,

I have the project with the following design (dual color, with dye swap): 

                        Cy5     Cy3 Status RepNum Polarity
R1 SI31_vs_R1 CTRL+ R1_SI31 R1_CTRL      R      1        +
R1 SI31_vs_R1 CTRL- R1_CTRL R1_SI31      R      1        -
R2 SI31_vs_R2 CTRL+ R2_SI31 R2_CTRL      R      2        +
R2 SI31_vs_R2 CTRL- R2_CTRL R2_SI31      R      2        -
S1 SI31_vs_S1 CTRL+ S1_SI31 S1_CTRL      S      1        +
S1 SI31_vs_S1 CTRL- S1_CTRL S1_SI31      S      1        -
S3 SI31_vs_S3 CTRL+ S3_SI31 S3_CTRL      S      3        +
S3 SI31_vs_S3 CTRL- S3_CTRL S3_SI31      S      3        -
R3 SI31_vs_R3 CTRL+ R3_SI31 R3_CTRL      R      3        +
R3 SI31_vs_R3 CTRL- R3_CTRL R3_SI31      R      3        -
S2 SI31_vs_S2 CTRL+ S2_SI31 S2_CTRL      S      2        +
S2 SI31_vs_S2 CTRL- S2_CTRL S2_SI31      S      2        -


I want to compare R versus S.

The first thing I've done is the following (where X is my processed log2(ratio) matrix): 
==========================================================
status = factor(target$Status)
dye = rep(c(1,-1),times = 6)
design = model.matrix(~0+dye+status)
colnames(design) = c("Dye","R","S")
fit <- lmFit(X, design)
cont.matrix <- makeContrasts("R-S",levels=design)
fit2 <- contrasts.fit(fit, cont.matrix)
fit2 <- eBayes(fit2)
res1 = topTable(fit2, adjust="BH", number = Inf, coef="R-S")
==========================================================

which raise 93 transcript significantly differentially expressed.




Then, I've tried to use the mixed model approach which raise about 4000 transcripts : 

==========================================================
MAmixed = normalizeBetweenArrays(RG,method = "Aquantile")
# replace NA using KNN
MnoNa = gestionNA_knn(MAmixed$M)
AnoNa = gestionNA_knn(MAmixed$A)

MAmixed$M = MnoNa
MAmixed$A = AnoNa

t2 = targetsA2C(target)
u <- unique(t2$Status)
f <- factor(t2$Status, levels=u)
design <- model.matrix(~0+f)
colnames(design) <- u
corfit <- intraspotCorrelation(MAmixed, design)
fit <- lmscFit(MAmixed, design, correlation=corfit$consensus)
cont.matrix <- makeContrasts("R-S",levels=design)
fit2 <- contrasts.fit(fit, cont.matrix)
fit2 <- eBayes(fit2)
res2 = topTable(fit2, adjust="BH", number = Inf)
==========================================================




I was wondering which approach better fit the design of this project.

I would also be very grateful if you could (briefly) explain why there is such a difference ?

Many thanks by advance.
--
Guillaume
	[[alternative HTML version deleted]]

