[BioC] HTqPCR

Heidi Dvinge heidi at ebi.ac.uk
Thu Sep 13 02:50:49 CEST 2012


Hi Mala,

> Hi Heidi,
>
> We have some question regarding the ddCt  and Fold change value
> calculation in HTqPCR. On creating contrasts, if we have Mt-Wt (Mt=mutant,
> Wt= WildType), does the +ve fold change suggest that it is higher in the
> Mutant or Wild Type.

I assume you're using limmaCtData. In this case Mt-Wt literally means
mutant minus wild type. I.e. Wt is used as the "Calibrator" and mutant as
the "Target" that form part of the output from limmaCtData.

If in doubt, it's always good to check manually. For example:

> # Load example preprocessed data
> data(qPCRpros)
> samples <- read.delim(file.path(system.file("exData", package="HTqPCR"),
"files.txt"))
> # Define design and contrasts
> design <- model.matrix(~0+samples$Treatment)
> colnames(design) <- c("Control", "LongStarve", "Starve")
> contrasts    <- makeContrasts(LongStarve-Control, LongStarve-Starve,
Starve-Control, levels=design)
> # The actual test
> diff.exp <- limmaCtData(qPCRpros, design=design, contrasts=contrasts)
> # Some of the results
> diff.exp[["LongStarve - Control"]][1:3,]
      genes feature.pos     t.test      p.value adj.p.value      ddCt     
  FC meanTarget
72   Gene47         C24  -8.330294 0.0004927066  0.06306645 -8.320716
319.73136   26.61973
251 Gene130         K11 -10.426733 0.0001758778  0.06306645 -6.569095 
94.94993   28.37136
334 Gene165         N22  -8.348398 0.0004878740  0.06306645 -6.621950 
98.49306   23.84328
    meanCalibrator categoryTarget categoryCalibrator
72        34.94045             OK       Undetermined
251       34.94045             OK       Undetermined
334       30.46523             OK                 OK
> # Checking the actual expression values for example gene
> getCt(qPCRpros)["Gene47", samples$Treatment=="Control"]
 sample1  sample4
34.90896 34.97194
> getCt(qPCRpros)["Gene47", samples$Treatment=="LongStarve"]
 sample2  sample3
27.40480 25.83467
> # These correspond to the values in meanTarget and meanCalibrator

ddCt is actually the log2 fold change as calculated by limma (the "logFC"
column if you're familiar with that package. As mentioned in the
documentation, FC=2^(-ddCt). (Personally, I'm not a big fan of using this
FC value, but some of my collaborators initially requested that it be
included.)

HTH
\Heidi

> And how is ddCT values used in fold change
> calculation?
>
> Thanks.
> Mala
>
> -----Original Message-----
> From: Heidi Dvinge [mailto:heidi at ebi.ac.uk]
> Sent: Thursday, May 31, 2012 5:44 AM
> To: Sinha, Mala
> Cc: bioconductor at r-project.org
> Subject: RE: HTqPCR
>
> Hi Mala,
>
>> Hi,
>>
>> Will the results change for the Contrast Analysis from limFit and
>> limmaCtData?
>>
> It should be the same, provided you use the same input data (for example
> with ndups if you have multiple Ct values for each gene).
>
> If you're in doubt, you can always type limmaCtData, without the brackets,
> to check the code for the function and see how lmFit and eBayes are being
> used.
>
> Best,
> \Heidi
>
>> Thanks.
>> Mala
>>
>> -----Original Message-----
>> From: Sinha, Mala
>> Sent: Tuesday, May 29, 2012 9:07 AM
>> To: 'Heidi Dvinge'
>> Subject: RE: HTqPCR
>>
>> Thanks, will try using limFit with your suggestion.
>>
>> Mala
>>
>> -----Original Message-----
>> From: Heidi Dvinge [mailto:heidi at ebi.ac.uk]
>> Sent: Monday, May 28, 2012 3:38 AM
>> To: Sinha, Mala
>> Cc: bioconductor at r-project.org
>> Subject: Re: HTqPCR
>>
>> Dear Mala,
>>
>>> Hello Dr. Dvinge,
>>>
>>> I have been using HTqPCR 1.8.0  to analyze 96 well qPCR arrays. My
>>> experiment has 2 time point 3hrs, 18hrs and 2 treatments CT, TC and
>>> TCATP
>>> (2X3 factorial design). I was able to run the analysis using
>>> limmaCtData and export the output file for each contrast.
>>>
>>> Question 2
>>> *************************************************************
>>> Is there an equivalent method like TopTable in limma to extract
>>> results which shows the genes that are changing across the
>>> experimental condition (like F-statistics in ANOVA or F.p.value in
>>> limma). We can get this information using the write.fit() in limma.
>>>
>> Actually no, I never thought about incorporating this. The standard
>> output gives a (slightly modified) version of the results from
>> topTable for each of the coefficients in contrast, as well as
>> decideTests. But not the output from topTableF/topTable with coef=NULL.
>>
>> If this is of interest, I can add it to future versions of HTqPCR?
>>
>> Alternatively, you can just extract the Ct data (using exprs or getCt)
>> and run lmFit/eBayes/topTableF directly. Although this of course won't
>> take the quality of the Ct data into account, i.e. you won't get the
>> columns indicating whether the target and the calibrator samples are
>> OK or Undetermined.
>>
>> Best,
>> \Heidi
>>
>>> Runnning limmaCtData without contrast didn't help. See below
>>>
>>>>DE.limmaNoCtr <- limmaCtData(quan_undtrmnfilter2, design=design,
>>>>ndups =  1, spacing = 1)
>>>
>>>> write.table(qDE.limmaNoCtr, file="qDE_limmafitALL.txt", sep="\t")
>>> '
>>> Attached file for this: RCode_HTqPCR.txt ;
>>> limmaCtData_output_no_contrast.xls
>>>
>>> *********************************************************************
>>> *
>>> *
>>> Thanks for all your help.
>>>
>>> Mala Sinha
>>> Systems Analyst
>>> University of Texas Medical Branch
>>> Galveston, Texas 77573
>>> masinha at utmb.edu<mailto:masinha at utmb.edu>
>>> (409) 747 6872
>>>
>>>
>>
>>
>>
>
>
>



More information about the Bioconductor mailing list