[BioC] paired experiments in limma

Gordon K Smyth smyth at wehi.EDU.AU
Wed Mar 2 14:13:23 CET 2005

> Date: Tue, 1 Mar 2005 07:07:16 -0800 (PST)
> From: Pedro Jares <pjares at yahoo.com>
> Subject: [BioC] paired experiments in limma
> To: bioconductor at stat.math.ethz.ch
> I am using affymetrix arrays to study primary and
> metastic tumors from the same patients (five patients,
> so five primary and five metastatic tumors). As we
> have two classes and paired experiments I have been
> using a paired t-test. However, I would like to use
> limma with my arrays. Somewhere, I found that I could
> introduce a block in order to get the lmFit. I have
> been doing that for a while and getting pretty nice
> results. However, recently in the new limma manual
> appears that the block option should be used for
> technical replicates, and you need to calculate
> duplicateCorrelation. As far as I understood using
> block argument alone in lmFit  you assume a default
> correlation of 0.75.
> However, if I do duplicateCorrelation, the correlation
> is 0.5. When I compare the top 50 genes that I got
> doing block without dupCorr and with dupCorr, I see
> that the p values and B values are worst for block
> with dupCorr,  moreover if I do a hierarchical cluster
> of the samples using the two list of genes the one
> obtained by doing block without dupCorr seems to
> performs much better.
> I would like to know what to do in order to analyze
> paired experiments (this will allow us to remove
> inter-person variability!!!,) to compare two classes
> with single color arrays in limma. I have the
> impression that paired experiments are clearly
> different to technical replicates. So, I would
> appreciate if anybody can tell if I should use
> duplicateCorrelation or  something else.

All forms of blocking are much the same from a mathematical point of view, whether they are
technical replicates or blocking on patient.

The direct extension of a paired t-test would actually arise from fitting patient as a fixed
effect.  If you did that, limma would compute for you paired t-tests with moderated denominators.

If you use the 'block' argument instead of using a fixed effect, I would generally recommend that
you estimate the common correction rather than take a preset value.  However I suspect that, in
this case, if you use a large correlation like 0.75 or higher the results might be very similar to
using a fixed patient effect.


> The commands I have been using  are:
> fit<-lmFit(eset,design,block=c(1,1,2,2))
> or
> corfit<-duplicateCorrelation(eset,design,block=c(1,1,2,2))
> fit<-lmFit(eset,design,block=c(1,1,2,2),correlation=corfit$consensus)
> Thank you very much for your help and your time,
> Best wishes,
> Pedro

More information about the Bioconductor mailing list