Learn R Programming

dpcR (version 0.5)

qpcr2pp: qPCR to Poisson Process

Description

Describes qPCR as Poisson process.

Usage

qpcr2pp(data, cyc = 1, fluo = NULL, Cq_range = c(min(data[cyc]) + 6,
  max(data[cyc]) - 6), model = l5, SDM = TRUE, NuEvents = 1,
  delta = 1, exper = "qPCR1", replicate = 1, assay = "Unknown",
  type = "np")

Arguments

data

a dataframe containing the qPCR data.

cyc

the column containing the cycle data. Defaults to first column.

fluo

the column(s) (runs) to be analyzed. If NULL, all runs will be considered (equivalent of (1L:ncol(data))[-cyc]).

Cq_range

is a user defined range of cycles to be used for the determination of the Cq values.

model

is the model to be used for the analysis for all runs. Defaults to 'l5' (see pcrfit).

SDM

if TRUE, Cq is approximated by the second derivative method. If FALSE, Cy0 method is used instead.

NuEvents

"number of expected events" within a time frame (interval).

delta

difference "time (cycles) points" e.g., Cycle 18 and 25.

exper

The id of experiments.

replicate

The id of technical replicates.

assay

The name or id of assays.

type

object of class "character" defining type of data. Could be "np" (status (positive (1) or negative(0)) of each droplet) or"ct" (threshold cycle).

Value

An object of '>qdpcr class.

Details

Selected platforms (e.g., Open Array) are real-time platforms. dPCR can be described by Poisson statistics. The function qpcr2pp takes a step further and interprets the dPCR as a Poisson process if it is analyzed as a "time" based process.

The dPCR Technology breaks fundamentally with the previous concept of nucleic acid quantification. dPCR can be seen as a next generation nucleic acid quantification method based on PCR. The key difference between dPCR and traditional PCR lies in the method of measuring (absolute) nucleic acids amounts. This is possible after ``clonal DNA amplification'' in thousands of small separated partitions (e.g., droplets, nano chambers). Partitions with no nucleic acid remain negative and the others turn positive. Selected technologies (e.g., OpenArray(R) Real-Time PCR System) monitor amplification reactions in the chambers in real-time. Cq values are calculated from the amplification curves and converted into discrete events by means of positive and negative partitions and the absolute quantification of nucleic acids is done by Poisson statistics.

PCR data derived from a qPCR experiment can be seen as a series of events over time. We define t_i as the time between the first (i - 1)^st and the i^th event. Therefore, the time \(S_n\) is the sum of all \(t_i\) from \(i = 1\) to \(i = n\). This is the time to the n^th event. \(S(t)\) is the number of events in \([0, t]\). This can be seen as a Poisson process. The Poisson statistics is the central theorem to random processes in digital PCR.

The function qpcr2pp is used to model random point events in time units (PCR cycles), such as the increase of signal during a qPCR reaction in a single compartment. A Poisson process can be used to model times at which an event occurs in a "system". The qpcr2pp (quantitative Real-Time PCR to Poisson process) function transforms the qPCR amplification curve data to quantification points (Cq), which are visualized as Poisson process. This functions helps to spot differences between replicate runs of digital PCR experiments. In ideal scenarios the qpcr2pp plots are highly similar.

This tool might help to spot differences between experiments (e.g., inhibition of amplification reactions, influence of the chip arrays). The qPCR is unique because the amplification of conventional qPCRs takes place in discrete steps (cycles: 1, 2 ... 45), but the specific Cq values are calculated with continuous outcomes (Cq: 18.2, 25.7, ...). Other amplification methods such as isothermal amplifications are time based and thus better suited for Poisson process.

Examples

Run this code
# NOT RUN {
library(qpcR)
test <- cbind(reps[1L:45, ], reps2[1L:45, 2L:ncol(reps2)], 
	      reps3[1L:45, 2L:ncol(reps3)])

# before interpolation qPCR experiment must be converted into dPCR
qpcrpp <- qpcr2pp(data = test, cyc = 1, fluo = NULL, Cq_range = c(20, 30), 
                  model = l5, delta = 5)
summary(qpcrpp)
# }

Run the code above in your browser using DataLab