Learn R Programming

qpcR (version 1.1-8)

efficiency: Calculation of qPCR efficiency and several other important qPCR parameters

Description

This function calculates the PCR efficiency of a fitted 'drc' or 'mchoice' model and additionally several other important values for qPCR quantification like the first and second derivatives and the corresponding maxima thereof (i.e. threshold cycles). These values can be subsequently used for the calculation of PCR kinetics, fold induction etc. All values are included in a graphical output of the fit. Additionally, several measures of goodness-of-fit are calculated, i.e. the Akaike Information Criterion (AIC), the residual variance and the R-square value. For relative and absolute quantification, the initial fluorescence F(0) is calculated and can be used for optical calibration if the template amount is defined (see 'Details').

Usage

efficiency(object, plot = TRUE, type = "cpD2", shift = 0, amount = NULL)

Arguments

object
an object of class 'drc' or 'mchoice' model.
plot
logical. If TRUE, a graph is displayed. If FALSE, values are printed out.
type
the method of efficiency estimation. See 'Details'.
shift
a user defined shift in cycles from the values defined by type. See Examples.
amount
the template amount or molecule number for quantitative calibration.

Value

  • A list with the following components:
  • effthe PCR efficiency.
  • resVarthe residual variance.
  • AICcthe bias-corrected Akaike Information Criterion.
  • AICthe Akaike Information Criterion.
  • Rsqthe R-square value.
  • cpD1the first derivative maximum (point of inflection in 'l4' or 'b4' models, can be used for defining the threshold cycle).
  • cpD2the second derivative maximum (turning point of cpD1, more often used for defining the threshold cycle).
  • cpEthe PCR cycle with the highest efficiency, if "maxE" method is chosen.
  • cpRthe PCR cycle within the exponential region calculated as under 'Details', if "expR" method is chosen.
  • Cy0the PCR threshold cycle 'Cy0' according to Guescini et al. See 'Details'.
  • fluothe raw fluorescence value at the point defined by type.
  • initthe initial template fluorescence, i.e. F(0), calculated as under 'Details'.
  • cfthe conversion factor between raw fluorescence and template amount, if the latter is defined.

Details

The efficiency is always calculated from the efficiency curve (in blue), which is calculated according to $E = \frac{F(n)}{F(n-1)}$ from the fitted curve, but taken from different points at the curve: "cpD2" taken from the maximum of the second derivative curve, "cpD1" taken from the maximum of the first derivative curve, "maxE" taken from the maximum of the efficiency curve, "expR" taken from the exponential region by $expR = cpD2-(cpD1-cpD2))$, "Cy0" as calculated according to Guescini et al. or a numeric value (taken from the threshold cycle output of the PCR software, i.e. 15.24). The initial fluorescence F(0) for relative or absolute quantification is calculated by $F(0) = \frac{F(n)}{E(n)^{Cyc}}$, with F(n) = raw fluorescence at the cycle number defined by type, E(n) = PCR efficiency at the cycle number defined by type and Cyc = the cycle number defined by type. If a template amount is defined, a conversion factor $cf = \frac{amount}{F(0)}$ is given. The different measures for goodness-of-fit give an overview for the validity of the efficiency estimation. First and second derivatives are calculated from the fitted function and the maxima of the derivatives curve and the efficiency curve are obtained. This function calls the first derivatives from the 'drc' library and the internal functions deriv2.b and deriv2.l for the calculation of second derivatives.

References

Weihong Liu and David A. Saint (2002) Validation of a quantitative method for real time PCR kinetics, BBRC, 294, 347 - 353. A new real-time PCR method to overcome significant quantitative inaccuracy due to slight amplification inhibition. Guescini M et al, BMC Bioinformatics, 2008, 9: 326.

Examples

Run this code
## Fitting initial model
m1 <-  pcrfit(reps, 1, 2, l4())
efficiency(m1)
 
## of best model
#uses type="cpD2"
m2 <- mchoice(m1)
efficiency(m2) 

## using "maxE" method, with calculation of PCR efficiency
## one cycle 'upstream' of the cycle of maximum efficiency
efficiency(m2, type = "maxE", shift = 1)

##using the exponential region
efficiency(m2, type = "expR")

## using threshold value (15.32) from PCR software
efficiency(m2, type = 15.32)
 
## using the first 30 cycles and a template amount
## (optical calibration)
m3 <-  pcrfit(reps[1:30, ], 1, 2, l5())
efficiency(m3, amount = 1E3)

Run the code above in your browser using DataLab