Description Usage Arguments Details Value Author(s) References See Also Examples
View source: R/normalizePlates.R
Combines plate intensities (raw or already corrected in a per-plate fashion) from multi-channel data stored in slot assayData
of a
cellHTS
instance by applying the function defined in fun
.
1 2 | summarizeChannels(object,
fun = function(r1, r2, thresh=-Inf) ifelse(r1>thresh, r2/r1, as.numeric(NA)))
|
object |
an object of class |
fun |
a user-defined function for the multi channel summarization.
|
For each plate and replicate of a multi-color experiment, the function
defined in fun
is applied to relate the intensity values in the
respective channels of the cellHTS
object. The default is to
take the ratio between the second and first channels, with a threshold on
r1
(see the Usage section). This threshold should be adjusted by the
user according to the data. For an example, see the Examples section.
This function uses the content of slot assayData
of object
and can be applied either to raw data or after per-plate correction of the intensity values in each channel using function normalizePlates
. This choice depends on channel summarization method that one intends to apply (i.e., the function given by argument fun
).
An object of class cellHTS
with the summarized multi-channel intensities stored in slot assayData
.
This is an object of class assayData
containing one matrix with the summarized channel data (dimensions nrFeatures x nrSamples).
Ligia Bras ligia@ebi.ac.uk, Wolfgang Huber huber@ebi.ac.uk
Boutros, M., Bras, L.P. and Huber, W. (2006) Analysis of cell-based RNAi screens, Genome Biology 7, R66.
normalizePlates
,
scoreReplicates
,
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 40 41 42 43 44 45 46 47 48 | data(dualCh)
x <- dualCh
table(wellAnno(x))
## Define the controls for the different channels:
negControls=vector("character", length=dim(Data(x))[3])
## 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(Data(x))[3])
## channel 1 - no controls
## channel 2 - geneC and geneD
posControls[2]="(?i)^geneC$|^geneD$"
## Not run:
writeReport(cellHTSlist=list("raw"=x), map=TRUE, plotPlateArgs=TRUE, posControls=posControls, negControls=negControls)
## End(Not run)
## In this example, we first normalize each channel separately by
## plate median scaling (no variance adjustment), since we need to make the measurements
## comparable across plates for the next step of channel summarization:
xn = normalizePlates(x, scale="multiplicative", log=FALSE, method="median", varianceAdjust="none")
## Then, we define a low intensity threshold for the measurements in the constitutive channel R1,
## which will be set to the 5% quantile of the overall plate median corrected intensities in R1,
## and take the ratio R2/R1.
xn = summarizeChannels(xn, fun = function(r1, r2,
thresh=quantile(r1, probs=0.05, na.rm=TRUE)) ifelse(r1>thresh, r2/r1, as.numeric(NA)))
## After channel summarization, we take the log2 and apply plate median normalization,
## and opt to not adjust the variance:
xn = normalizePlates(xn, scale="multiplicative", log=TRUE, method="median", varianceAdjust="none")
## Define the controls for the normalized and summarized intensities (only one channel):
negControls = vector("character", length=dim(Data(xn))[3])
## For the single channel, the negative controls are geneA and geneB
negControls[1]= "(?i)^geneA$|^geneB$"
posControls = vector("character", length=dim(Data(xn))[3])
## For the single channel, the negative controls are geneC and geneD
posControls[1]="(?i)^geneC$|^geneD$"
## Not run:
writeReport(cellHTSlist=list("raw"=x, "normalized"=xn), force=TRUE, map=TRUE, plotPlateArgs=list(xrange=c(-3,3)),
posControls=posControls, negControls=negControls)
## End(Not run)
## Another option could be to just take the log2 of the ratio between R2 and R1 raw intensities:
xn1 = summarizeChannels(x, fun = function(r1, r2) log2(r2/r1))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.