[BioC] about HTqPCR

Heidi Dvinge heidi at ebi.ac.uk
Sat Jun 11 14:19:12 CEST 2011

Hi Josep,

> Dear Heidi,
> I am using your package HTqPCR, in order to analyze miRNA taqman plates,
> for
> which this package is extremely useful.
> For normalization, I used "rank invariant" which selects two miRNAs as the
> most "rank invariant". However, as a "sanity check", I wanted to check if
> the results normalizing by the "deltaCt" method using the same miRNAs as
> contorls.
> To my surprise, the normalized values when normalizing by these two miRNAs
> using the deltaCt method and the "rank invariant" showed very weak
> correlation. I was expecting that the correlations should be similar.
> Should
> I worry about that? What is the method I should trust most, then?
Although using the same genes for normalisation, these two methods don't
necessarily give the same results at all.

For deltaCt, the average Ct value of the genes is calculated, and this is
simply subtracted from all other Ct values. So this is a strictly linear
normalisation method. If you plot the raw versus the normalised value,
you'll notice that these are simply shifted compared to the diagonal.

The rank invariant method on the other hand is a non-linear normalisation
method. The rank invariant genes are identified, a smoothed line is fitted
though the corresponding Ct values, and this smoothing is subsequently
applied to all the Ct values on the plate.

Which method to go for depends on your data. deltaCt is the "classical"
method that is commonly used for mRNA genes using e.g. actin and GAPDH.
However, I personally don't always like it 100%. These reference genes
tend to be expressed at very high levels, i.e. have low Ct values.
Therefore, they might not be representative of any biases that might be
present for genes expressed at lower levels, i.e. at the high end of the
Ct range.

A smoothing approach can often be more robust, at least if the rank
invariant genes cover a broad range of the Ct values observed in your
data. In your case I notice that there are only 2 rank invariant genes
though. This might still be okay, but if you have more than a couple of
samples, you might try decreasing hte scale.rank.samples parameter in
normalizeCtData(). This indicates how many samples each gene has to be
rank invariant across in order to be used for the normalisation. Which a
high number of samples, this can be relaxed a bit.

Please also note that for miRNAs that have a been a couple of publications
suggesting simply normalising by subtracting the mean Ct of all miRNAs
present on the plate. This option isn't included in the release version of
HTqPCR, however I have the snippet of code for it, and can send it to you
if you're interested. Alternatively, selecting norm="deltaCt" and setting
deltaCt.genes equal to all your featureNames should in principle give you
the same result.


> Find attached the data and the code used as an example.
> I would be grateful if you could give me a reply regarding this issue.
> Thank you for your time and consideration.
> Best regards,
> Josep
> --
> Josep Maria Mercader, PhD
> Barcelona Supercomputing Center
> Life Science Department, Computational Genomics Group.
> josep.mercader at bsc.es
> josepmaria.mercader at gmail.com
> www.bsc.es

More information about the Bioconductor mailing list