Learn R Programming

qpcR (version 1.3-7.1)

LRE: Calculation of qPCR efficiency by the 'linear regression of efficiency' method

Description

The LRE method is based on a linear regression of raw fluorescence versus efficiency, with the final aim to obtain cycle dependent individual efficiencies $E_n$. A linear model is then fit to a sliding window of defined size(s) and within a defined border. Regression coefficients are calculated for each window, and from the window of maximum regression, parameters such as PCR efficiency and initial template fluorescence are calculated. See 'Details' for more information. This approach is quite similar to the one in sliwin, but while sliwin regresses cycle number versus log(fluorescence), LRE regresses raw fluorescence versus efficiency. Hence, the former is based on assuming a constant efficiency for all cycles while the latter is based on a per-cycle individual efficiency.

Usage

LRE(object, wsize = 6, basecyc = 1:6, base = 0, border = NULL, 
    plot = TRUE, verbose = TRUE, ...)

Arguments

object
an object of class 'pcrfit'.
wsize
the size(s) of the sliding window(s), default is 6. A sequence such as 4:6 can be used to optimize the window size.
basecyc
if base != 0, which cycles to use for an initial baseline estimation based on the averaged fluorescence values.
base
either 0 for no baseline optimization, or a scalar defining multiples of the standard deviation of all baseline points obtained from basecyc. These are iteratively subtracted from the raw data. See 'Details' and 'Examples'.
border
either NULL (default) or a two-element vector which defines the border from the take-off point to points nearby the upper asymptote (saturation phase). See 'Details'.
plot
if TRUE, the result is plotted with the fluorescence/efficiency curve, sliding window, regression line and baseline.
verbose
logical. If TRUE, more information is displayed in the console window.
...
only used internally for passing the parameter matrix.

Value

  • A list with the following components:
  • effthe maximum PCR efficiency $E_{max}$ calculated from the best window.
  • rsqthe maximum $R^2$.
  • basethe optimized baseline value.
  • windowthe best window found within the borders.
  • parMata matrix containing the parameters as above for each iteration.
  • init1the initial template fluorescence $F_0$ assuming constant efficiency $E_{max}$ as described under 'Details'.
  • init2the initial template fluorescence $F_0$, assuming cycle-dependent efficiency $E_n$ as described under 'Details'.

Details

To avoid fits with a high $R^2$ in the baseline region, some border in the data must be defined. In LRE, this is by default (base = NULL) the region in the curve starting at the take-off cycle ($top$) as calculated from takeoff and ending at the transition region to the upper asymptote (saturation region). The latter is calculated from the first and second derivative maxima: $asympt = cpD1 + (cpD1 - cpD2)$. If the border is to be set by the user, border values such as c(-2, 4) extend these values by $top + border[1]$ and $asympt + border[2]$. The efficiency is calculated by $E_n = \frac{F_n}{F_{n-1}}$ and regressed against the raw fluorescence values $F$: $E = F\beta + \epsilon$. For the baseline optimization, 100 baseline values $Fb_i$ are interpolated in the range of the data: $$F_{min} \le Fb_i \le base \cdot \sigma(F_{basecyc[1]}...F_{basecyc[2]})$$ and subtracted from $F_n$. For all iterations, the best regression window in terms of $R^2$ is found and its parameters returned. Two different initial template fluorescence values $F_0$ are calculated in LRE: init1: Using the single maximum efficiency $E_{max}$ (the intercept of the best fit) and the fluorescence at second derivative maximum $F_{cpD2}$, by $$F_0 = \frac{F_{cpD2}}{E_{max}^{cpD2}}$$ init2: Using the cycle dependent efficiencies $E_n$ from $n = 1$ to the near-lowest integer (floor) cycle of the second derivative maximum $n = \lfloor cpD2 \rfloor$, and the fluorescence at the floor of the second derivative maximum $F_{\lfloor cpD2 \rfloor}$, by $$F_0 = \frac{F_{\lfloor cpD2 \rfloor}}{\prod E_n}$$ This approach corresponds to the paradigm described in Rutledge & Stewart (2008), by using cycle-dependent and decreasing efficiencies $\Delta_E$ to calculate $F_0$.

References

A kinetic-based sigmoidal model for the polymerase chain reaction and its application to high-capacity absolute quantitative real-time PCR. Rutledge RG & Stewart D. BMC Biotech (2008), 8: 47.

Examples

Run this code
## sliding window of size 5
## between take-off point and 3 cycles 
## upstream of the upper asymtote turning point,
## no baseline optimization
m1 <- pcrfit(reps, 1, 2, l4)
LRE(m1, wsize = 5, border = c(0, 3), base = 0)

## optimizing with window sizes of 4 to 6,
## between 0/+2 from lower/upper border, 
## and baseline up to 2 standard deviations
LRE(m1, wsize = 4:6, border = c(0, 2), base = 2)

Run the code above in your browser using DataLab