[BioC] htqPCR question

Heidi Dvinge heidi at ebi.ac.uk
Fri Apr 30 21:53:12 CEST 2010


Hi Andreia

> Dear Heidi,
>
> Sorry it seems that I have not understood your table well. All the samples
> were analyzed using the same platform, but each sample is on a different
> plate. This way the commands are different right?
> So going back to your table:
>
> Sample  Cell_type Platform RT_reaction
> ------------------------------
> ------
> 1   A    type1    RT1
> 1   A    type1    RT1
> 1   A    type1    RT2
> 2   A    type1    RT1
> 2   B    type1    RT1
> 3   B    type1    RT1
> 4   B    type1    RT1
>
So, you actually just have cell type A and B you want to compare? That
makes it all easier. In that case you can use either of the three
functions limmaCtData, ttestCtData and mannwhitneyCtData depending on what
you prefer. Both the vignette and the help pages has examples about how to
compare two groups. ttestCtData and mannwhitneyCtData are probably easier
if you just have two conditions, with mannwhitney perhaps being most
suitable if you only have a small number of genes on each qPCR card.

There's no way to account for the single different RT reaction though. You
can check if this is an outlier in any of the QC plots, like plotCtDensity
or plotCtBoxes, or perhaps try running the A versus B comparison both
with/without this card, and see if it skews the result in any unexpected
ways. Hopefully different RT reactions should be quite similar though.

HTH
\Heidi

> Thanks
> Andreia
>
>
> On Tue, Apr 27, 2010 at 11:11 AM, Heidi Dvinge <heidi at ebi.ac.uk> wrote:
>
>>
>> On 26 Apr 2010, at 09:41, Andreia Fonseca wrote:
>>
>> Dear heidi,
>> thank you for your reply. The datasets come  from a 96 well qPCR plate,
>> but
>> only 80 reactions have good quality. Each line corresponds to a separate
>> plate, with the same probes. I would like to compare A and B. Thanks for
>> your help.
>> Kind regards,
>> Andreia
>>
>> Hello Andreia,
>>
>> so, what you probably want is to include the "Platform" as a andom
>> effect
>> using the duplicateCorrelation() function from limma with block
>> argument. If
>> you type
>>
>> > limmaUsersGuide()
>>
>> you'll get the full limma users guide, which includes examples of how to
>> include different kinds of technical and biological variation. This is
>> basically what the limmaCtData() funciton is based on. So generally
>> you'd
>> want to first do something like this (with "norm" being your normalised
>> qPCRset data):
>>
>> > targets <- data.frame(Cell=rep(c("A", "B"), times=3:4),
>> Platform=rep(c("type1", "type2"), times=c(2,5)))
>> > design <- model.matrix(~0+targets$Cell)
>> > colnames(design) <- c("CellTypeA", "CellTypeB")
>> > dupcor <- duplicateCorrelation(exprs(norm), design=design,
>> block=targets$Platform)
>>
>> and then include the dupcor$correlation and block in the
>> limmaCtData.There's a small bug in limmaCtData for including dupcor
>> though -
>> I'll get that fixed.
>>
>> However, int his case that doesn't really matter, since I don't think
>> you
>> can analyse you data this way, if you experiment design really is as
>> outlined in "targets" here. All platforms of type1 are used for cell
>> type A,
>> there are none present for B.
>>
>> You might have to just ignore that the samples are measured on 2
>> different
>> platforms, and simply do a standard test between cell type A and B, even
>> though this is not optimal. How different are these platforms - would
>> you
>> expect it to be significant for your analysis? Have you tried testing
>> for
>> significance between Ct values measured on type1 and type2? Or what's
>> the
>> dupcor$correlation between them? These are some of the things you can
>> look
>> at before deciding how to continue.
>>
>> Best wishes
>> \Heidi
>>
>> On Sat, Apr 24, 2010 at 12:45 PM, Heidi Dvinge <heidi at ebi.ac.uk> wrote:
>>
>>> Hello Andreia,
>>>
>>> hm, slightly tricky. Are these data sets from some sort of commercial
>>> platform, like the ABI TLDA cards, or from normal qPCR reactions on a
>>> 384
>>> well plate or similar? Just to make sure I understand you experiment
>>> right, do you have something like this?
>>>
>>> Sample  Cell_type Platform RT_reaction
>>> ------------------------------------
>>> 1   A    type1    RT1
>>> 1   A    type1    RT1
>>> 1   A    type2    RT2
>>> 2   A    type2    RT1
>>> 2   B    type2    RT1
>>> 3   B    type2    RT1
>>> 4   B    type2    RT1
>>>
>>> Is each line a separate plate? Or would the "Platform" column
>>> correspond
>>> to 2 individual plates, where multiple samples can be loaded onto each
>>> plate?
>>> What exactly is your primary interest here? Difference between cell
>>> types
>>> A and B? I think we need some specification here, for us to help you
>>> properly.
>>>
>>> If you have different kinds of plates, then you could potentially
>>> include
>>> pate as a batch effect when doing your analysis. This will require you
>>> to
>>> use limmaCtData() for your test. This is based on the function lmFit
>>> from
>>> the limma package, which has some nice examples of how to take this
>>> sort
>>> of information into account. Although it looks like you have too many
>>> variables here to consider all of them.
>>>
>>> By the way, you don't necessarily need one file per sample. As long as
>>> you
>>> have the sample number of genes per sample, e.g. 384, then with HTqPCR
>>> version 1.2.0 you can use the n.data parameter in readCtData() to
>>> indicate
>>> how many sets of data are in each file.
>>>
>>> HTH
>>> \Heidi
>>>
>>> > Dear Heidi,
>>> >
>>> > I have received a data set from a qPCR miRNA set where I have
>>> >
>>> > sample1 - 2 replicates from the same RT reaction
>>> >                1 replicate from an independen RT reaction
>>> cell_type:A
>>> > sample 2 - cell type : A
>>> > sample2 cell_type:B
>>> > sample3 cell_type:B
>>> > sample 4 cell_type:B
>>> >
>>> > I saw that I should prepare one file per sample, but the replicates
>>> of
>>> > sample1 have been produced in different plates and one is even from
>>> > another
>>> > RT reaction. How can I account for this using your package?
>>> > Thanks in advacne for your reply.
>>> > With kind regards,
>>> > Andreia
>>> >
>>> >
>>> > --
>>> > --------------------------------------------
>>> > Andreia J. Amaral
>>> > Unidade de Imunologia Clínica
>>> > Instituto de Medicina Molecular
>>> > Universidade de Lisboa
>>> > email: andreiaamaral at fm.ul.pt
>>> >          andreia.fonseca at gmail.com
>>> >
>>>
>>>
>>>
>>
>>
>> --
>> --------------------------------------------
>> Andreia J. Amaral
>> Unidade de Imunologia Clínica
>> Instituto de Medicina Molecular
>> Universidade de Lisboa
>> email: andreiaamaral at fm.ul.pt
>>          andreia.fonseca at gmail.com
>>
>>
>>
>
>
> --
> --------------------------------------------
> Andreia J. Amaral
> Unidade de Imunologia Clínica
> Instituto de Medicina Molecular
> Universidade de Lisboa
> email: andreiaamaral at fm.ul.pt
>          andreia.fonseca at gmail.com
>



More information about the Bioconductor mailing list