Normalize Plates (Z-Score)

Groups of data (e.g. wells of a plates) are normalized relative to a subset (e.g. some wells within that plate, e.g. negative control). For each group mean and standard deviation (or median and mad) are calculated for the selected subset. Based on these estimates, all data points of a group are normalized by applying this formula:

x.zscore = (x – mean(x[subset]))/sd(x[subset])
x.zscore = (x – median(x[subset]))/mad(x[subset])

Literature: Malo et al., Nat. Biotechnol. 24, 167-179 (2006)
Wikipedia: Z-score / Standard score


Group data by
Select the column to define the groups (e.g. "barcode" for plate-wise normalization). Select >none< for no grouping (e.g. normalization of the whole screen based on all negative controls available).
Select the columns with data to be normalized.
Column with reference label
Select the column which contains the label defining the reference subset (e.g. treatment)
Subset / well annotation
Select a subset label that is used to calculate mean and sd (median and mad) for each group (e.g. "negative control").
Replace existing values
If checked the raw values will be replaced by the normalized values. Otherwise columns with the normalized values will be appended - ".zscore"
Use robust statistics
Median and mad will be calculated instead of mean and sd.
Column suffix
The default column suffix ".zscore" can be changed
Load a limited number of columns
If big data tables create memory problems, the number of columns read in memory (subset data) can be restricted. Then, statistic calculation will be done sequential for each set with the given number of columns.

Input Ports

Input table

Output Ports

Table with normalized values
Table with statistics used for normalization


This node has no views




You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.