[BioC] Please advice

Naomi Altman naomi at stat.psu.edu
Thu Mar 10 02:04:59 CET 2011


Dear Mali,
I have a bit more time now.  I think I answered your first question 
in my last email.  Limma does not directly do a "main effects" and 
interactions type of F-test, although you can can force the issue by 
using the F.p.value and several different sets of contrasts.

The second approach is not valid.  The t-test denominator will be 
incorrect because you did not account for batch and treatment.

Best wishes,
Naomi


Regarding

At 07:05 AM 3/7/2011, you wrote:
>Dear Naomi
>First I would like to apologize for writing you directly.
>My name is Mali Salmon, I am a researcher in Tel Hashomer hospital in Israel.
>I am currently analyzing microarray data using limma package, and I 
>would like to have some advice from a statistician who has an 
>experience with microarray analysis using Limma and bioconductor.
>I was searching the mailing list, and saw your name as one who 
>assist many people with their analysis.
>I have a simple factorial design which I build the design and 
>contrast matrix for, and I just want to be sure that what I did is 
>correct, I would be very grateful is you could give me your opinion.
>
>I have two factors, one is strain with three levels (C,D,S), and a 
>treatment factor with two levels: treated (DSR) and untreated (NO), 
>I also have batch effect which I included in the matrix
>
> > targets
>
>    FileName Treatment Strain batch
>1     NO2_C        NO      C     1
>2    DSR2_C       DSR      C     1
>3     NO2_D        NO      D     1
>4    DSR2_D       DSR      D     1
>5     NO2_S        NO      S     1
>6    DSR2_S       DSR      S     1
>7     NO3_C        NO      C     2
>8    DSR3_C       DSR      C     2
>9     NO3_D        NO      D     2
>10   DSR3_D       DSR      D     2
>11    NO3_S        NO      S     2
>12   DSR3_S       DSR      S     2
>
>I am trying to follow example 8.7 in the user guide (factorial design)
>In order to build the design matrix this is what I did:
>
>TS <- paste(targets$Treatment, targets$Strain, sep=".")
>TS <- factor(TS, unique(TS))
>design<-model.matrix(~0+TS)
>colnames(design) <- levels(TS)
>batch<-c(0,0,0,0,0,0,1,1,1,1,1,1)
>design<-cbind(design,batch)
>
> > design
>    NO.C DSR.C NO.D DSR.D NO.S DSR.S batch
>1     1     0    0     0    0     0     0
>2     0     1    0     0    0     0     0
>3     0     0    1     0    0     0     0
>4     0     0    0     1    0     0     0
>5     0     0    0     0    1     0     0
>6     0     0    0     0    0     1     0
>7     1     0    0     0    0     0     1
>8     0     1    0     0    0     0     1
>9     0     0    1     0    0     0     1
>10    0     0    0     1    0     0     1
>11    0     0    0     0    1     0     1
>12    0     0    0     0    0     1     1
>
>
>Now the questions I would like to answer are:
>1. what is the main effect of the strain (here I want to ignore the 
>treatment, just to find the difference between different strains)
>2. what is the main effect of the treatment (genes that change their 
>expression because of treatment, again I want to ignore the strain here).
>3. genes that are respond to treatment in each strain + interaction
>
>Below is how I created the contrast.matrix, the first three 
>contrasts are to answer the first question, contrast number 4 is to 
>answer question 2, and the last 6 contrasts to answer question 3
>
>cont.matrix <- makeContrasts(
>      DvsC=(DSR.D+NO.D)-(DSR.C+NO.C),
>
>      SvsC=(DSR.S+NO.S)-(DSR.C+NO.C),
>      DvsS=(DSR.D+NO.D)-(DSR.S+NO.S),
>      DSRvNO=(DSR.C+DSR.D+DSR.S)-(NO.C+NO.D+NO.S),
>      C.DSRvsNO=DSR.C-NO.C,
>      D.DSRvsNO=DSR.D-NO.D,
>      S.DSRvsNO=DSR.S-NO.S,
>      DiffDvsC=(DSR.D-NO.D)-(DSR.C-NO.C),
>      DiffSvsC=(DSR.S-NO.S)-(DSR.C-NO.C),
>      DiffSvsD=(DSR.S-NO.S)-(DSR.D-NO.D),
>      levels=design)
>fit2 <- contrasts.fit(fit, cont.matrix)
>fit2 <- eBayes(fit2)
>
>Is this matrix correct?
>The batch is included in the design matrix, is that mean that the 
>batch will be removed?
>
>One of the comparisons I am interested with is the different between 
>strains (first question). Would you suggest to do a separate 
>"several group" analysis (example 8.6 in limma user guide) instead 
>of the one indicated above?
>The analysis for answer the first question would be:
>
>design.Strain <- model.matrix(~ 0+factor(c(1,1,2,2,3,3,1,1,2,2,3,3)))
>colnames(design.Strain) <- c("C", "D", "S")
>#correct for batch effect
>batch<-c(0,0,0,0,0,0,1,1,1,1,1,1)
>design.Strain<-cbind(design.Strain,batch)
>fit.Strain <- lmFit(selDataMatrix, design.Strain)
>contrast.matrix.Strain <- makeContrasts(D-C, S-D, S-C, levels=design.Strain)
>fit2.Strain <- contrasts.fit(fit.Strain, contrast.matrix.Strain)
>fit2.Strain <- eBayes(fit2.Strain)
>
>I have tried the two approaches, and I got different list of 
>differential expressed genes, so which one is preferred?
>
>Looking forward to your reply, and apologising for bothering you
>Thank you
>Mali
>
>



More information about the Bioconductor mailing list