Omixer 1.12.0
Batch effects can have a major impact on the results of omics studies (Leek et al. 2010). Randomization is the first, and arguably most influential, step in handling them. However, its implementation suffers from a few key issues:
To combat these problems, we developed Omixer - an R package for multivariate randomization and reproducible generation of intuitive sample layouts.
This document has the following dependencies.
library(Omixer)
library(tibble)
library(forcats)
library(stringr)
library(dplyr)
library(ggplot2)
library(magick)
Omixer randomizes input sample lists multiple times (default: 1,000) and then combines these randomized lists with plate layouts, which can be selected from commonly used setups or custom-made. It can handle paired samples, keeping these adjacent but shuffling their order, and allows explicit masking of specific wells if, for example, plates are shared between different studies.
After performing robust tests of correlation between technical covariates and selected randomization factors, a layout is chosen using these criteria:
The optimal randomized list can then be processed by omixerSheet
, returning
intuitive sample layouts for the wet lab.
In order to establish correlations between technical covariates and biological
factors, Omixer needs to know the plate layout that your samples will be
randomized to. There are several options for automatically creating some
common layouts. Alternatively, a data frame can be input to the layout
option alongside specified techVars
. Possibilities are discussed in more
detail below.
Several options can be used to automatically generate common layouts:
wells
specifies the number of wells on a plate, which can be 96, 48, or 24.plateNum
determines how many copies of the plate your samples will need.div
is optional, and subdivides the plate into batches. This can be used
to specify chips within a plate, for example.positional
allows positions within div
to also be treated as batches.
This is useful for 450K experiments where positional batch effects have been
identified (Jiao et al. 2018).By default, div
is set to “none”, but it can be set to “col”, “row”,
“col-block”, or “row-block”.
col
treats each column in the plate as a batchrow
treats each row in the plate as a batchcol-block
will separate the plate into batches that are 2 columns widerow-block
separates the plate into 2 row wide batchesSo, for wells=48, div="col"
, each column of a 48-well plate will be
treated as a batch (different colours in the image below).