[BioC] Repeat Measurement with Limma Fw: limma matrix desgin question?

Mark Cowley m.cowley0 at gmail.com
Thu Jun 10 04:47:12 CEST 2010


hi,
you could still treat each strain x time x treatment combo as a separate group, ie 10 groups, and then use contrasts to compute the average 0_t1 effect over the 3 mice, eg:
# i've reformatted you contrast matrix creation line -- i don't know why you've duplicated your contrasts here
contrast.matrix<-makeContrasts(
  0_t2-0_t1,
  14_t2-14_t1,
  14_t2-14_t1,
  0_t2-0_t1
)

# alternative
contrast.matrix<-makeContrasts(
  time0=(B6_0_t2+Balbc_0_t2+J129_0_t2)/3   -   (B6_0_t1+Balbc_0_t1+J129_0_t1)/3,
  time14=(B6_14_t2+Balbc_14_t2+J129_14_t2)/3   -   (B6_14_t1+Balbc_14_t1+J129_14_t1)/3
)

i've just noticed your design is unbalanced with no Balbc_14_t2 or  J129_14_t1 groups. i'll leave it to you to adjust the relevant contrasts to be the average of 2 groups.

cheers,
Mark
On 10/06/2010, at 12:06 PM, Xiaokuan Wei wrote:

> Mark,
> 
> Thank you for your prompt response. 
> In this experiment, I consider all these 3 strains are almost the same (wild type). And there are only 3 mice, each received different treatment at diffierent time. (Sorry, forgetting to mention this important info, even 0 t1 and 0 t2 are received at different time).
> the repeated treatment to each mouse need to be included in the model. That's why I average the technical replicates and then used each mouse as block.
> 
> I did try to use technical replicates as block. But I am not sure how to capture the repeated measurements. The data frame I have here is:
>    V1    V2 V3 V4
> 1   1    B6  0 t1
> 2   2    B6  0 t1
> 3   3    B6  0 t1
> 4   1    B6 14 t1
> 5   2    B6 14 t1
> 6   3    B6 14 t1
> 7   1    B6  0 t2
> 8   2    B6  0 t2
> 9   3    B6  0 t2
> 10  1    B6 14 t2
> 11  2    B6 14 t2
> 12  3    B6 14 t2
> 13  1 Balbc  0 t1
> 14  2 Balbc  0 t1
> 15  3 Balbc  0 t1
> 16  1 Balbc 14 t1
> 17  2 Balbc 14 t1
> 18  3 Balbc 14 t1
> 19  1 Balbc  0 t2
> 20  2 Balbc  0 t2
> 21  3 Balbc  0 t2
> 22  1  J129  0 t1
> 23  2  J129  0 t1
> 24  3  J129  0 t1
> 25  1  J129  0 t2
> 26  2  J129  0 t2
> 27  3  J129  0 t2
> 28  1  J129 14 t2
> 29  2  J129 14 t2
> 30  3  J129 14 t2
> 
> create factors (I only care time and treatment):
> 
>  f<-paste(df$V3,"_",df$V4,sep="")
> 
> thus, we have factor: 0_t1,0_t2,14_t1,14_t2.
> 
> create block using technical replecates:
> block<-rep(1:10,each=3)
> 
> then make the design:
> design<-model.matrix(~ -1+factor(f, levels=unique(f))
> colnames(design)<-unique(f)
> 
> biocor<-duplicateCorrelation(eset,desgin,block=block)
> fit<-lmFit(eset,design=design,block=block,correlation=biocor$consensus)
> 
> 
> contrast.matrix<-makeContrasts(0_t2-0_t1, 14_t2-14_t1, 14_t2-14_t1, 0_t2-0_t1)
> 
> As you can see from the above analysis, I just treat each set experiment independently after considering technical replicates, and did not include repeated measurement effects for each mouse into the model.
> The goal here is to compare the t2 and t1 at day0 and day14. These 3 mice are considered pathologically same even they have some different genetic background.
> 
> Do you have any suggestion to include repeated measurement of each mouse into the model? 
> 
> Thank you very much.
> 
> -Xiaokuan
> 
> 
> 
> 
>  
> 
> 
> 
> 
> 
>  
> 
> 
> 
> 
> ________________________________
> From: Mark Cowley <m.cowley0 at gmail.com>
> 
> Cc: bioconductor <bioconductor at stat.math.ethz.ch>
> Sent: Wed, June 9, 2010 8:23:09 PM
> Subject: Re: [BioC] Repeat Measurement with Limma Fw: limma matrix desgin question?
> 
> hi Xiaokuan,
> i'd be treating the technical replicates as the block, and strain, day and treatment as the biological effects of interest
> block <- rep(1:10, each=3)
> that way limma has triple the number of arrays to use in its variance estimation
> 
> you have a few options for your design matrix, such as strain + day + treatment + any interaction effects you're interested in
> or you can simply treat these samples as 10 different groups and then setup contrasts to identify the effects of interest
> 
> cheers,
> mark
> -----------------------------------------------------
> Mark Cowley, PhD
> 
> Peter Wills Bioinformatics Centre
> Garvan Institute of Medical Research, Sydney, Australia
> -----------------------------------------------------
> 
> 
> On 10/06/2010, at 6:39 AM, Xiaokuan Wei wrote:
> 
>> 
>> 
>> Dear List,
>> 
>> I think I know how to do this with limma.
>> I first calculate the correlation treating each strain as a block
>> block<-rep(1:3,c(4,3,2))
>> biocor<-duplicateCorrelation(eset,design,block=block)
>> then
>> fit<-lmFit(eset,design=design,block=block,correlation=biocor$consensus)
>> then create contrast matrix and extract coef of each comparison.
>> 
>> Is this right?
>> 
>> However, I have a further question. In fact, each chip has 3 technical replicates. In order to simply the anlaysis, I just average the replicates and then use limma to do the job.
>> How could I include such technical replicate information and repeat measurement information together with using Limma. Could Gordon or someone give me some hints or example?
>> Thank you very much.
>> 
>> 
>> replicate Strain Day Treatment 
>> 1 B6 0 t1 
>> 2 B6 0 t1 
>> 3 B6 0 t1 
>> 1 B6 14 t1 
>> 2 B6 14 t1 
>> 3 B6 14 t1 
>> 1 B6 0 t2 
>> 2 B6 0 t2 
>> 3 B6 0 t2 
>> 1 B6 14 t2 
>> 2 B6 14 t2 
>> 3 B6 14 t2 
>> 1 Balbc 0 t1 
>> 2 Balbc 0 t1 
>> 3 Balbc 0 t1 
>> 1 Balbc 14 t1 
>> 2 Balbc 14 t1 
>> 3 Balbc 14 t1 
>> 1 Balbc 0 t2 
>> 2 Balbc 0 t2 
>> 3 Balbc 0 t2 
>> 1 J129 0 t1 
>> 2 J129 0 t1 
>> 3 J129 0 t1 
>> 1 J129 0 t2 
>> 2 J129 0 t2 
>> 3 J129 0 t2 
>> 1 J129 14 t2 
>> 2 J129 14 t2 
>> 3 J129 14 t2 
>> 
>> 
>> 
>> 
>> 
>> 
>> -Xiaokuan
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> 
>> ----- Forwarded Message ----
> 
>> To: bioconductor <bioconductor at stat.math.ethz.ch>
>> Sent: Wed, June 9, 2010 11:53:57 AM
>> Subject: limma matrix desgin question?
>> 
>> 
>> Dear List,
>>   
>> I have an experiment trying to evaluate two treatment for mice. I have 3 normal strains, two treatment and two time points.
>> The goal is to compare t2 vs t1 Day14 vs Day0.
>> All these mice considered normal. So I can create factor such as day0_t1, day0_t2, day14_t1, and day14_t2.
>> and make contrasts, such as day0_t2-day0_t1, day14_t2-day14_t1, day14_t2-day14_t1...
>>   
>> But how can I include strain information into the comparison? Since each strain's data will be correlated? 
>>   
>> Thank you.
>>   
>> Xiaokuan
>>   
>>   
>>   
>>   
>>   
>>   
>> Strain Day Treatment 
>> B6 0 t1 
>> B6 14 t1 
>> B6 0 t2 
>> B6 14 t2 
>> Balbc 0 t1 
>> Balbc 14 t1 
>> Balbc 0 t2 
>> J129 0 t1 
>> J129 0 t2 
>> J129 14 t2 
>> 
>> 
>> 
>> 
>>     [[alternative HTML version deleted]]
>> 
>> _______________________________________________
>> Bioconductor mailing list
>> Bioconductor at stat.math.ethz.ch
>> https://stat.ethz.ch/mailman/listinfo/bioconductor
>> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor
> 
> 
> 
> 	[[alternative HTML version deleted]]
> 
> _______________________________________________
> Bioconductor mailing list
> Bioconductor at stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/bioconductor
> Search the archives: http://news.gmane.org/gmane.science.biology.informatics.conductor



More information about the Bioconductor mailing list