Quantitative real-time PCR is an important technique in medical and
biomedical applications. The pcr
package provides a unified
interface for quality assessing, analyzing and testing qPCR data for
statistical significance. The aim of this document is to describe the
different methods and modes used to relatively quantify gene expression
of qPCR and their implementation in the pcr
package.
The pcr
is available on CRAN. To install it, use:
# install package CRAN
install.packages('pcr')
The development version of the package can be obtained through:
# install package from github (under development)
::install_github('MahShaaban/pcr') devtools
# load required libraries
library(pcr)
The following chunk of code locates a dataset of CT values of two
genes from 12 different samples and performs a quick analysis to obtain
the expression of a target gene c-myc normalized by a
control GAPDH in the Kidney samples relative to the
brain samples. pcr_analyze
provides different methods, the
default one that is used here is ‘delta_delta_ct’ applies the popular
Double Delta CT method.
# default mode delta_delta_ct
## locate and read raw ct data
<- system.file('extdata', 'ct1.csv', package = 'pcr')
fl <- readr::read_csv(fl)
ct1
## add grouping variable
<- rep(c('brain', 'kidney'), each = 6)
group_var
# calculate all values and errors in one step
## mode == 'separate_tube' default
<- pcr_analyze(ct1,
res group_var = group_var,
reference_gene = 'GAPDH',
reference_group = 'brain')
res
The output of pcr_analyze
is explained in the
documentation of the function ?pcr_analyze
and the method
it calls ?pcr_ddct
. Briefly, the input includes the CT
value of c-myc normalized
to the control GAPDH, The
calibrated
value of c-myc in the kidney relative to the
brain samples and the final relative_expression
of c-myc.
In addition, an error
term and a lower
and
upper
intervals are provided.
The previous analysis makes a few assumptions. One of which is a
perfect amplification efficiency of the PCR reaction. To assess the
validity of this assumption, pcr_assess
provides a method
called efficiency
. The input data.frame
is the
CT values of c-myc and GAPDH at different input amounts/dilutions.
## locate and read data
<- system.file('extdata', 'ct3.csv', package = 'pcr')
fl <- readr::read_csv(fl)
ct3
## make a vector of RNA amounts
<- rep(c(1, .5, .2, .1, .05, .02, .01), each = 3)
amount
## calculate amplification efficiency
<- pcr_assess(ct3,
res amount = amount,
reference_gene = 'GAPDH',
method = 'efficiency')
res
In the case of using the Double Delta C_T, the assumption of the
amplification efficiency is critical for the reliability of the model.
In particular, the slope and the R^2 of the line
between the log input amount and Delta C_T or difference between the CT
value of the target c-myc and GAPDH. Typically, The
slope should be very small (less than 0.01). The
slope
here is appropriate, so the assumption holds
true.
?pcr_analyze
?pcr_test
browseVignettes("pcr")
Alternatively, the vignette can be found online, here.
citation("pcr")
For details about the methods and more examples, check out our PeerJ article.