[BioC] How limma Deals With Correlation Across Replicates

Gordon K Smyth smyth at wehi.EDU.AU
Wed Feb 12 23:55:50 CET 2014


On Wed, 12 Feb 2014, Matt Jones wrote:

> Hi Gordon,
>
> Thanks for pointing me in the direction of the reference. I've had a chance
> to browse the reference article and it appears to refer mostly to duplicate
> (or triplicate, etc.) spots on the same array. Does the procedure still
> apply for technical replicates across separate arrays?

Yes, same statistical procedure applies to technical replicates on 
separate arrays, and more generally to any blocking effect across arrays, 
with very little change to the duplicate spot algorithm.

I have not found time to write this up as a separate methods paper, so 
there is nothing more specific for me to refer you to. However it had been 
applied successfully in scores or hundreds of published studies.

An example from a real published study is given in Case Study 16.3 in the 
limma User's Guide.

> The example in the user's guide seems to refer to technical replicates 
> on separate arrays. I'm supposing that local effects causing correlation 
> do not apply to technical replicates across arrays, but nonetheless we 
> would expect correlation between technical replicates.
>
> I can give you an example.
>
> An experimental design was constructed in a way that we have two treatments.
> RNA samples are collected from three biological replicates. Specifically
> three RNA samples are collected from each biological replicate (these are
> the technical replicates).
> For each RNA sample, one treatment is labeled with a red dye and the other
> treatment is labelled with green dye.
>
> The example forms the basis for a two colour microarray experiment. Could
> the experimenter use the code
>
>> biolrep <- c(1, 1, 1, 2, 2, 2, 3, 3, 3)
>> corfit <- duplicateCorrelation(MA, ndups = 1, block = biolrep)
>> fit <- lmFit(MA, block = biolrep, cor = corfit$consensus)
>> fit <- eBayes(fit)
>> topTable(fit, adjust = "BH")

I don't have time to give advice on specific experiments, sorry.  However 
the examples in the guide should suffice to follow.  The scenario you 
describe is almost identical to that on page 58 of the guide.

Best wishes
Gordon

> Matt
>
> On Wed, Feb 12, 2014 at 11:43 AM, Gordon K Smyth <smyth at wehi.edu.au> wrote:
>
>> Matt,
>>
>> A reference is given on the help page for duplicateCorrelation.
>>
>> Gordon
>>
>>
>>  Date: Tue, 11 Feb 2014 13:03:23 -0800 (PST)
>>> From: "Matt Jones [guest]" <guest at bioconductor.org>
>>> To: bioconductor at r-project.org, matthew.jnes at gmail.com
>>> Subject: [BioC] How limma Deals With Correlation Across Replicates
>>>
>>>
>>> Hi,
>>>
>>> Section 11.3 of the limma User's guide introduces the concept of
>>> correlation across technical replicates. To address replicate correlation,
>>> some extra code is needed.
>>>
>>> The sample code is given as,
>>>
>>>  biolrep <- c(1, 1, 2, 2)
>>>> corfit <- duplicateCorrelation(MA, ndups = 1, block = biolrep)
>>>> fit <- lmFit(MA, block = biolrep, cor = corfit$consensus)
>>>> fit <- eBayes(fit)
>>>> topTable(fit, adjust = "BH")
>>>>
>>>
>>> Can anybody explain what is happening "under the hood" when the above
>>> code is executed? The user's guide asserts that this is "analogous to mixed
>>> model analysis of variance", but can somebody further this point?
>>>
>>> Thanks.
>>>
>>> Matt
>>>
>>> -- output of sessionInfo():
>>>
>>> No sessionInfo().

______________________________________________________________________
The information in this email is confidential and intend...{{dropped:4}}



More information about the Bioconductor mailing list