NormExp Background Correction and Normalization Using Control Probes
Perform normexp background correction using negative control probes and quantile normalization using negative and positive control probes. Particularly useful for Illumina BeadChips.
nec(x, status=NULL, negctrl="negative", regular="regular", offset=16, robust=FALSE, detection.p="Detection") neqc(x, status=NULL, negctrl="negative", regular="regular", offset=16, robust=FALSE, detection.p="Detection", ...)
x |
object of class |
status |
character vector giving probe types. Defaults to |
negctrl |
character string identifier for negative control probes. |
regular |
character string identifier for regular probes, i.e., all probes other than control probes. |
offset |
numeric value added to the intensities after background correction. |
robust |
logical. Should robust estimators be used for the background mean and standard deviation? |
detection.p |
dection p-values. Only used when no negative control probes can be found in the data. Can be a numeric matrix or a character string giving the name of the component of |
... |
any other arguments are passed to |
neqc
performs background correction followed by quantile normalization, using negative control probes for background correction and both negative and positive controls for normalization (Shi et al, 2010).
nec
is similar but performs background correction only.
These methods are particularly designed for Illumina BeadChip microarrays, but could be useful for other platforms for which good quality negative control probes or detection p-values are available.
When control data are available, these function call normexp.fit.control
to estimate the parameters required by normal+exponential(normexp) convolution model with the help of negative control probes, followed by normexp.signal
to perform the background correction.
If x
contains background intensities x$Eb
, then these are first subtracted from the foreground intensities, prior to normexp background correction.
After background correction, an offset
is added to the data.
When expression values for negative controls are not available, the detection.p
argument is used instead,
In that case, these functions call normexp.fit.detection.p
, which infers the negative control probe intensities from the detection p-values associated with the regular probes.
The function outputs a message if this is done.
For more detailed descriptions of the arguments x
, status
, negctrl
, regular
and detection.p
, please refer to functions normexp.fit.control
, normexp.fit.detection.p
and read.ilmn
.
Both nec
and neqc
perform the above steps.
neqc
continues on to quantile normalize the background-corrected intensities, including control probes.
After normalization, the intensities are log2 transformed and the control probes are removed.
nec
produces a EListRaw-class
or matrix object of the same dimensions as x
containing background-corrected intensities, on the raw scale.
neqc
produces a EList-class
or matrix object containing normalized log2 intensities, with rows corresponding to control probes removed.
Wei Shi and Gordon Smyth
Shi W, Oshlack A and Smyth GK (2010). Optimizing the noise versus bias trade-off for Illumina Whole Genome Expression BeadChips. Nucleic Acids Research 38, e204. http://nar.oxfordjournals.org/content/38/22/e204
An overview of background correction functions is given in 04.Background.
An overview of LIMMA functions for normalization is given in 05.Normalization.
normexp.fit.control
estimates the parameters in the normal+exponential convolution model using the negative control probes.
normexp.fit.detection.p
estimates the parameters in the normal+exponential convolution model using negative control probe intensities inferred from regular probes by using their detection p values information.
normexp.fit
estimates parameters in the normal+exponential convolution model using a saddle-point approximation or other methods.
neqc
performs normexp background correction and quantile normalization aided by control probes.
## Not run: # neqc normalization for data which include control probes x <- read.ilmn(files="sample probe profile.txt", ctrlfiles="control probe profile.txt") y <- neqc(x) fit <- lmFit(y,design) # Same thing but in separate steps: x.b <- nec(x) y <- normalizeBetweenArrays(x.b,method="quantile") y <- y[y$genes$Status=="regular",] # neqc normalization for data without control probes # neqc can process detection p-values in lieu of control probes xr <- read.ilmn(files="sample probe profile.txt") yr <- neqc(xr) ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.