tidyqpcr: Quantitative PCR analysis in the tidyverse.

Quantitative polymerase chain reaction (qPCR) is a fundamental technique in molecular biology to detect and quantify DNA and RNA. Here we present the tidyqpcr software package for user-friendly qPCR analysis using the tidyverse suite of R packages. tidyqpcr offers a consistent user interface and structure for qPCR analysis, within the tidyverse paradigm of spreadsheet-like rectangular data frames and generic functions that build up complex analyses in a series of simple steps. tidyqpcr focuses on experimental design in microwell plates, and relative quantification using changes in quantification cycle ( ∆ Cq ). Overall, tidyqpcr empowers scientists to conduct reproducible, flexible, and best-practice compliant quantitative PCR analysis.


Summary
Quantitative polymerase chain reaction (qPCR) is a fundamental technique in molecular biology to detect and quantify DNA and RNA. Here we present the tidyqpcr software package for user-friendly qPCR analysis using the tidyverse suite of R packages. tidyqpcr offers a consistent user interface and structure for qPCR analysis, within the tidyverse paradigm of spreadsheet-like rectangular data frames and generic functions that build up complex analyses in a series of simple steps. tidyqpcr focuses on experimental design in microwell plates, and relative quantification using changes in quantification cycle (∆Cq). Overall, tidyqpcr empowers scientists to conduct reproducible, flexible, and best-practice compliant quantitative PCR analysis.

Statement of need
Quantitative PCR is among the most common techniques in biological and biomedical research, used for the quantification of DNA and RNA. There is a critical need for rigorous analysis and reporting of qPCR experiments, codified in the minimum information for publication of quantitative real-time PCR experiments (MIQE) guidelines (Bustin et al., 2009). Yet it is common for qPCR to be analysed either by closed-source software supplied by the manufacturers of PCR machines, or by highly variable, in-house analysis scripts that have not been peer-reviewed.
Our package, tidyqpcr, addresses the need for a qPCR analysis package that fully integrates with the user-friendly tidyverse, encourages the use of MIQE best-practice compliant experimental design, and provides detailed example analysis pipelines as R vignettes. Following the tidy data paradigm integrates tidyqpcr into the wider collection of data analysis packages provided by the tidyverse, while being accessible to novice users of R. Other open-source libraries for qPCR analysis are available with distinct aims. HTqPCR (Dvinge & Bertone, 2009), ReadqPCR/NormqPCR (Perkins et al., 2012), and qpcR (Spiess, 2018) have similar and in some respects greater functionality than tidyqpcr, but follow object oriented approaches with specialised data objects. By contrast, pcr (Ahmed & Kim, 2018) aligns most closely with tidyqpcr but its function inputs are not tidy data frames. Although alternatives are available, tidyqpcr's aims and approach are distinct: to improve the quality of qPCR experiments from plate design to analysis, by exposing all data in a consistent tidy format that integrates with the tidyverse. tidyqpcr aims to be: • Empowering: tidyqpcr combines a free, open-source qPCR analysis R package with online teaching materials. • Reproducible: tidyqpcr scripts produce paper-ready figures straight from raw data with identical results across computers. • Flexible: tidyqpcr follows the 'tidy' data paradigm to ensure scalability and adaptability.

D R A F T
• Best-practice compliant: tidyqpcr encourages standardised, reliable experimental design by prioritising MIQE-compliant best practices.
tidyqpcr can be used to analyse qPCR data from any nucleic acid source -DNA for qPCR or ChIP-qPCR, RNA for RT-qPCR. Currently tidyqpcr has functions that explicitly support relative quantification by the ∆Cq method, but not yet absolute quantification.
tidyqpcr's current features allow users to: • use a single data type for analysis as every object is a tibble / data frame.
• flexibly assign metadata to samples for visualisation with ggplot2 (see vignettes).
• calibrate primer sets including estimating efficiencies and visualization of curves (calcul ate_efficiency).
• visualize amplification and melt curves (calculate_drdt_plate) • perform normalisation and relative quantification to one or more reference targets by the ∆Cq method (calculate_normcq, calculate_deltacq_bysampleid). • estimate differential expression across multiple samples by the ∆∆Cq method (calcula te_deltadeltacq_bytargetid).
• accelerate further downstream analysis and visualization by writing tidy data frames that are fully compatible with the tidyverse suite.
We have conducted a series of user interviews to improve tidyqpcr's capabilities and documentation. The ease-of-use and documentation of tidyqpcr will enable efficient best-practice analysis of qPCR data by both novice and experienced programmers.