Calculates per-experiment Z'-factor of data stored in a
The Z'-factor is a measure that quantifies the separation between the distribution of positive and negative controls.
1 2 3 4 5
a logical, if
a logical, if
(optional) a list or vector of regular expressions specifying the name of the positive controls. See details.
(optional) a vector of regular expressions specifying the name of the negative controls. See details.
x should be an already configured
cellHTS object (
state(x)["configured"]=TRUE), so that the information about the well annotation of the plates is available.
The per-experiment Z'-factor values are calculated for the data stored in slot
robust=TRUE (default), the Z'-factor is calculated using robust estimates of location (median) and spread (mad).
negControls should be given as a vector of regular expression patterns specifying the name of the positive(s) and negative(s) controls, respectivey, as provided in the plate configuration file
(and accessed via
wellAnno(x)). The length of these vectors should be equal to the current number of channels in
By default, if
posControls is not given,
pos will be taken as the name for the wells containing positive controls. Similarly, if
negControls is missing, by default
neg will be considered as the name used to annotated the negative controls.
The content of
negControls will be
regexpr for pattern matching
within the well annotation given in
examples). If no controls are available for a given channel, use
NA for that channel. For example,
posControls = c("", "(?i)^diap$") means that channel 1 has no
positive controls, while
diap is the positive control for channel 2.
negControls are particularly useful in multi-channel data since the controls might be reporter-specific, or after normalizing multi-channel data.
If there are different positive controls, the Z'-factor is calculated between each of the positive controls and the negative controls.
In the case of a two-way assay, where two types of "positive" controls are used in the screen ("activators" and "inhibitors"),
posControls should be defined as a list with two components (called
inh), each of which should be vectors of regular expressions of the same length as the current number of reporters (as explained above).
The Z'-factor values are calculated between each type of positive control (
inhibitors) and the negative controls.
The function generates a list with the per-experiment Z'-factor values in each channel and each replicate.
Each element of this list is a matrix with dimensions
nrReplicates x nrChannels, and is named by the positive controls. In the case of a two-way assay, these elements are called
inhibitors, while for a one-way assay, the elements have the same name of the positive controls. See examples section.
Ligia P. Bras [email protected]
Zhang, J.H., Chung, T.D. and Oldenburg, K.R. (1999) A simple statistical parameter for use in evaluation and validation of high throughput screening assays, J. Biomol. Screen. 4(2), 67–73.
1 2 3 4 5 6 7 8 9 10
data(KcViabSmall) ## pCtrls <- c("pos") ## nCtrls <- c("neg") ## or for safety reasons (not a problem for the current well annotation, however) pCtrls <- c("^pos$") nCtrls <- c("^neg$") zf <- getZfactor(KcViabSmall, robust=TRUE, posControls=pCtrls, negControls=nCtrls) x <- normalizePlates(KcViabSmall, scale="multiplicative", log=FALSE, method="median", varianceAdjust="none") zfn <- getZfactor(x)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.