Title: | Importing Real-Time Thermo Cycler (qPCR) Data from RDML Format Files |
---|---|
Description: | Imports real-time thermo cycler (qPCR) data from Real-time PCR Data Markup Language (RDML) and transforms to the appropriate formats of the 'qpcR' and 'chipPCR' packages. Contains a dendrogram visualization for the structure of RDML object and GUI for RDML editing. |
Authors: | Konstantin A. Blagodatskikh [cre, aut], Stefan Roediger [aut], Michal Burdukiewicz [aut] , Andrej-Nikolai Spiess [aut] |
Maintainer: | Konstantin A. Blagodatskikh <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.3 |
Built: | 2024-12-28 04:40:47 UTC |
Source: | https://github.com/pcruniversum/rdml |
RDML
objectExtract data points from RDML
object as.data.frame.
## S3 method for class 'RDML' x[i, j, dp.type = "adp"]
## S3 method for class 'RDML' x[i, j, dp.type = "adp"]
x |
|
i , j
|
indices. |
dp.type |
Type of fluorescence data (i.e. 'adp' for qPCR or 'mdp' for melting). |
adpsType R6 class.
adpsType R6 class.
An R6Class
generator object.
Contains matrix
of amplification data. Must have three columns:
PCR cycle at which data point was collected (every cycle must have unique number).
temperature in degrees Celsius at the time of measurement (optional).
raw fluorescence intensity measured.
Inherits: rdmlBaseType.
adpsType$new(fpoints)
fpoints
assertMatrix. Matrix with amplification data points.
RDML::rdmlBaseType
-> adpsType
new()
adpsType$new(fpoints)
.asXMLnodes()
adpsType$.asXMLnodes(node.name)
clone()
The objects of this class are cloneable with this method.
adpsType$clone(deep = FALSE)
deep
Whether to make a deep clone.
#cycles cyc <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40) #fluorescence fluo <- c(2.0172, 2.0131, 2.0035, 2, 2.0024, 2.0056, 2.0105, 2.0179, 2.0272, 2.0488, 2.0922, 2.1925, 2.3937, 2.7499, 3.3072, 4.0966, 5.0637, 6.0621, 7.0239, 7.8457, 8.5449, 9.1282, 9.6022, 9.9995, 10.2657, 10.4989, 10.6813, 10.8209, 10.9158, 10.9668, 11.0053, 11.0318, 11.0446, 11.044, 11.0052, 10.9671, 10.9365, 10.9199, 10.897, 10.8316) #temperature temp <- c(55, 55, 55, 55, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55) #combine all variables into a proper object data <- data.frame(cyc = cyc, tmp = temp, fluor = fluo) #create adps object adpsType$new(data) #create adps object without temperature data adpsType$new(data[, -2])
#cycles cyc <- c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40) #fluorescence fluo <- c(2.0172, 2.0131, 2.0035, 2, 2.0024, 2.0056, 2.0105, 2.0179, 2.0272, 2.0488, 2.0922, 2.1925, 2.3937, 2.7499, 3.3072, 4.0966, 5.0637, 6.0621, 7.0239, 7.8457, 8.5449, 9.1282, 9.6022, 9.9995, 10.2657, 10.4989, 10.6813, 10.8209, 10.9158, 10.9668, 11.0053, 11.0318, 11.0446, 11.044, 11.0052, 10.9671, 10.9365, 10.9199, 10.897, 10.8316) #temperature temp <- c(55, 55, 55, 55, 54, 54, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 56, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55) #combine all variables into a proper object data <- data.frame(cyc = cyc, tmp = temp, fluor = fluo) #create adps object adpsType$new(data) #create adps object without temperature data adpsType$new(data[, -2])
Annotate samples by setting a property and its value. For example, sex could be a property with the possible values M or F. Inherits: rdmlBaseType.
An R6Class
generator object.
checkString. Property name
checkString. Value
RDML::rdmlBaseType
-> annotationType
new()
annotationType$new(property, value)
clone()
The objects of this class are cloneable with this method.
annotationType$clone(deep = FALSE)
deep
Whether to make a deep clone.
#set sex property annotationType$new(property = "sex", value = "M")
#set sex property annotationType$new(property = "sex", value = "M")
idType
object to character
Function to convert idType
object to character
.
## S3 method for class 'idType' as.character(x, ...)
## S3 method for class 'idType' as.character(x, ...)
x |
|
... |
Further arguments to be passed. |
reactIdType
object to character
Function to convert reactIdType
object to character
.
## S3 method for class 'reactIdType' as.character(x, ...)
## S3 method for class 'reactIdType' as.character(x, ...)
x |
|
... |
Further arguments to be passed. |
RDML$AsDendrogram()
wrapperRead more at RDML.AsDendrogram
AsDendrogram(obj, ...)
AsDendrogram(obj, ...)
obj |
|
... |
|
RDML$AsTable()
wrapperRead more at RDML.AsTable
AsTable(obj, ...)
AsTable(obj, ...)
obj |
|
... |
|
Parent class for inner usage. Inherits: rdmlBaseType.
An R6Class
generator object.
baseTemperatureType$new(duration, temperatureChange = NULL, durationChange = NULL, measure = NULL, ramp = NULL)
duration
checkCount. Duration of this step in seconds.
temperatureChange
checkNumber. Change of the temperature between two consecutive cycles: actual temperature = temperature + (temperatureChange * cycle counter)
durationChange
checkCount. Change of the duration between two consecutive cycles: actual duration = duration + (durationChange * cycle counter)
measure
measureType. Indicates to make a measurement and store it as meltcurve or real-time data.
ramp
checkNumber. Allowed temperature change between two consecutive cycles in degrees Celsius per second. If unstated, the maximal change rate is assumed.
RDML::rdmlBaseType
-> baseTemperatureType
new()
baseTemperatureType$new( duration, temperatureChange = NULL, durationChange = NULL, measure = NULL, ramp = NULL )
clone()
The objects of this class are cloneable with this method.
baseTemperatureType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Description of the cDNA synthesis method. Inherits: rdmlBaseType.
An R6Class
generator object.
cdnaSynthesisMethodType$new(enzyme = NULL, primingMethod = NULL, dnaseTreatment = NULL, thermalCyclingConditions = NULL)
@section Fields:
enzyme
checkString. Name of the enzyme used for reverse transcription.
primingMethod
dnaseTreatment
checkFlag if TRUE
RNA was
DNAse treated prior cDNA synthesis.
thermalCyclingConditions
RDML::rdmlBaseType
-> cdnaSynthesisMethodType
new()
cdnaSynthesisMethodType$new( enzyme = NULL, primingMethod = NULL, dnaseTreatment = NULL, thermalCyclingConditions = NULL )
clone()
The objects of this class are cloneable with this method.
cdnaSynthesisMethodType$clone(deep = FALSE)
deep
Whether to make a deep clone.
For some commercial assays, the primer sequences may be unknown. This element allows to describe commercial assays. Inherits: rdmlBaseType.
An R6Class
generator object.
commercialAssayType$new(company, orderNumber)
@section Fields:
company
orderNumber
RDML::rdmlBaseType
-> commercialAssayType
new()
commercialAssayType$new(company, orderNumber)
clone()
The objects of this class are cloneable with this method.
commercialAssayType$clone(deep = FALSE)
deep
Whether to make a deep clone.
The method used to determine the Cq value. Can take values:
Inherits: enumType.
An R6Class
generator object.
cqDetectionMethodType$new(value)
@section Fields:
value
RDML::rdmlBaseType
-> RDML::enumType
-> cqDetectionMethodType
clone()
The objects of this class are cloneable with this method.
cqDetectionMethodType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Software name and version used to collect and analyze the data. Inherits: rdmlBaseType.
An R6Class
generator object.
dataCollectionSoftwareType$new(name, version)
@section Fields:
name
version
RDML::rdmlBaseType
-> dataCollectionSoftwareType
new()
dataCollectionSoftwareType$new(name, version)
clone()
The objects of this class are cloneable with this method.
dataCollectionSoftwareType$clone(deep = FALSE)
deep
Whether to make a deep clone.
dataCollectionSoftwareType$new(name = "ExampleSoft", version = "1.0")
dataCollectionSoftwareType$new(name = "ExampleSoft", version = "1.0")
Inherits: rdmlBaseType.
An R6Class
generator object.
dataType$new(tar, cq = NULL, excl = NULL, adp = NULL, mdp = NULL, endPt = NULL, bgFluor = NULL, bgFluorSlp = NULL, quantFluor = NULL)
tar
idReferencesType. TargetID - A reference to a target.
cq
checkNumber. Calculated fractional PCR cycle used for downstream quantification. Negative values express following condition: Not Available: -1.0 . (can be NaN for BioRad Maestro compatibility)
excl
checkString. Excluded. If excl
is present, this entry should not be evaluated. Do not set this element
to FALSE
if the entry is valid. Instead, leave the entire excl
element out instead. It may contain a string with a reason for the exclusion.
Several reasons for exclusion should be
seperated by semicolons ";".
adp
mdp
endPt
. Value of the endpoint measurement.
bgFluor
checkNumber. Background fluorescence (the y-intercept of the baseline trend based on the estimated background fluorescence).
bgFluorSlp
checkNumber.
Background fluorescence slope - The slope of the baseline trend based on
the estimated background fluorescence. The element should be absent to
indicate a slope of 0.0; If this element is present without the bgFluor
element it should be ignored.
quantFluor
checkNumber. Quantification flourescence - The fluorescence value corresponding to the treshold line.
AsDataFrame(dp.type = "adp")
Represents amplification (
dp.type = "adp"
) or melting (dp.type = "mdp"
) data
points as data.frame
RDML::rdmlBaseType
-> dataType
new()
dataType$new( tar, cq = NULL, excl = NULL, adp = NULL, mdp = NULL, endPt = NULL, bgFluor = NULL, bgFluorSlp = NULL, quantFluor = NULL )
GetFData()
dataType$GetFData(dp.type = "adp")
clone()
The objects of this class are cloneable with this method.
dataType$clone(deep = FALSE)
deep
Whether to make a deep clone.
These elements should be used if the same description applies to many samples, targets or experiments. Inherits: rdmlBaseType.
An R6Class
generator object.
documentationType$new(id, text = NULL)
@section Fields:
id
idType. Identificator.
text
checkString. Text.
RDML::rdmlBaseType
-> documentationType
new()
documentationType$new(id, text = NULL)
clone()
The objects of this class are cloneable with this method.
documentationType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Detailed information about the dye. Inherits: rdmlBaseType.
An R6Class
generator object.
dyeType$new(id, description = NULL)
@section Fields:
id
idType. Identificator.
description
checkString. Description.
RDML::rdmlBaseType
-> dyeType
new()
dyeType$new(id, description = NULL)
clone()
The objects of this class are cloneable with this method.
dyeType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Generic class for creating objects thet can take limited list of values.
Inherits: rdmlBaseType.
An R6Class
generator object.
enumType$new(value)
@section Fields:
value
checkString. Value.
RDML::rdmlBaseType
-> enumType
new()
enumType$new(value)
print()
enumType$print(...)
.asXMLnodes()
enumType$.asXMLnodes(node.name)
clone()
The objects of this class are cloneable with this method.
enumType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Contact details of the experimenter. Inherits: rdmlBaseType.
An R6Class
generator object.
experimenterType$new(id, firstName, lastName, email = NULL, labName = NULL, labAddress = NULL)
@section Fields:
id
idType. Identificator.
firstName
checkString. First name.
lastName
checkString. Last name.
email
checkString. Email.
labName
checkString. Lab name.
labAddress
checkString. Lab address.
RDML::rdmlBaseType
-> experimenterType
new()
experimenterType$new( id, firstName, lastName, email = NULL, labName = NULL, labAddress = NULL )
clone()
The objects of this class are cloneable with this method.
experimenterType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A qPCR experiment. It may contain several runs (runType). Inherits: rdmlBaseType.
An R6Class
generator object.
experimentType$new(id, description = NULL, documentation = NULL, run = NULL)
@section Fields:
id
description
documentation
list
of idReferencesType.
run
list
of runType.
AsDataFrame(dp.type = "adp",
long.table = FALSE)
Represents amplification (dp.type = "adp"
) or
melting (dp.type = "mdp"
) data points as data.frame
.
long.table = TRUE
means that fluorescence data for all runs and
reacts will be at one collumn.
RDML::rdmlBaseType
-> experimentType
new()
experimentType$new(id, description = NULL, documentation = NULL, run = NULL)
GetFData()
experimentType$GetFData(dp.type = "adp", long.table = FALSE)
clone()
The objects of this class are cloneable with this method.
experimentType$clone(deep = FALSE)
deep
Whether to make a deep clone.
RDML$GetFData()
wrapperRead more at RDML.GetFData
GetFData(obj, ...)
GetFData(obj, ...)
obj |
|
... |
|
Details of the temperature gradient across the PCR block. Inherits: baseTemperatureType.
An R6Class
generator object.
gradientType$new(highTemperature, lowTemperature, ...)
highTemperature
checkNumber. The highest temperature of the gradient in degrees Celsius.
lowTemperature
checkNumber. The lowest temperature of the gradient in degrees Celsius.
...
Params of parent class baseTemperatureType.
RDML::rdmlBaseType
-> RDML::baseTemperatureType
-> gradientType
new()
gradientType$new(highTemperature, lowTemperature, ...)
clone()
The objects of this class are cloneable with this method.
gradientType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Contains id of another RDML object. Inherits: idType.
An R6Class
generator object.
idReferencesType$new(id)
id
checkString. Identificator.
RDML::rdmlBaseType
-> RDML::idType
-> idReferencesType
clone()
The objects of this class are cloneable with this method.
idReferencesType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Contains identificator for varius RDML types. Inherits: rdmlBaseType.
An R6Class
generator object.
idType$new(id)
@section Fields:
id
checkString. Identificator.
RDML::rdmlBaseType
-> idType
new()
idType$new(id)
.asXMLnodes()
idType$.asXMLnodes(node.name)
clone()
The objects of this class are cloneable with this method.
idType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Label used for pcrFormatType. Can take values:
Inherits: enumType.
An R6Class
generator object.
labelFormatType$new(value)
@section Fields:
value
RDML::rdmlBaseType
-> RDML::enumType
-> labelFormatType
clone()
The objects of this class are cloneable with this method.
labelFormatType$clone(deep = FALSE)
deep
Whether to make a deep clone.
This step waits for the user to open the lid and continues afterwards. It allows to stop the program and to wait for the user to add for example enzymes and continue the program afterwards. The temperature of the previous step is maintained. Inherits: rdmlBaseType.
An R6Class
generator object.
lidOpenType$new()
RDML::rdmlBaseType
-> lidOpenType
new()
lidOpenType$new()
clone()
The objects of this class are cloneable with this method.
lidOpenType$clone(deep = FALSE)
deep
Whether to make a deep clone.
This step allows to form a loop or to exclude some steps. It allows to jump to a certain "goto" step for "repeat" times. If the "goto" step is outside of the loop range, it must have "repeat" value "0". Inherits: rdmlBaseType.
An R6Class
generator object.
loopType$new(goto, repeat.n)
goto
assertCount. The step to go to to form the loop.
repeat.n
assertCount. Determines how many times the loop is repeated. The first run through the loop is counted as 0, the last loop is "repeat" - 1.
RDML::rdmlBaseType
-> loopType
new()
loopType$new(goto, repeat.n)
clone()
The objects of this class are cloneable with this method.
loopType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Contains matrix
of melting data points (single data points measured
during amplification).
An R6Class
generator object.
Columns:
(temperature in degrees Celsius at the time of measurement. Every point must have unique value.
fluorescence intensity measured without any correction (including baselining).
Inherits: rdmlBaseType.
mdpsType$new(fpoints)
@section Fields:
fpoints
assertMatrix. Matrix with amplification data points.
RDML::rdmlBaseType
-> mdpsType
new()
mdpsType$new(fpoints)
.asXMLnodes()
mdpsType$.asXMLnodes(node.name)
clone()
The objects of this class are cloneable with this method.
mdpsType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Can take values:
Inherits: enumType.
An R6Class
generator object.
measureType$new(value)
@section Fields:
value
RDML::rdmlBaseType
-> RDML::enumType
-> measureType
clone()
The objects of this class are cloneable with this method.
measureType$clone(deep = FALSE)
deep
Whether to make a deep clone.
RDML
objectsMerges list of RDML
objects. The first object in the list becomes base object.
If experiments
or runs
have same name they will be combined.
Reacts with same id
, experiment
and run
overwrite each other!
MergeRDMLs(to.merge)
MergeRDMLs(to.merge)
to.merge |
|
## Not run: PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) filename <- paste(PATH, "/extdata/", "stepone_std.rdml", sep ="") stepone <- RDML$new(filename) merged <- MergeRDMLs(list(lc96,stepone)) merged$AsDendrogram() ## End(Not run)
## Not run: PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) filename <- paste(PATH, "/extdata/", "stepone_std.rdml", sep ="") stepone <- RDML$new(filename) merged <- MergeRDMLs(list(lc96,stepone)) merged$AsDendrogram() ## End(Not run)
RDML
class objectThis function has been designed to import data from RDML v1.1 and v1.2 format
files or from xls
file generated by Applied Biosystems 7500. To
import from xls
this file have to contain Sample Setup
and
Multicomponent Data
sheets!
filename |
|
show.progress |
|
conditions.sep |
separator for condition defined at sample name |
format |
|
File format options:
Tries to detect format by
extension. .xlsx
– excel
, .xls
– abi
,
.csv
– csv
, other – rdml
Reads .xls
files generated by ABI 7500 v.2. To create such files use File>Export;
check 'Sample Setup' and 'Multicomponent Data'; select 'One File'
.xls
or .xslx
file with sheets 'description',
'adp', 'mdp'. See example file table.xlsx
.csv
file
with first column 'cyc' or 'tmp' and fluorescence data in other columns
.rdml
or .lc96p
files
Although the format RDML claimed as data exchange format, the specific implementation of the format at devices from real manufacturers differ significantly. Currently this function is checked against RDML data from devices: Bio-Rad CFX96, Roche LightCycler 96 and Applied Biosystems StepOne.
Konstantin A. Blagodatskikh <[email protected]>, Stefan Roediger <[email protected]>, Michal Burdukiewicz <[email protected]>
## Not run: ## Import from RDML file PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) ## Some kind of overview for lc96 lc96$AsTable(name.pattern = sample[[react$sample$id]]$description) lc96$AsDendrogram() ## End(Not run)
## Not run: ## Import from RDML file PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) ## Some kind of overview for lc96 lc96$AsTable(name.pattern = sample[[react$sample$id]]$description) lc96$AsDendrogram() ## End(Not run)
Type of nucleic acid used as a template in the experiment. May have following values:
An R6Class
generator object.
Inherits: enumType.
nucleotideType$new(value)
@section Fields:
value
checkString. Value.
RDML::rdmlBaseType
-> RDML::enumType
-> nucleotideType
clone()
The objects of this class are cloneable with this method.
nucleotideType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Inherits: rdmlBaseType.
An R6Class
generator object.
oligoType$new(threePrimeTag = NULL, fivePrimeTag = NULL, sequence)
@section Fields:
threePrimeTag
checkString. Description of three prime modification (if present).
fivePrimeTag
checkString. Description of five prime modification (if present).
sequence
RDML::rdmlBaseType
-> oligoType
new()
oligoType$new(threePrimeTag = NULL, fivePrimeTag = NULL, sequence)
clone()
The objects of this class are cloneable with this method.
oligoType$clone(deep = FALSE)
deep
Whether to make a deep clone.
This step allows to pause at a certain temperature. It is typically the last step in an amplification protocol. Inherits: rdmlBaseType.
An R6Class
generator object.
pauseType$new(temperature)
temperature
checkNumber. The temperature in degrees Celsius maintained during the pause.
RDML::rdmlBaseType
-> pauseType
new()
pauseType$new(temperature)
clone()
The objects of this class are cloneable with this method.
pauseType$clone(deep = FALSE)
deep
Whether to make a deep clone.
The display format of the PCR, analogous to the the qPCR instrument run format. Inherits: rdmlBaseType.
An R6Class
generator object.
Rotor formats always have 1 column; rows correspond to the number of places in the rotor. Values for common formats are:
Format | rows | columns | rowLabel | columnLabel |
single-well | 1 | 1 | 123 | 123 |
48-well plate | 6 | 8 | ABC | 123 |
96-well plate | 8 | 12 | ABC | 123 |
384-well plate | 16 | 24 | ABC | 123 |
1536-well plate | 32 | 48 | ABC | 123 |
3072-well array | 32 | 96 | A1a1 | A1a1 |
5184-well chip | 72 | 72 | ABC | 123 |
32-well rotor | 32 | 1 | 123 | 123 |
72-well rotor | 72 | 1 | 123 | 123 |
100-well rotor | 100 | 1 | 123 | 123 |
free format | -1 | 1 | 123 | 123 |
If rows field has value -1, the function will not try to reconstruct a plate and just display all run data in a single column. If the columns field has value 1 then the function will not display a column label.
pcrFormatType$new(rows, columns, rowLabel, columnLabel)
@section Fields:
rows
columns
rowLabel
columnLabel
RDML::rdmlBaseType
-> pcrFormatType
new()
pcrFormatType$new(rows, columns, rowLabel, columnLabel)
clone()
The objects of this class are cloneable with this method.
pcrFormatType$clone(deep = FALSE)
deep
Whether to make a deep clone.
The primers used in the reverse transcription. Can take values:
An R6Class
generator object.
Inherits: enumType.
primingMethodType$new(value)
@section Fields:
value
checkString. Value.
RDML::rdmlBaseType
-> RDML::enumType
-> primingMethodType
clone()
The objects of this class are cloneable with this method.
primingMethodType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A quantity is always defined by its value and its unit. Inherits: rdmlBaseType.
An R6Class
generator object.
quantityType$new(value, unit)
@section Fields:
value
checkNumber. Value.
unit
quantityUnitType. Unit.
RDML::rdmlBaseType
-> quantityType
new()
quantityType$new(value, unit)
clone()
The objects of this class are cloneable with this method.
quantityType$clone(deep = FALSE)
deep
Whether to make a deep clone.
The unit the quantity. Can take values:
copies per microliter
fold change
dilution (10 would mean 1:10 dilution)
nanomol per microliter
nanogram per microliter
other unit (must be linear, no exponents or logarithms allowed)
An R6Class
generator object.
Inherits: enumType.
quantityUnitType$new(value)
@section Fields:
value
checkString. Value.
RDML::rdmlBaseType
-> RDML::enumType
-> quantityUnitType
clone()
The objects of this class are cloneable with this method.
quantityUnitType$clone(deep = FALSE)
deep
Whether to make a deep clone.
RDML
– contains methods to read and overview fluorescence
data from RDML v1.1 and v1.2 format filesThis class is a container for RDML format data (Lefever et al.
2009). The data may be further transformed to the appropriate format of the
qpcR
(Ritz et al. 2008, Spiess et al. 2008) and chipPCR
(Roediger et al. 2015) packages (see RDML.new for import details).
Real-time PCR Data Markup Language (RDML) is the recommended file format
element in the Minimum Information for Publication of Quantitative Real-Time
PCR Experiments (MIQE) guidelines (Bustin et al. 2009). The inner structure of
imported data faithfully reflects the structure of RDML file v1.2. All data with
the exception for fluorescence values can be represented as data.frame
by
method AsTable
. Such possibility of data representation streamlines
sample filtering (by targets, types, etc.) and serves as request for GetFData
method, which extracts fluorescence data for specified samples.
An R6Class
generator object.
Type, structure of data and description of fields can be viewed at RDML v1.2 file description. Names of fields are first level of XML tree.
creates a new instance of RDML
class object (see RDML.new)
represent RDML data as data.frame
(see RDML.AsTable)
gets fluorescence data (see RDML.GetFData)
sets fluorescence data (see RDML.SetFData)
merges two RDML
to one (see MergeRDMLs)
represents structure of RDML
object as dendrogram(see
RDML.AsDendrogram)
RDML::rdmlBaseType
-> RDML
AsDendrogram()
RDML$AsDendrogram(plot.dendrogram = TRUE)
AsTable()
RDML$AsTable( .default = list(exp.id = experiment$id$id, run.id = run$id$id, react.id = react$id$id, position = react$position, sample = react$sample$id, target = data$tar$id, target.dyeId = target[[data$tar$id]]$dyeId$id, sample.type = sample[[react$sample$id]]$type$value, adp = !is.null(data$adp), mdp = !is.null(data$mdp)), name.pattern = paste(react$position, react$sample$id, private$.sample[[react$sample$id]]$type$value, data$tar$id, sep = "_"), add.columns = list(), treat.null.as.na = FALSE, ... )
GetFData()
RDML$GetFData(request, dp.type = "adp", long.table = FALSE)
AsXML()
RDML$AsXML(file.name)
SetFData()
RDML$SetFData(fdata, description, fdata.type = "adp")
new()
RDML$new( filename, show.progress = TRUE, conditions.sep = NULL, cluster = NULL, format = "auto" )
clone()
The objects of this class are cloneable with this method.
RDML$clone(deep = FALSE)
deep
Whether to make a deep clone.
Konstantin A. Blagodatskikh <[email protected]>, Stefan Roediger <[email protected]>, Michal Burdukiewicz <[email protected]>
RDML format http://www.rdml.org/ R6
package
http://cran.r-project.org/web/packages/R6/index.html
qpcR
package http://cran.r-project.org/web/packages/qpcR/index.html
chipPCR
package:
http://cran.r-project.org/web/packages/chipPCR/index.html
Roediger S, Burdukiewicz M and Schierack P (2015). chipPCR: an R Package to Pre-Process Raw Data of Amplification Curves. Bioinformatics first published online April 24, 2015 doi:10.1093/bioinformatics/btv205
Ritz, C., Spiess, A.-N., 2008. qpcR: an R package for sigmoidal model selection in quantitative real-time polymerase chain reaction analysis. Bioinformatics 24, 1549–1551. doi:10.1093/bioinformatics/btn227
Spiess, A.-N., Feig, C., Ritz, C., 2008. Highly accurate sigmoidal fitting of real-time PCR data by introducing a parameter for asymmetry. BMC Bioinformatics 9, 221. doi:10.1186/1471-2105-9-221
Bustin, S.A., Benes, V., Garson, J.A., Hellemans, J., Huggett, J., Kubista, M., Mueller, R., Nolan, T., Pfaffl, M.W., Shipley, G.L., Vandesompele, J., Wittwer, C.T., 2009. The MIQE guidelines: minimum information for publication of quantitative real-time PCR experiments. Clin. Chem. 55, 611–622. doi:10.1373/clinchem.2008.112797
Lefever, S., Hellemans, J., Pattyn, F., Przybylski, D.R., Taylor, C., Geurts, R., Untergasser, A., Vandesompele, J., RDML consortium, 2009. RDML: structured language and reporting guidelines for real-time quantitative PCR data. Nucleic Acids Res. 37, 2065–2069. doi:10.1093/nar/gkp056
## EXAMPLE 1: ## internal dataset lc96_bACTXY.rdml (in 'data' directory) ## generated by Roche LightCycler 96. Contains qPCR data ## with four targets and two types. ## Import with default settings. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) tab <- lc96$AsTable(name.pattern = paste(sample[[react$sample$id]]$description, react$id$id), quantity = sample[[react$sample$id]]$quantity$value) ## Show dyes names unique(tab$target.dyeId) ## Show types of the samples for dye 'FAM' library(dplyr) unique(filter(tab, target.dyeId == "FAM")$sample.type) ## Show template quantities for dye 'FAM' type 'std'#' ## Not run: COPIES <- filter(tab, target.dyeId == "FAM", sample.type == "std")$quantity ## Define calibration curves (type of the samples - 'std'). ## No replicates. library(qpcR) CAL <- modlist(lc96$GetFData(filter(tab, target.dyeId == "FAM", sample.type == "std")), baseline="lin", basecyc=8:15) ## Define samples to predict (first two samples with the type - 'unkn'). PRED <- modlist(lc96$GetFData(filter(tab, target.dyeId == "FAM", sample.type == "unkn")), baseline="lin", basecyc=8:15) ## Conduct quantification. calib(refcurve = CAL, predcurve = PRED, thresh = "cpD2", dil = COPIES) ## End(Not run) ## Not run: ## EXAMPLE 2: ## internal dataset lc96_bACTXY.rdml (in 'data' directory) ## generated by Roche LightCycler 96. Contains qPCR data ## with four targets and two types. ## Import with default settings. library(chipPCR) PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) tab <- lc96$AsTable(name.pattern = paste(sample[[react$sample$id]]$description, react$id$id), quantity = sample[[react$sample$id]]$quantity$value) ## Show targets names unique(tab$target) ## Fetch cycle dependent fluorescence for HEX chanel tmp <- lc96$GetFData(filter(tab, target == "bACT", sample.type == "std")) ## Fetch vector of dillutions dilution <- filter(tab, target.dyeId == "FAM", sample.type == "std")$quantity ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves tmp <- as.data.frame(tmp) plotCurves(tmp[,1], tmp[,-1]) par(mfrow = c(1,1)) ## Use inder function from the chipPCR package to ## calculate the Cq (second derivative maximum, SDM) SDMout <- sapply(2L:ncol(tmp), function(i) { SDM <- summary(inder(tmp[, 1], tmp[, i]), print = FALSE)[2] }) ## Use the effcalc function from the chipPCR package and ## plot the results for the calculation of the amplification ## efficiency analysis. plot(effcalc(dilution, SDMout), CI = TRUE) ## End(Not run) ## Not run: ## EXAMPLE 3: ## internal dataset BioRad_qPCR_melt.rdml (in 'data' directory) ## generated by Bio-Rad CFX96. Contains qPCR and melting data. ## Import with custom name pattern. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves library(chipPCR) ## Extract all qPCR data tab <- cfx96$AsTable() cfx96.qPCR <- as.data.frame(cfx96$GetFData(tab)) plotCurves(cfx96.qPCR[,1], cfx96.qPCR[,-1], type = "l") ## Extract all melting data cfx96.melt <- cfx96$GetFData(tab, dp.type = "mdp") ## Show some generated names for samples. colnames(cfx96.melt)[2L:5] ## Select columns that contain ## samples with dye 'EvaGreen' and have type 'pos' ## using filtering by names. cols <- cfx96$GetFData(filter(tab, grepl("pos_EvaGreen$", fdata.name)), dp.type = "mdp") ## Conduct melting curve analysis. library(qpcR) invisible(meltcurve(cols, fluos = 2:ncol(cols), temps = rep(1, ncol(cols) - 1))) ## End(Not run)
## EXAMPLE 1: ## internal dataset lc96_bACTXY.rdml (in 'data' directory) ## generated by Roche LightCycler 96. Contains qPCR data ## with four targets and two types. ## Import with default settings. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) tab <- lc96$AsTable(name.pattern = paste(sample[[react$sample$id]]$description, react$id$id), quantity = sample[[react$sample$id]]$quantity$value) ## Show dyes names unique(tab$target.dyeId) ## Show types of the samples for dye 'FAM' library(dplyr) unique(filter(tab, target.dyeId == "FAM")$sample.type) ## Show template quantities for dye 'FAM' type 'std'#' ## Not run: COPIES <- filter(tab, target.dyeId == "FAM", sample.type == "std")$quantity ## Define calibration curves (type of the samples - 'std'). ## No replicates. library(qpcR) CAL <- modlist(lc96$GetFData(filter(tab, target.dyeId == "FAM", sample.type == "std")), baseline="lin", basecyc=8:15) ## Define samples to predict (first two samples with the type - 'unkn'). PRED <- modlist(lc96$GetFData(filter(tab, target.dyeId == "FAM", sample.type == "unkn")), baseline="lin", basecyc=8:15) ## Conduct quantification. calib(refcurve = CAL, predcurve = PRED, thresh = "cpD2", dil = COPIES) ## End(Not run) ## Not run: ## EXAMPLE 2: ## internal dataset lc96_bACTXY.rdml (in 'data' directory) ## generated by Roche LightCycler 96. Contains qPCR data ## with four targets and two types. ## Import with default settings. library(chipPCR) PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "lc96_bACTXY.rdml", sep ="") lc96 <- RDML$new(filename) tab <- lc96$AsTable(name.pattern = paste(sample[[react$sample$id]]$description, react$id$id), quantity = sample[[react$sample$id]]$quantity$value) ## Show targets names unique(tab$target) ## Fetch cycle dependent fluorescence for HEX chanel tmp <- lc96$GetFData(filter(tab, target == "bACT", sample.type == "std")) ## Fetch vector of dillutions dilution <- filter(tab, target.dyeId == "FAM", sample.type == "std")$quantity ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves tmp <- as.data.frame(tmp) plotCurves(tmp[,1], tmp[,-1]) par(mfrow = c(1,1)) ## Use inder function from the chipPCR package to ## calculate the Cq (second derivative maximum, SDM) SDMout <- sapply(2L:ncol(tmp), function(i) { SDM <- summary(inder(tmp[, 1], tmp[, i]), print = FALSE)[2] }) ## Use the effcalc function from the chipPCR package and ## plot the results for the calculation of the amplification ## efficiency analysis. plot(effcalc(dilution, SDMout), CI = TRUE) ## End(Not run) ## Not run: ## EXAMPLE 3: ## internal dataset BioRad_qPCR_melt.rdml (in 'data' directory) ## generated by Bio-Rad CFX96. Contains qPCR and melting data. ## Import with custom name pattern. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves library(chipPCR) ## Extract all qPCR data tab <- cfx96$AsTable() cfx96.qPCR <- as.data.frame(cfx96$GetFData(tab)) plotCurves(cfx96.qPCR[,1], cfx96.qPCR[,-1], type = "l") ## Extract all melting data cfx96.melt <- cfx96$GetFData(tab, dp.type = "mdp") ## Show some generated names for samples. colnames(cfx96.melt)[2L:5] ## Select columns that contain ## samples with dye 'EvaGreen' and have type 'pos' ## using filtering by names. cols <- cfx96$GetFData(filter(tab, grepl("pos_EvaGreen$", fdata.name)), dp.type = "mdp") ## Conduct melting curve analysis. library(qpcR) invisible(meltcurve(cols, fluos = 2:ncol(cols), temps = rep(1, ncol(cols) - 1))) ## End(Not run)
RDML
file as dendrogramPlots and/or returns the structure of RDML
file as
dendrogram
(tree-like structure.)
plot.dendrogram |
plots dendrogram if |
dendrogram
object
Konstantin A. Blagodatskikh <[email protected]>, Stefan Roediger <[email protected]>, Michal Burdukiewicz <[email protected]>
## Not run: PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) #plot dendrogram cfx96$AsDendrogram() #assign dendrogram to the object dendr <- cfx96$AsDendrogram(plot.dendrogram = FALSE) ## End(Not run)
## Not run: PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) #plot dendrogram cfx96$AsDendrogram() #assign dendrogram to the object dendr <- cfx96$AsDendrogram(plot.dendrogram = FALSE) ## End(Not run)
RDML
object as data.frame
Formats particular fields of RDML
object as data.frame
s,
filters or passes them to RDML.GetFData
and RDML.SetFData
functions.
.default |
|
name.pattern |
expression to form |
add.columns |
|
treat.null.as.na |
if value is |
... |
additional columns |
By default input this function forms data.frame
with following columns:
experiment$id
run$id
react$id
react$position
react$sample
data$tar$id
target[[data$id]]$dyeId
sample[[react$sample]]$type
You can overload default
columns list by parameter .default
but note that columns
exp.id, run.id, react.id, target
are necessary for usage
AsTable
output as
input for GetFData
and SetFData
.
Additional columns can be
introduced by specifying them at input parameter ...
(see Examples).
All default and additional columns accession expressions must be named.
Experiment, run, react and data to which belongs each fluorescence data vector
can be accessed by experiment, run, react, data
(see Examples).
Result table does not contain data from experiments with ids starting with '.'!
Konstantin A. Blagodatskikh <[email protected]>, Stefan Roediger <[email protected]>, Michal Burdukiewicz <[email protected]>
## Not run: ## internal dataset stepone_std.rdml (in 'data' directory) ## generated by Applied Biosystems Step-One. Contains qPCR data. library(chipPCR) PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "stepone_std.rdml", sep ="") stepone <- RDML$new(filename) ## Mark fluorescense data which Cq > 30 and add quantities to ## AsTable output. ## Names for fluorescense data will contain sample name and react ## positions tab <- stepone$AsTable( name.pattern = paste(react$sample$id, react$position), add.columns = list(cq30 = if(data$cq >= 30) ">=30" else "<30", quantity = sample[[react$sample$id]]$quantity$value) ) ## Show cq30 and quantities tab[, c("cq30", "quantity")] ## Get fluorescence values for 'std' type samples ## in format ready for ggplot function library(dplyr) fdata <- stepone$GetFData( filter(tab, sample.type == "std"), long.table = TRUE) ## Plot fdata with colour by cq30 and shape by quantity library(ggplot2) ggplot(fdata, aes(x = cyc, y = fluor, group = fdata.name, colour = cq30, shape = as.factor(quantity))) + geom_line() + geom_point() ## End(Not run)
## Not run: ## internal dataset stepone_std.rdml (in 'data' directory) ## generated by Applied Biosystems Step-One. Contains qPCR data. library(chipPCR) PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "stepone_std.rdml", sep ="") stepone <- RDML$new(filename) ## Mark fluorescense data which Cq > 30 and add quantities to ## AsTable output. ## Names for fluorescense data will contain sample name and react ## positions tab <- stepone$AsTable( name.pattern = paste(react$sample$id, react$position), add.columns = list(cq30 = if(data$cq >= 30) ">=30" else "<30", quantity = sample[[react$sample$id]]$quantity$value) ) ## Show cq30 and quantities tab[, c("cq30", "quantity")] ## Get fluorescence values for 'std' type samples ## in format ready for ggplot function library(dplyr) fdata <- stepone$GetFData( filter(tab, sample.type == "std"), long.table = TRUE) ## Plot fdata with colour by cq30 and shape by quantity library(ggplot2) ggplot(fdata, aes(x = cyc, y = fluor, group = fdata.name, colour = cq30, shape = as.factor(quantity))) + geom_line() + geom_point() ## End(Not run)
RDML
objectGets fluorescence data vectors from RDML
object for specified method
of experiment.
request |
Output from AsTable method(RDML.AsTable) |
dp.type |
Type of fluorescence data (i.e. 'adp' for qPCR or 'mdp' for melting) |
long.table |
Output table is ready for ggplot (See RDML.AsTable for example) |
matrix
which contains selected fluorescence data and
additional information fromm request if long.table = TRUE
.
Konstantin A. Blagodatskikh <[email protected]>, Stefan Roediger <[email protected]>, Michal Burdukiewicz <[email protected]>
## Not run: ## internal dataset BioRad_qPCR_melt.rdml (in 'data' directory) ## generated by Bio-Rad CFX96. Contains qPCR and melting data. ## Import without splitting by targets/types and with ## custom name pattern. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) ## Select melting fluorescence data with sample.type 'unkn'. library(dplyr) tab <- cfx96$AsTable() fdata <- cfx96$GetFData(filter(tab, sample.type == "unkn"), dp.type = "adp") ## Show names for obtained fdata colnames(fdata) ## End(Not run)
## Not run: ## internal dataset BioRad_qPCR_melt.rdml (in 'data' directory) ## generated by Bio-Rad CFX96. Contains qPCR and melting data. ## Import without splitting by targets/types and with ## custom name pattern. PATH <- path.package("RDML") filename <- paste(PATH, "/extdata/", "BioRad_qPCR_melt.rdml", sep ="") cfx96 <- RDML$new(filename) ## Select melting fluorescence data with sample.type 'unkn'. library(dplyr) tab <- cfx96$AsTable() fdata <- cfx96$GetFData(filter(tab, sample.type == "unkn"), dp.type = "adp") ## Show names for obtained fdata colnames(fdata) ## End(Not run)
RDML
objectSets fluorescence data vectors to RDML
object for specified method
of experiment.
data |
|
description |
output from |
fdata.type |
'adp' for qPCR, 'mdp' for melting data. |
## Not run: PATH <- path.package("RDML") filename <- paste0(PATH, "/extdata/", "stepone_std.rdml") cfx96 <- RDML$new(filename) ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves library(chipPCR) ## Extract all qPCR data tab <- cfx96$AsTable() tab2 <- tab tab2$run.id <- "cpp" cfx96.qPCR <- as.data.frame(cfx96$GetFData(tab)) cpp <- cbind(cyc = cfx96.qPCR[, 1], apply(cfx96.qPCR[, -1], 2, function(y) CPP(x = cfx96.qPCR[, 1], y = y)$y.norm)) cfx96$SetFData(cpp, tab2) library(ggplot2) library(gridExtra) cfx96.gg <- cfx96$GetFData(tab, long.table = TRUE) cpp.gg <- cfx96$GetFData(tab2, long.table = TRUE) plot1 <- ggplot(cfx96.gg, aes(x = cyc, y = fluor, group=fdata.name)) + geom_line() + ggtitle("Raw data") plot2 <- ggplot(cpp.gg, aes(x = cyc, y = fluor, group=fdata.name)) + geom_line() + ggtitle("CPP processed data") grid.arrange(plot1, plot2, nrow=2) ## End(Not run)
## Not run: PATH <- path.package("RDML") filename <- paste0(PATH, "/extdata/", "stepone_std.rdml") cfx96 <- RDML$new(filename) ## Use plotCurves function from the chipPCR package to ## get an overview of the amplification curves library(chipPCR) ## Extract all qPCR data tab <- cfx96$AsTable() tab2 <- tab tab2$run.id <- "cpp" cfx96.qPCR <- as.data.frame(cfx96$GetFData(tab)) cpp <- cbind(cyc = cfx96.qPCR[, 1], apply(cfx96.qPCR[, -1], 2, function(y) CPP(x = cfx96.qPCR[, 1], y = y)$y.norm)) cfx96$SetFData(cpp, tab2) library(ggplot2) library(gridExtra) cfx96.gg <- cfx96$GetFData(tab, long.table = TRUE) cpp.gg <- cfx96$GetFData(tab2, long.table = TRUE) plot1 <- ggplot(cfx96.gg, aes(x = cyc, y = fluor, group=fdata.name)) + geom_line() + ggtitle("Raw data") plot2 <- ggplot(cpp.gg, aes(x = cyc, y = fluor, group=fdata.name)) + geom_line() + ggtitle("CPP processed data") grid.arrange(plot1, plot2, nrow=2) ## End(Not run)
Most classes from RDML package inherit this class. It is designed for internal usage and should not be directly accessed.
An R6Class
generator object.
rdmlBaseType$new()
.asXMLnodes(node.name)
Represents
object as XML nodes. Should not be called directly. node.name
–
name of the root node for the generated XML
tree.
print(...)
prints object
.asXMLnodes()
rdmlBaseType$.asXMLnodes(node.name)
copy()
rdmlBaseType$copy()
print()
rdmlBaseType$print(...)
clone()
The objects of this class are cloneable with this method.
rdmlBaseType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Launches graphical user interface that can edit RDML metadata and show qPCR or melting curves.
rdmlEdit()
rdmlEdit()
This element can be used to assign a publisher and id to the RDML file.
Inherits: rdmlBaseType.
An R6Class
generator object.
rdmlIdType$new(publisher, serialNumber, MD5Hash = NULL)
publisher
checkString. RDML file publisher.
serialNumber
checkString. Serial number.
MD5Hash
checkString. An MD5Hash calculated over the complete file after removing all rdmlIDTypes and all whitespaces between elements.
RDML::rdmlBaseType
-> rdmlIdType
new()
rdmlIdType$new(publisher, serialNumber, MD5Hash = NULL)
clone()
The objects of this class are cloneable with this method.
rdmlIdType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Contains identificator for reactType. Inherits: rdmlBaseType.
An R6Class
generator object.
reactIdType$new(id)
@section Fields:
id
checkCount. Identificator.
RDML::rdmlBaseType
-> RDML::idType
-> reactIdType
new()
reactIdType$new(id)
clone()
The objects of this class are cloneable with this method.
reactIdType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A reaction is an independent chemical reaction corresponding for example to a well in a 96 well plate, a capillary in a rotor, a through-hole on an array, etc. Inherits: rdmlBaseType.
An R6Class
generator object.
The ID of this reaction
Schemas :
rotor : assign IDs according to the position of the sample on the rotor (1 for the 1st sample, 2 for the 2nd, ...)
plate (96/384/1536 well) : the IDs are assigned in a row-first/column-second manner. For each row, the samples are numbered according to the increasing column number. At the end of a row, the numbering starts at the first column of the next row. An example for this type of plate can be found below :
1 | 2 | 3 | ... | |
A | 1 | 2 | 3 | |
B | 13 | 14 | ||
... |
or
1 | 2 | 3 | ... | |
1 | 1 | 2 | 3 | |
2 | 13 | 14 | ||
... |
multi-array plate (BioTrove) : the IDs are assigned in a row-first/column-second manner, ignoring the organisation of sub-arrays. For each row, the samples are numbered according to the increasing column number. At the end of a row, the the next row. An example for this type of plate can be found below : todo...
reactType$new(id, sample, data = NULL, pcrFormat = pcrFormatType$new(8, 12, labelFormatType$new("123"), labelFormatType$new("ABC")))
@section Fields:
id
reactIdType. See 'Details'.
sample
idReferencesType. SampleID - A reference to a sample.
data
list
of dataType.
position
Human readable form of the react id
(i.e. '13' -> 'B1')..
AsDataFrame(dp.type =
"adp")
Represents amplification (dp.type = "adp"
) or melting
(dp.type = "mdp"
) data points of all targets as one
data.frame
.recalcPosition(pcrformat)
Converts react
id
to the human readable form (i.e. '13' -> 'B1'). This converted value can be
accessed by position
field. pcrFormat
is
pcrFormatType
. Currently, only 'ABC' and '123' are supported as
labels. For '123' '123' the Position
will look like 'r01c01', for
'ABC' '123' it will be 'A01' and for '123' 'ABC' it will be 01A. 'ABC' 'ABC'
is not currently supported. Note that 'ABC' will result in loss of
information if the experiment contains more than 26 rows!
RDML::rdmlBaseType
-> reactType
new()
reactType$new( id, sample, data = NULL, pcrFormat = pcrFormatType$new(8, 12, labelFormatType$new("ABC"), labelFormatType$new("123")) )
GetFData()
reactType$GetFData(dp.type = "adp", long.table = FALSE)
.recalcPosition()
reactType$.recalcPosition(pcrFormat)
clone()
The objects of this class are cloneable with this method.
reactType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A run is a set of reactions performed in one "run", for example one plate, one rotor, one array, one chip. Inherits: rdmlBaseType.
An R6Class
generator object.
runType$new(id, description = NULL, documentation = NULL, experimenter = NULL, instrument = NULL, dataCollectionSoftware = NULL, backgroundDeterminationMethod = NULL, cqDetectionMethod = NULL, thermalCyclingConditions = NULL, pcrFormat, runDate = NULL, react = NULL)
id
description
documentation
list
of idReferencesType.
experimenter
list
of idReferencesType.
instrument
checkString. Description of the instrument used to aquire the data.
dataCollectionSoftware
dataCollectionSoftwareType. Description of the software used to analyze/collect the data.
backgroundDeterminationMethod
checkString. Description of method used to determine the background.
cqDetectionMethod
cqDetectionMethodType. Description of method used to calculate the quantification cycle.
thermalCyclingConditions
idReferencesType. The program used to aquire the data.
pcrFormat
runDate
adpsType. Time stamp of data acquisition.
react
list
of adpsType.
AsDataFrame(dp.type = "adp")
Represents amplification
(dp.type = "adp"
) or melting (dp.type = "mdp"
) data
points as data.frame
RDML::rdmlBaseType
-> runType
new()
runType$new( id, description = NULL, documentation = NULL, experimenter = NULL, instrument = NULL, dataCollectionSoftware = NULL, backgroundDeterminationMethod = NULL, cqDetectionMethod = NULL, thermalCyclingConditions = NULL, pcrFormat, runDate = NULL, react = NULL )
GetFData()
runType$GetFData(dp.type = "adp", long.table = FALSE)
UpdateReactsPosition()
runType$UpdateReactsPosition()
clone()
The objects of this class are cloneable with this method.
runType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A sample is a template solution with defined concentation. Since dilutions of the same material differ in concentration, they are considered different samples. A technical replicate samples should contain the same name (reactions are performed on the same material), and biological replicates should contain different names (the template derived from the different biological replicates is are divergent). Serial dilutions in a standard curve must have different names (preferably stating their dillution). Inherits: rdmlBaseType.
An R6Class
generator object.
sampleType$new(id, description = NULL, documentation = NULL, xRef = NULL, annotation = NULL, type = sampleTypeType$new("unkn"), interRunCalibrator = FALSE, quantity = NULL, calibratorSample = FALSE, cdnaSynthesisMethod = NULL, templateQuantity = NULL)
@section Fields:
id
idType. Concentration of the template in nanogram per microliter in the final reaction mix.
description
documentation
list
of idReferencesType.
xRef
list
of xRefType.
annotation
list
of annotationType.
type
interRunCalibrator
checkFlag. TRUE
if this sample is used as inter run calibrator.
quantity
quantityType. Quantity - The reference quantity of this sample. It should be only used if the sample is part of a standard curve. The provided value will be used to quantify unknown samples in absolute quantification assays. Only the use of positive integers (like 1, 10, 100, 1000) and fractions (e.g. 1, 0.1, 0.01, 0.001) is acceptable. The use of exponents (1, 2, 3, 4 or -1, -2, -3, -4) if forbidden, because it will not be interpreted as 10E1, 10E2, 10E3, 10E4 or 10E-1, 10E-2, 10E-3, 10E-4.
calibratorSample
checkFlag. TRUE
if this
sample is used as calibrator sample.
cdnaSynthesisMethod
templateQuantity
RDML::rdmlBaseType
-> sampleType
new()
sampleType$new( id, description = NULL, documentation = NULL, xRef = NULL, annotation = NULL, type = sampleTypeType$new("unkn"), interRunCalibrator = FALSE, quantity = NULL, calibratorSample = FALSE, cdnaSynthesisMethod = NULL, templateQuantity = NULL )
clone()
The objects of this class are cloneable with this method.
sampleType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Can take values:
unknown sample
non template control
no amplification control
standard sample
no target present
minusRT
positive control
optical calibrator sample
An R6Class
generator object.
Inherits: enumType.
sampleTypeType$new(value)
@section Fields:
value
checkString. Value.
RDML::rdmlBaseType
-> RDML::enumType
-> sampleTypeType
clone()
The objects of this class are cloneable with this method.
sampleTypeType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Inherits: rdmlBaseType.
An R6Class
generator object.
sequencesType$new(forwardPrimer = NULL, reversePrimer = NULL, probe1 = NULL, probe2 = NULL, amplicon = NULL)
@section Fields:
forwardPrimer
reversePrimer
probe1
probe2
amplicon
RDML::rdmlBaseType
-> sequencesType
new()
sequencesType$new( forwardPrimer = NULL, reversePrimer = NULL, probe1 = NULL, probe2 = NULL, amplicon = NULL )
clone()
The objects of this class are cloneable with this method.
sequencesType$clone(deep = FALSE)
deep
Whether to make a deep clone.
RDML$SetFData()
wrapperRead more at RDML.SetFData
SetFData(obj, ...)
SetFData(obj, ...)
obj |
|
... |
|
Inherits: rdmlBaseType.
An R6Class
generator object.
stepType$new(nr, description = NULL, temperature = NULL, gradient = NULL, loop = NULL, pause = NULL, lidOpen = NULL)
nr
checkCount. The incremental number of the step. First step should have value 1. The increment between steps should be constant and equivalent to 1.
description
temperature
gradient
loop
pause
lidOpen
RDML::rdmlBaseType
-> stepType
new()
stepType$new( nr, description = NULL, temperature = NULL, gradient = NULL, loop = NULL, pause = NULL, lidOpen = NULL )
clone()
The objects of this class are cloneable with this method.
stepType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A target is a PCR reaction with defined set of primers. PCR reactions for the same gene with distinct primer sequences are considered different targets. Inherits: rdmlBaseType.
An R6Class
generator object.
targetType$new(id, description = NULL, documentation = NULL, xRef = NULL, type, amplificationEfficiencyMethod = NULL, amplificationEfficiency = NULL, amplificationEfficiencySE = NULL, detectionLimit = NULL, dyeId, sequences = NULL, commercialAssay = NULL)
id
description
documentation
list
of idReferencesType.
xRef
list
of xRefType.
type
amplificationEfficiencyMethod
amplificationEfficiency
amplificationEfficiencySE
detectionLimit
dyeId
sequences
commercialAssay
RDML::rdmlBaseType
-> targetType
new()
targetType$new( id, description = NULL, documentation = NULL, xRef = NULL, type, amplificationEfficiencyMethod = NULL, amplificationEfficiency = NULL, amplificationEfficiencySE = NULL, detectionLimit = NULL, dyeId, sequences = NULL, commercialAssay = NULL )
clone()
The objects of this class are cloneable with this method.
targetType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Can take values:
reference target
target of interest
Inherits: enumType.
An R6Class
generator object.
targetTypeType$new(value)
@section Fields:
value
RDML::rdmlBaseType
-> RDML::enumType
-> targetTypeType
clone()
The objects of this class are cloneable with this method.
targetTypeType$clone(deep = FALSE)
deep
Whether to make a deep clone.
This step keeps a constant temperature on the heat block. Inherits: baseTemperatureType.
An R6Class
generator object.
temperatureType$new(temperature, ...)
temperature
checkNumber. The temperature of the step in degrees Celsius.
...
Params of parent class baseTemperatureType.
RDML::rdmlBaseType
-> RDML::baseTemperatureType
-> temperatureType
new()
temperatureType$new(temperature, ...)
clone()
The objects of this class are cloneable with this method.
temperatureType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Inherits: rdmlBaseType.
An R6Class
generator object.
templateQuantityType$new(conc, nucleotide)
@section Fields:
conc
checkNumber. Concentration of the template in nanogram
per microliter in the final reaction mix.
nucleotide
RDML::rdmlBaseType
-> templateQuantityType
new()
templateQuantityType$new(conc, nucleotide)
clone()
The objects of this class are cloneable with this method.
templateQuantityType$clone(deep = FALSE)
deep
Whether to make a deep clone.
A cycling program for PCR or to amplify cDNA. Inherits: rdmlBaseType.
An R6Class
generator object.
thermalCyclingConditionsType$new(id, description = NULL, documentation = NULL, lidTemperature = NULL, experimenter = NULL, step)
id
description
documentation
list
of idReferencesType.
lidTemperature
checkNumber. The temperature in degrees Celsius of the lid during cycling.
experimenter
list
of idReferencesType.
Reference to the person who made or uses this protocol.
step
list
of stepType. The steps a protocol
runs through to amplify DNA.
RDML::rdmlBaseType
-> thermalCyclingConditionsType
new()
thermalCyclingConditionsType$new( id, description = NULL, documentation = NULL, lidTemperature = NULL, experimenter = NULL, step )
clone()
The objects of this class are cloneable with this method.
thermalCyclingConditionsType$clone(deep = FALSE)
deep
Whether to make a deep clone.
Inherits: rdmlBaseType.
An R6Class
generator object.
xRefType$new(name = NULL, id = NULL)
@section Fields:
name
checkString. Reference to an external database,
for example "GenBank".
id
checkString. The ID of the entry within the external database, for example "AJ832138".
RDML::rdmlBaseType
-> xRefType
new()
xRefType$new(name = NULL, id = NULL)
clone()
The objects of this class are cloneable with this method.
xRefType$clone(deep = FALSE)
deep
Whether to make a deep clone.