Reads, writes, validates, converts, and manipulates quantitative polymerase chain reaction (qPCR) data through the Real-Time PCR Data Markup Language ('RDML') application programming interface (API), using 'S7' objects. Includes an extensible file-format registry, vendor and tabular-data importers, 'RDES' import and export, fluorescence-table helpers, semantic validation, and compatibility wrappers for the historical 'RDML' API.
RDML7 is an R package for reading, manipulating, validating, converting, and
writing quantitative PCR data. The current implementation uses S7 value
objects, a camelCase functional API, and an extensible file-format registry.
The original RDML package is described in:
Stefan Rödiger, Michał Burdukiewicz, Andrej-Nikolai Spiess, Konstantin Blagodatskikh. Enabling reproducible real-time quantitative PCR research: the RDML package. Bioinformatics. https://doi.org/10.1093/bioinformatics/btx528
install.packages("remotes")
remotes::install_github("kablag/RDML7")
library(RDML7)
x <- readRDML("experiment.rdml")
summary(x)
validateRDML(x)
metadata <- asTable(x)
amp <- getFData(
x,
dpType = "adp",
longTable = TRUE
)
writeRDML(
x,
"experiment-copy.rdml"
)
RDML uses value semantics:
x <- setFData(
x,
fdata,
description,
fdataType = "adp"
)
listRDMLFormats()
Additional readers/writers can be registered with registerRDMLFormat() or
loaded from module files with loadRDMLModule().
RDES import and export are supported:
x <- readRDML(
"run_amplification.tsv",
format = "rdes"
)
x <- readRDML(
"run_amplification.tsv",
format = "rdes",
companionFile = "run_melting.tsv"
)
writeRDML(
x,
"run.tsv",
format = "rdes",
rdesType = "both"
)
See vignette("RDES", package = "RDML").
Older names such as AsTable(), GetFData(), SetFData() and MergeRDMLs(),
remain available for dependent packages. New code should use
the camelCase API.