nested design in limma? -- revisit
1
0
Entering edit mode
Shi, Tao ▴ 720
@shi-tao-199
Last seen 8.8 years ago
Dear Jenny, Gordon, and the list, This is a follow-up on the thread about handling nested design using LIMMA posted last year (please see https://stat.ethz.ch/pipermail/bioconductor/2006-February/012018.html ). I have a data set which has very similar design like Jenny's. 6 animals, 3 in the control group and 3 in the treated group. 2 biological samples were taken from each animal and each was hybdized to 2 arrays. All arrays have duplicate sets of probes (so there are 4 technical replicates for each biological samples). After reading the posts by Jenny, Gordon and others, I'm a bit confused with what should be the final approach for this kind of design. I do agree with Jenny that the different biological samples from the same animal (or in her case, different offsprings from the same dam) should not be treated as technical replicates, so I'm not quite sure about using duplicateCorrelation here. What I did is first, summarized all the technical replicates (they are usually highly correlated) to get one measurement for each biological samples, then fitted LIMMA with a nested design model matrix (see below). Is this OK and like to hear more comments. Thanks in advance. ...Tao ### after summarization of the technical replicates > trt [1] control control control control control control treat treat treat treat treat treat Levels: control treat > animal [1] 1 1 2 2 3 3 1 1 2 2 3 3 Levels: 1 2 3 > > design.matrix <- model.matrix( ~ -1 +trt/animal) > design.matrix trtcontrol trttreat trtcontrol:animal2 trttreat:animal2 trtcontrol:animal3 trttreat:animal3 1 1 0 0 0 0 0 2 1 0 0 0 0 0 3 1 0 1 0 0 0 4 1 0 1 0 0 0 5 1 0 0 0 1 0 6 1 0 0 0 1 0 7 0 1 0 0 0 0 8 0 1 0 0 0 0 9 0 1 0 1 0 0 10 0 1 0 1 0 0 11 0 1 0 0 0 1 12 0 1 0 0 0 1 attr(,"assign") [1] 1 1 2 2 2 2 attr(,"contrasts") attr(,"contrasts")$trt [1] "contr.treatment" attr(,"contrasts")$animal [1] "contr.treatment" > > fit <- lmFit(dat.temp, design=design.matrix) .... contrast, ebayes, toptable, ..... ______________________________________________________________________ ______________ Now that's room service! Choose from over 150,000 hotels
limma limma • 1.4k views
ADD COMMENT
0
Entering edit mode
@gordon-smyth
Last seen 8 hours ago
WEHI, Melbourne, Australia
Dear Tao, Your experiment is much simpler than Jenny's was. There are lots of ways to analyse it, but a straightforward and usually pretty effective way in limma is (i) to average over the duplicate probes using avedups() and then (ii) treat the animals (biological replicates) as blocks using duplicateCorrelation(). To use this approach you will need to renumber the animals from 1 to 6. Just as an aside, in all the experiments I've seen so far, the biological variation between animals is much smaller than the technical variation between microarrays for most probes. Best wishes Gordon At 11:24 AM 18/01/2007, Shi, Tao wrote: >Dear Jenny, Gordon, and the list, > > >This is a follow-up on the thread about handling nested design using >LIMMA posted last year (please see >https://stat.ethz.ch/pipermail/bioconductor/2006-February/012018.html >). > >I have a data set which has very similar design like Jenny's. 6 >animals, 3 in the control group and 3 in the treated group. 2 >biological samples were taken from each animal and each was hybdized >to 2 arrays. All arrays have duplicate sets of probes (so there are >4 technical replicates for each biological samples). > >After reading the posts by Jenny, Gordon and others, I'm a bit >confused with what should be the final approach for this kind of >design. I do agree with Jenny that the different biological samples >from the same animal (or in her case, different offsprings from the >same dam) should not be treated as technical replicates, so I'm not >quite sure about using duplicateCorrelation here. What I did is >first, summarized all the technical replicates (they are usually >highly correlated) to get one measurement for each biological >samples, then fitted LIMMA with a nested design model matrix (see below). > >Is this OK and like to hear more comments. Thanks in advance. > >...Tao > > >### after summarization of the technical replicates > > trt > [1] control control control control control control > treat treat treat treat treat treat >Levels: control treat > > animal > [1] 1 1 2 2 3 3 1 1 2 2 3 3 >Levels: 1 2 3 > > > > design.matrix <- model.matrix( ~ -1 +trt/animal) > > design.matrix > trtcontrol trttreat trtcontrol:animal2 trttreat:animal2 > trtcontrol:animal3 trttreat:animal3 >1 1 0 0 0 > 0 0 >2 1 0 0 0 > 0 0 >3 1 0 1 0 > 0 0 >4 1 0 1 0 > 0 0 >5 1 0 0 0 > 1 0 >6 1 0 0 0 > 1 0 >7 0 1 0 0 > 0 0 >8 0 1 0 0 > 0 0 >9 0 1 0 1 > 0 0 >10 0 1 0 1 > 0 0 >11 0 1 0 0 > 0 1 >12 0 1 0 0 > 0 1 >attr(,"assign") >[1] 1 1 2 2 2 2 >attr(,"contrasts") >attr(,"contrasts")$trt >[1] "contr.treatment" > >attr(,"contrasts")$animal >[1] "contr.treatment" > > > > > fit <- lmFit(dat.temp, design=design.matrix) >.... >contrast, >ebayes, >toptable, >.....
ADD COMMENT

Login before adding your answer.

Traffic: 986 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6