hookreg | R Documentation |
hookreg
is a function to calculate the slope and intercept of an
amplification curve data from a quantitative PCR experiment. The idea is that
a strong negative slope at the end of an amplification curve is indicative for
a hook effect (see Barratt and Mackay 2002).
hookreg( x, y, normalize = TRUE, sig.level = 0.0025, CI.level = 0.9975, robust = FALSE )
x |
is the cycle numbers (x-axis). |
y |
is the cycle dependent fluorescence amplitude (y-axis). |
normalize |
is a logical parameter indicating if the data should be normalized to the 0.999 quantile |
sig.level |
defines the significance level to test for a significant regression |
CI.level |
confidence level required for the slope |
robust |
is a logical parameter indicating if the data should be
analyzed be a robust linear regression ( |
gives a numeric
(S3 class, type of double
) as output
for the detection of a hook
Stefan Roediger, Michal Burdukiewcz
K. Barratt, J.F. Mackay, Improving Real-Time PCR Genotyping Assays by Asymmetric Amplification, J. Clin. Microbiol. 40 (2002) 1571–1572. doi:10.1128/JCM.40.4.1571-1572.2002.
default.par <- par(no.readonly = TRUE) # Calculate slope and intercept on noise (negative) amplification curve data # for the last eight cycles. library(qpcR) res_hook <- data.frame(sample=colnames(boggy)[-1], t(sapply(2:ncol(boggy), function(i) { hookreg(x=boggy[, 1], y=boggy[, i])}))) res_hook data_colors <- rainbow(ncol(boggy[, -1]), alpha=0.5) cl <- kmeans(na.omit(res_hook[, 2:3]), 2)$cluster par(mfrow=c(1,2)) matplot(x=boggy[, 1], y=boggy[, -1], xlab="Cycle", ylab="RFU", main="boggy Data Set", type="l", lty=1, lwd=2, col=data_colors) legend("topleft", as.character(res_hook$sample), pch=19, col=data_colors, bty="n") plot(res_hook$intercept, res_hook$slope, pch=19, cex=2, col=data_colors, xlab="intercept", ylab="Slope", main="Clusters of Amplification Curves with an Hook Effect-like Curvature\nboggy Data Set") points(res_hook$intercept, res_hook$slope, col=cl, pch=cl, cex=cl) legend("topright", c("Strong Hook effect", " Weak Hook effect"), pch=c(1,2), col=c(1,2), bty="n") text(res_hook$intercept, res_hook$slope, res_hook$sample) par(default.par)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.