[BioC] Am I using limma incorrectly?

Gordon K Smyth smyth at wehi.EDU.AU
Wed Jul 21 12:58:29 CEST 2004


> I have a data set which pretty much duplicates the experimental design
> of one of the limma examples, so I am using that with great results :-D
>
> There is one difference though - the limma example has no duplicate
> spots, whereas my design does.  So I did two runs of limma, one to find
> differentially expressed spots, the other to find differentially
> expressed genes (I assume limma would take the duplicates into question
> and do some averaging).
>
> The code I used was almost identical.  For the spots:
>
>> design <- c(1,-1,1,-1)
>> fit <- lmFit(MAptnorm, design)
>> fit <- eBayes(fit)
>> topTable(fit,number=10,adjust="fdr")
>
> And for the genes:
>
>> design <- c(1,-1,1,-1)
>> fit <- lmFit(MAptnorm, design, ndups=2)
>> fit <- eBayes(fit)
>> topTable(fit,number=10,adjust="fdr")
>
> Note the only difference is the "ndups=2" bit.  Now, for differentially
> regulated spots, I was lucky, lots of spots came up and mostly the two
> duplicates were side by side.  One gene's duplicate spots were first and
> third in the top ten with M values of -5.4 - result!
>
> Now, when I did the second run, with "ndups=2", the results changed
> completely.  Something must have gone wrong, my top gene has an M value
> of -0.8, it's not the same gene as before, and more's the point,
> topTable still lists BOTH duplicate spots.
>
> My only conclusion from this is that I am using limma incorrectly.
> But... How?

Your duplicate spots are apparently not side-by-side by rows, i.e., the
spacing is not =1.  So you need to set the correct spacing.  If you really
do have duplicate spots with a regular spacing, getLayout() with
guess=TRUE might figure out the spacing for you.  If your duplicate spots
are not regularly spaces, then you have to stick with your first analysis,
i.e., don't use ndups.

Gordon

> Mick



More information about the Bioconductor mailing list