Learn R Programming

PCRedux (version 1.2-0)

pcrfit_single: pcrfit_single - A function to extract features from an amplification curve

Description

The pcrfit_single is responsible for the extraction of features from amplification curve data. The function can be used for custom functions for a paralleled analysis of amplification curve data. An example is given in the vignette.

Usage

pcrfit_single(x)

Value

Output Description

"cpD1"maximum of the first derivative curvenumeric
"cpD2"maximum of the second derivative curvenumeric
"cpD2_approx"maximum of the second derivative curve calculated by the approximate derivativenumeric
"cpD2_ratio"a value calculated from the ratio between cpD2 and cpD2_approxnumeric
"eff"qPCR amplification efficiencynumeric
"sliwin"qPCR amplification efficiency according the the 'window-of-linearity' method by Ruijter et al. (2009)numeric
"cpDdiff"absolute difference between cpD1 and cpD2numeric
"loglin_slope"slope determined by a linear model of the data points from the minimum and maximum of the second derivativenumeric
"cpD2_range"cycle difference between the maximum and the minimum of the second derivative curvenumeric
"top"takeoff point. When no top can be determined, the tob value is set to the first cycle number.numeric
"f.top"fluorescence at takeoff point. When no f.tdp can be determined, the f.tdp value is set to the RFU value at the first cycle number.numeric
"tdp"takes the maximum fluorescence subtracted by reverse values of the fluorescence and calculates then the fake takeoff point. It is so to speak the take down point (tdp). When no tdp can be determined, the tdb value is set to the last cycle number.numeric
"f.tdp"fluorescence at tdp point. When no f.tdp can be determined, the f.tdp value is set to the RFU value at the last cycle number.numeric
"bg.stop"estimates the end (cycle) the amplification curve background based on the bg.max function and normalizes it to the total cycle numbernumeric
"amp.stop"estimates the end (cycle) of the amplification curve based in the bg.max function and normalizes it to the total cycle numbernumeric
"b_slope"Is the slope of the seven parameter modelnumeric
"b_model_param"Is the b model parameter of the model optimally fitted according to the AICnumeric
"c_model_param"Is the c model parameter of the model optimally fitted according to the AICnumeric
"d_model_param"Is the d model parameter of the model optimally fitted according to the AICnumeric
"e_model_param"Is the e model parameter of the model optimally fitted according to the AICnumeric
"f_model_param"Is the f model parameter of the model optimally fitted according to the AICnumeric
"f_intercept"Is the intercept of the seven parameter modelnumeric
"convInfo_iteratons"Number of iterations needed to fit the 7 parameter modelnumeric
"qPCRmodel"non-linear model determined for the analysisfactor
"qPCRmodelRF"non-linear model determined for the analysis of the reversed amplification curvefactor
"minRFU"minimum of fluorescence amplitudenumeric
"maxRFU"maximum of fluorescence amplitudenumeric
"init2"initial template fluorescence from an exponential modelnumeric
"fluo"raw fluorescence value at the point defined by cpD2numeric
"slope_bg"slope of the first cyclesnumeric
"k1_model_param"Is the k1 model parameter of the seven parameter modelnumeric
"k2_model_param"Is the k2 model parameter of the seven parameter modelnumeric
"intercept_bg"intercept of the first cyclesnumeric
"sigma_bg"sigma of backgroundnumeric
"sd_bg"standard deviation of the background (ground phase) region (start to takeoff point)numeric
"head2tail_ratio"ratio between the signal of the background and tail regionnumeric
"mblrr_intercept_bg"the value of the intercept in the estimated background region of the amplification curvenumeric
"mblrr_slope_bg"the value of the slope in the estimated background region of the amplification curvenumeric
"mblrr_cor_bg"the value of the linear correlation coefficient in the estimated background region of the amplification curvenumeric
"mblrr_intercept_pt"the value of the intercept in the estimated plateau phase of the amplification curvenumeric
"mblrr_slope_pt"the value of the slope in the estimated plateau phase of the amplification curvenumeric
"mblrr_cor_pt"the value of the linear correlation coefficient in the estimated plateau phase of the amplification curvenumeric
"polyarea"area of a polygon given by the vertices in the vectors cycles and fluorescencenumeric
"peaks_ratio"Takes the estimate approximate local minimums and maximums
"autocorrelation"is a value of autocorrelation of a gain curve from a quantitative PCR experimentnumeric
"cp_e.agglo"agglomerative hierarchical estimate for multiple change pointsnumeric
"amptester_shapiro"tests based on the Shapiro-Wilk normality test if the amplification curve is just noisebinary
"amptester_lrt"performs a cycle dependent linear regression and determines if the coefficients of determination deviates from a thresholdbinary
"amptester_rgt"Resids growth test (RGt) tests if fluorescence values in a linear phase are stablebinary
"amptester_tht"Threshold test (THt) takes the first 20 percent and the last 15 percent of any input data set and performs a Wilcoxon rank sum tests.binary
"amptester_slt"Signal level test compares 1. the signals by a robust "sigma" rule by median + 2 * mad and 2. by comparison of the signal/noise ratiobinary
"amptester_polygon"pco test (pco) determines if the points in an amplification curve (like a polygon, in particular non-convex polygons) are in a "clockwise" order.binary
"amptester_slope.ratio"SlR uses the inder function to find the approximated first derivative maximum, second derivative minimum and the second derivative maximum. These are used for a regression analysis with the corresponding fluorescence amplitude data.numeric
"hookreg_hook"estimate of hook effect like curvaturebinary
"hookreg_hook_slope"estimate of slope of the hook effect like curvaturenumeric
"hookreg_hook_delta"Estimated value for the number of cycles from the qPCR cycle where the hook effect was determined up to the last qPCR cyclenumeric
"central_angle"shows the central angle calculated from the maximum and minimum of the second derivatives, with the first derivative maximum being the centernumeric
"sd_bg"shows the standard deviation of the fluorescence in the ground phasenumeric
"number_of_cycles"Number of cylcesnumeric
"direction"test if the maximum of the first derivative is positive or negativenumeric
"range"outputs the difference of fluorescence between 0.99 and 0.01 percentile. The value thus corresponds approximately to the maximum achievable signal difference of an amplification curve.numeric
"polyarea_trapz"calculates trapezoidal integration. The calculation stops when the difference from one step to the next is smaller than a tolerance value, or the iterations become too large. The value corresponds to the sum signal via the total amplification curve.numeric
"cor"is the value of the correlation coefficient from a linear correlation analysis according to Pearson between all PCR cycles and the fluorescence signals.numeric
"res_coef_pcrfit.b"is the parameter from the adjustment with a nonlinear (sigmoid) four-parametric model which describes the Hill’s slope of the curve (i.e. this is related to the steepness of the curve point e)numeric
"res_coef_pcrfit.c"is the parameter from the adjustment with a nonlinear (sigmoid) four-parametric model which describes the maximum value that can be obtained (i.e. what happens at infinite number of cycles)numeric
"res_coef_pcrfit.d"is the parameter from the adjustment with a nonlinear (sigmoid) four-parametric model which describes the minimum value that can be obtained (i.e. what happens at 0 cycles)numeric
"res_coef_pcrfit.e"is the parameter from the adjustment with a nonlinear (sigmoid) four-parametric model, which describes the point of inflection (i.e. the point on the sigmoid curve halfway between d and c)numeric
"fitAIC"is the value of the Akaike's second-order corrects Information Criterion, which was determined on a non-linear (sigmoid) four-parameter modelnumeric
"fitIter"Number of iterations needed to fit the 4 parameter modelnumeric
"segment_x"Adjusts a regression model with segmented (linear) relationships between fluorescence and PCR cycles. This segment describes the baseline in an amplification curve.numeric
"segment_U1.x"Adjusts a regression model with segmented (linear) relationships between fluorescence and PCR cycles. This segment describes the slope in an amplification curve.numeric
"segment_U2.x"Adjusts a regression model with segmented (linear) relationships between fluorescence and PCR cycles. This segment describes the plateau in an amplification curve.numeric
"segment_psi1.x"Adjusts a regression model with segmented (linear) relationships between fluorescence and PCR cycles. The value is based on the break-point(s) fixed at the values and describes the transition from the baseline phase to the exponential phase.numeric
"segment_psi2.x"Adjusts a regression model with segmented (linear) relationships between fluorescence and PCR cycles. The value is based on the break-point(s) fixed at the values and describes the transition from the exponential phase to the plateau phase.numeric
"sumdiff"describes proportion of cycles x in which the fluorescence signal of x is smaller than in x+1numeric
"poly_1"is a value of a third-order polynomial a + b*x + c*x^2 + d*x^3 is fitted to the curve data, where the intercept correspond to the baseline and the three predictor-dependent terms deliver a approximation to the sigmoidal curve structure. This value describes the intercept "a" (cutting point of the amplification curve model with the ordinate).numeric
"poly_2"is a value of a third-order polynomial a + b*x + c*x^2 + d*x^3 is fitted to the curve data, where the intercept correspond to the baseline and the three predictor-dependent terms deliver a approximation to the sigmoidal curve structure. This value describes the linear part "b*x".numeric
"poly_3"is a value of a third-order polynomial a + b*x + c*x^2 + d*x^3 is fitted to the curve data, where the intercept correspond to the baseline and the three predictor-dependent terms deliver a approximation to the sigmoidal curve structure. This value describes the quadratic part "c*x^2".numeric
"poly_4"is a value of a third-order polynomial a + b*x + c*x^2 + d*x^3 is fitted to the curve data, where the intercept correspond to the baseline and the three predictor-dependent terms deliver a approximation to the sigmoidal curve structure. This value describes the cubic part "d*x^3".numeric
"window_Win_1"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 1st window for cycles (0.961,4.9].numeric
"window_Win_2"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 2nd window for cycles (4.9,8.8].numeric
"window_Win_3"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 3rd window for cycles (8.8,12.7].numeric
"window_Win_4"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 4th window for cycles (12.7,16.6].numeric
"window_Win_5"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 5th window for cycles (16.6,20.5].numeric
"window_Win_6"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 6th window for cycles (20.5,24.4].numeric
"window_Win_7"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 7th window for cycles (24.4,28.3].numeric
"window_Win_8"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 8th window for cycles (28.3,32.2].numeric
"window_Win_9"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 9th window for cycles (32.2,36.1].numeric
"window_Win_10"The complete curve trajectory is segmented into 10 equidistant windows by fitting an interpolating smoothing spline with smoothing factor 0.5 to the curve, interpolating exactly 50 curve points, and then cutting these into 10 windows of five values each, with a subsequent calculation of the MAD/Median ratio for each of these windows. This is the 10th window for cycles (36.1,40].numeric
"sd_plateau"describes the standard deviation in the late phase of an amplification curve (last five cycles). With ideal PCRs, this corresponds to the plateau phase.numeric

gives a data.frame (S3 class, type of list) as output for the curve features

Arguments

x

is the data set containing the fluorescence amplitudes.

Author

Stefan Roediger, Michal Burdukiewcz

Details

Details can be found in the vignette.

References

M. Febrero-Bande, M.O. de la Fuente, others, Statistical computing in functional data analysis: The R package fda.usc, Journal of Statistical Software. 51 (2012) 1--28. http://www.jstatsoft.org/v51/i04/

A.-N. Spiess, C. Deutschmann, M. Burdukiewicz, R. Himmelreich, K. Klat, P. Schierack, S. Roediger, Impact of Smoothing on Parameter Estimation in Quantitative DNA Amplification Experiments, Clinical Chemistry. 61 (2015) 379--388. doi:10.1373/clinchem.2014.230656.

S. Roediger, A. Boehm, I. Schimke, Surface Melting Curve Analysis with R, The R Journal. 5 (2013) 37--53. http://journal.r-project.org/archive/2013-2/roediger-bohm-schimke.pdf.

S. Roediger, M. Burdukiewicz, K.A. Blagodatskikh, P. Schierack, R as an Environment for the Reproducible Analysis of DNA Amplification Experiments, The R Journal. 7 (2015) 127--150. http://journal.r-project.org/archive/2015-1/RJ-2015-1.pdf.

S. Pabinger, S. Roediger, A. Kriegner, K. Vierlinger, A. Weinhauusel, A survey of tools for the analysis of quantitative PCR (qPCR) data, Biomolecular Detection and Quantification. 1 (2014) 23--33. doi:10.1016/j.bdq.2014.08.002.

S. Roediger, M. Burdukiewicz, P. Schierack, chipPCR: an R package to pre-process raw data of amplification curves, Bioinformatics. 31 (2015) 2900--2902. doi:10.1093/bioinformatics/btv205.

Examples

Run this code
# Load the chipPCR package and analyze from the C126EG685 the first qPCR run
# "A01" (column 2).
library(chipPCR)
res <- pcrfit_single(C126EG685[, 2])

Run the code above in your browser using DataLab