Description Usage Arguments Details Value Author(s) See Also Examples
Normalizes and/or transforms dual-channel data xraw
of a
cellHTS
object by applying the function defined in fun
.
1 2 3 | summarizeChannels(x,
fun = function(r1, r2, thresh) ifelse(r1>thresh, log2(r2/r1), as.numeric(NA)),
adjustPlates, zscore, ...)
|
x |
a |
fun |
a user-defined function for the two channel summarization.
|
adjustPlates |
scalar character string indicating the
normalization method to apply to adjust for plate-to-plate variations
(and possibly well-to-well variations). This is done before
applying |
zscore |
indicates if the z-scores should be determined after normalization and transformation. If missing (default), the data will not be scored. Otherwise, it should be a character string, either "+" or "-", specifying the sign to use for the z-scores. |
... |
Further arguments that get passed on to the function
implementing the normalization method chosen by |
For each plate and replicate of a two-color experiment, the function
defined in fun
is applied to relate the intensity values in the
two channels of the cellHTS
object. The default is to
take the log2-ratio between the second and first channels, with a threshold on
r1
(see the Usage section). This threshold should be ajusted by the
user according to the data. For an example, see the Examples section.
If adjustPlates
is not missing, the values for each channel will be
corrected for plate effects before applying fun
,
by considering the chosen normalization method. The available options are
adjustPlates="median"
(median scaling), adjustPlates="mean"
(mean scaling),
adjustPlates="shorth"
(scaling by the midpoint of the shorth),
adjustPlates="POC"
(percent of control),
adjustPlates="negatives"
(scaling by the average on the negative controls),
adjustPlates="NPI"
(normalized percent inhibition) and
adjustPlates="Bscore"
(B score method).
For more details about these normalization options, please refer to normalizePlates
.
By default, adjustPlates
is missing.
If zscore
is not missing, a robust z-score is calculated based on the channel-summarized measurements.
The z-score for each individual measurement will be determined for each plate and each well
by subtracting the overall median
and dividing by the overall mad
.
The allowed values for zscore
("+" or "-") are used to set the sign of
the calculated z-scores. See summarizeReplicates
for more details.
An object of class cellHTS
, which is a copy of the
argument x
, plus an additional slot xnorm
containing the
normalized data. This is an array of the same dimensions as xraw
,
except in the dimension corresponding to the number of channels, since
the two-channel intensities have been combined into one intensity value.
Moreover, the processing status of the cellHTS
object is updated
in the slot state
to x$state["normalized"]=TRUE
.
Additional outputs may be given if
adjustPlates="Bscore"
. Please refer to the help page of
the Bscore
function.
Ligia Braz ligia@ebi.ac.uk, Wolfgang Huber huber@ebi.ac.uk
normalizePlates
,
Bscore
,
summarizeReplicates
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 | ## Not run:
datadir <- system.file("DualChannelScreen", package = "cellHTS")
x <- readPlateData("Platelist.txt", "TwoColorData", path=datadir)
x <- configure(x, "Plateconf.txt", "Screenlog.txt", "Description.txt", path=datadir)
table(x$wellAnno)
## Define the controls for the different channels:
negControls=vector("character", length=dim(x$xraw)[4])
## channel 1 - gene A
## case-insensitive and match the empty string at the beginning and end of a line (to distinguish between "geneA" and "geneAB", for example, although this is not a problem for the well annotation in this example)
negControls[1]= "(?i)^geneA$"
## channel 2 - gene A and geneB
negControls[2]= "(?i)^geneA$|^geneB$"
posControls = vector("character", length=dim(x$xraw)[4])
## channel 1 - no controls
## channel 2 - geneC and geneD
posControls[2]="(?i)^geneC$|^geneD$"
writeReport(x, posControls=posControls, negControls=negControls)
## In this example, we first normalize each channel separately by plate median scaling.
## Then, we define a low intensity threshold for the measurements in the constitutive channel R1,
## which will be set to the 5
x = summarizeChannels(x, fun = function(r1, r2,
thresh=quantile(r1, probs=0.05, na.rm=TRUE)) ifelse(r1>thresh, log2(r2/r1), as.numeric(NA)),
adjustPlates="median")
## Note that the plate median scaling is applied to each channel, prior to channel summarization.
## Define the controls for the normalized intensities (only one channel):
negControls = vector("character", length=dim(x$xnorm)[4])
## For the single channel, the negative controls are geneA and geneB
negControls[1]= "(?i)^geneA$|^geneB$"
posControls = vector("character", length=dim(x$xnorm)[4])
## For the single channel, the negative controls are geneC and geneD
posControls[1]="(?i)^geneC$|^geneD$"
writeReport(x, force=TRUE, plotPlateArgs=list(xrange=c(-3,3)),
posControls=posControls, negControls=negControls)
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.