Entering edit mode
Johannes Rainer
▴
80
@johannes-rainer-3234
Last seen 10.4 years ago
dear Heidi, dear all,
I've just tried to normalize Taqman microfluidic card data with the
HTqPCR package using the "geometric.mean" method and was puzzled by
its
results, since, instead of making the samples more comparable, they
become more different.
actually, I think I spotted the problem in the code:
geometric.mean = {
geo.mean <- apply(data, 2, function(x) {
xx <- log2(subset(x, x < Ct.max))
2^mean(xx)
})
if (missing(geo.mean.ref)) geo.mean.ref <- 1
geo.scale <- geo.mean/geo.mean[geo.mean.ref]
data.norm <- t(t(data) * geo.scale)
if (verbose) {
cat(c("Scaling Ct values\n\tUsing geometric mean within
each sample\n"))
cat(c("\tScaling factors:", format(geo.scale, digits =
3),
"\n"))
}
so basically, the scaling factor is a ratio between the average Ct
value of a sample and the average Ct in the reference sample. so if
the Ct values are on average higher in the sample compared to the
reference the scaling factor is > 1. For normalization, however, this
scaling factor is multiplied to the Ct values of the sample, making
the difference bigger. Thus, I suggest to change the
data.norm <- t( t( data ) * geo.scale )
to
data.norm <- t( t( data ) / geo.scale )
cheers, jo
--
Johannes Rainer, PhD
Applied Bioinformatics Group,
Division Molecular Pathophysiology,
Biocenter, Medical University Innsbruck,
Innrain 80/82 II, 6020 Innsbruck, Austria
and
Tyrolean Cancer Research Institute
Innrain 66, 6020 Innsbruck, Austria
Tel.: +43 (0)512 9003 70961
Email: johannes.rainer at i-med.ac.at
johannes.rainer at tcri.at
URL: http://bioinfo.i-med.ac.at