plotPOD: Generate Plot to Analyze Single Lab PCR Outcomes

Description Usage Arguments Details Value Examples

View source: R/plotPOD.R


Show POD curve and LOD value to validate qualitative PCR methods of a single laboratory.


plotPOD(obj, model = c("auto", "simple", "full"), qLOD = 95, = TRUE, show.warnings = FALSE, wmark = TRUE, unit = "",
  xlim = NULL, .title = list(main = "", xlab = "Number of DNA copies",
  ylab = "POD and ROD"))



A list returned by analyzeSingleLab.


Simple or full model


The quantile(s) for LOD to be shown in the plot. Multiplied by 100 if less than one.

Show the confidence interval of the LOD in the plot.


Show the warning regarding significant deviation from 1 in the plot.


Logical. Show a watermark at the upper right corner of the plot.


A string indicating the unit of the data.


A numeric vector indicating the limits of the x-axis.


A list with same arguments as function title. Customization of the figure.


The graph generated by this function gives the laboratory-specific rates of detection (RODs) as blue diamonds. The blue curve denotes the mean POD curve along with the corresponding 95 \% confidence range highlighted as the grey band. The POD curve under ideal conditions is displayed as the black dashed curve.

If model is set to "auto", a plausiblity test is applied to determine if the POD curve bases on the simplified or on full parameter estimation. If the corrective parameter determined from the full model significantly differs from 1, a message is shown in the plot. Testing for significant deviation is currently done by checking the condition 1-b>0.2. The threshould 0.2 has been determined empirically to agree with the original webtool and might be changed in future versions of the package.

Three cases can be distinguished. First, the value for the slope parameter b is significantly less than 1. This means the average amplification probability is higher at higher dilution levels than at lower dilution levels. Such a situation can be related to: inhibitory matrix effects, a large variability in the amplification process from the one test to another under repeatability conditions, or accidental problems causing false positives if the number of copies of the target DNA sequence is less than 1. Second, the calculated POD curve indicates sensitivity better than achievable according to the theoretical POD curve. Third, the number of positive test results is significantly higher than expected at nominal copies of nominal DNA concentrations in [0.5,1.5]. In this case check the correctness of the serial dilution.

Another warning appears if the LOD of interest exceeds the highest number of considered nominal copies.

The unit is add to the LOD value, in front of the confidence intervall.


The passed list 'obj' is returned invisibly.


x <- cbind(
 S=c( 0,5,6,6,6,6 ),
 N=c( 6,6,6,6,6,6 )
obj <- analyzeSingleLab(x=x)

Example output

##  PPP    OO   DDD
##  P  P  O  O  D  D
##  PPP  O    O D   D
##  P     O  O  D  D
##  P      OO   DDD
##  Loading package 'POD' version 1.2.0.
##  Type help(package=POD) for help.
##  Type citation(package='POD') for citation.
##  For your suggestions and bug-reports please contact: <>
##  Latest patches can also be found at: <>
The following warning(s) appeared:
* The calculated POD curve indicates sensitivity better than achievable according to the theoretical POD curve.

POD documentation built on July 2, 2020, 3:16 a.m.