[BioC] Nested design in limma

Kasper Daniel Hansen khansen at stat.Berkeley.EDU
Wed Apr 18 04:47:27 CEST 2007


On Apr 17, 2007, at 2:23 AM, <caroline.truntzer at chu-lyon.fr>  
<caroline.truntzer at chu-lyon.fr> wrote:

> Dear list,
> My question is a follow-up of the thread about handling nested  
> design using
> limma posted by Tao Shi (please see
> https://stat.ethz.ch/pipermail/bioconductor/2007-January/015717.html).
> I have a data set which has a similar design as Tao Shi: 14  
> patients (7 in
> one group, 7 in another group), 2 biological samples for each patients
> (corresponding to 2 different extractions), and each extraction is
> hybridized to 2 arrays and I have triplicate sets of probes. I  
> would like
> to identify genes that have differential expression between the 2  
> groups.
> I read the responses written to Tao on how to analyse this data  
> set, but
> there are some things I didn't understand.
> The advice was to use avedups() to average over the triplicate  
> probes, and
> then to treat the patients as biological replicates (as blocks using
> duplicateCorrelation). But by doing so I do not understand how the two
> other replication levels are treated, that is extraction and  
> hybridization.
> Is it possible to keep the information of this two replication  
> levels in
> the analysis? Is it possible to set different levels in blocks  
> (given the
> help for the duplicateCorrelation fonction I think it is not  
> possible but
> perhaps someone found a mean to do that)?
> Moreover I think I'm confused with what should be put in the design  
> matrix
> and what should rather be put in the blocks vector. I'm sorry for this
> naive question...

> Thanks in advance for your help
> Caroline

This will be a quick answer. You are right that you have many levels  
of dependency in your design: 3 probes measuring the same transcript,  
2 samples per patient and 2 hybridizations per sample. That should  
(from a certain perspective) be analyzed using a model with several  
random effects (ie. several levels of dupCor). Unfortunately limma  
cannot handle more than one level, so in that case you need to focus  
on what dependency you think is most important to model. The  
recommendations in the thread you are referring to (which I only  
skimmed _very_ quickly) essentially deals with this question.

Kasper



More information about the Bioconductor mailing list