Description Usage Arguments Details Value Author(s) References See Also Examples

View source: R/perPlateScaling.R

Correction of plate and spatial effects of data stored in slot
`assayData`

of a `cellHTS`

object using
the B score method (without variance adjustment of the residuals).
Using this method, a two-way median polish is fitted, on a per-plate
basis, to account for row and column effects.

1 |

`object` |
a |

`save.model` |
a logical value specifying whether the per-plate models should be stored in slots |

This function is usually not called directly by the user,
but from within the
`normalizePlates`

function.
The normalization is performed in a per-plate fashion using the
B score method, for each replicate and channel.
In the B score method, the residual *r_{ijp}* of the measurement
for row *i* and column *j* on the *p*-th plate is
obtained by fitting a two-way median polish,
in order to account for both row and column effects within the plate:

*
r_{ijp} = y_{ijp} - yest_{ijp} =
y_{ijp} - (mu_p + R_{ip} + C_{jp})*

*y_{ijp}* is the measurement value in row *i* and
column *j* of plate *p*
(taken from slot `assayData`

- only sample wells are considered),
and *yest_{ijp}* is the corresponding fitted value.
This is defined as the sum between the estimated average
of the plate (*mu_p*), the estimated systematic
offset for row *i* (*R_{ip}*),
and the systematic offset for column *j* (*C_{jp}*).

*NOTE:*
In the original B score method, as presented by Malo et al.,
a further step is performed: for each plate *p*,
each of the obtained residual values *r_{ijp}*'s are divided by
the median absolute deviation of the residuals in plate *p*
(*MAD_p*), resulting in:

*r_{ijp}/MAD_p*

The intention of such a further adjustment is to compensate
for plate-to-plate variability in dynamic range.
In the `Bscore`

function, this step is not automatically
performed,
but can be done if B score normalization is called using the
function `normalizePlates`

with arguments `method="Bscore"`

and
`varianceAdjust="byPlate"`

. See the latter function for more details.

If `save.model=TRUE`

, the models row and column offsets and
overall offsets are stored in the slots
`rowcol.effects`

and `overall.effects`

of `object`

.

An object of class `cellHTS`

with B-score normalized data stored in slot `assayData`

.

Furthermore, if `save.model=TRUE`

, the row and column effects and the overall effects are stored in slots `rowcol.effects`

and `overall.effects`

, respectively.
The latter slots are arrays with the same dimension as `Data(object)`

, except the
`overall.effects`

slot, which has dimensions `nr Plates x nr Samples x nr Channels`

.

After calling this function, the processing status of the `cellHTS`

object is updated
in the slot `state`

to `[email protected]["normalized"]=TRUE`

.

Ligia Bras

Brideau, C., Gunter, B., Pikounis, B. and Liaw, A. (2003) Improved statistical methods for hit selection in high-throughput screening, *J. Biomol. Screen* **8**, 634–647.

Malo, N., Hanley, J.A., Cerquozzi, S., Pelletier, J. and Nadon, R. (2006) Statistical practice in high-throughput screening data analysis, *Nature Biotechn* **24**(2), 167–175.

Boutros, M., Br\'as, L.P. and Huber, W. (2006) Analysis of cell-based RNAi screens, *Genome Biology* **7**, R66.

`medpolish`

,
`loess`

,
`locfit.robust`

,
`plotSpatialEffects`

,
`normalizePlates`

,
`summarizeChannels`

`plateEffects`

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ```
data("KcViabSmall")
xb <- Bscore(KcViabSmall, save.model = TRUE)
## Calling Bscore function from "normalizePlates" and adding the per-plate variance adjustment step:
xopt <- normalizePlates(KcViabSmall, method="Bscore", varianceAdjust="byPlate", save.model = TRUE)
## Access the slots overall.effects and rowcol.effects
ef1 = plateEffects(xb)
ef2 = plateEffects(xopt)
## double-check
stopifnot(
all(xb@rowcol.effects==xopt@rowcol.effects, na.rm=TRUE),
all(xb@overall.effects==xopt@overall.effects, na.rm=TRUE),
identical(ef1, ef2)
)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.