preprocessFunnorm: Functional normalization for Illumina 450k arrays

View source: R/preprocessFunnorm.R

preprocessFunnormR Documentation

Functional normalization for Illumina 450k arrays

Description

Functional normalization (FunNorm) is a between-array normalization method for the Illumina Infinium HumanMethylation450 platform. It removes unwanted variation by regressing out variability explained by the control probes present on the array.

Usage

preprocessFunnorm(rgSet, nPCs=2, sex = NULL, bgCorr = TRUE,
                  dyeCorr = TRUE, keepCN = TRUE, ratioConvert = TRUE,
                  verbose = TRUE)

Arguments

rgSet

An object of class RGChannelSet.

nPCs

Number of principal components from the control probes PCA

sex

An optional numeric vector containing the sex of the samples.

bgCorr

Should the NOOB background correction be done, prior to functional normalization (see preprocessNoob)

dyeCorr

Should dye normalization be done as part of the NOOB background correction (see preprocessNoob)?

keepCN

Should copy number estimates be kept around? Setting to FALSE will decrease the size of the output object significantly.

ratioConvert

Should we run ratioConvert, ie. should the output be a GenomicRatioSet or should it be kept as a GenomicMethylSet; the latter is for experts.

verbose

Should the function be verbose?

Details

This function implements functional normalization preprocessing for Illumina methylation microarrays. Functional normalization extends the idea of quantile normalization by adjusting for known covariates measuring unwanted variation. For the 450k array, the first k principal components of the internal control probes matrix play the role of the covariates adjusting for technical variation. The number k of principal components can be set by the argument nPCs. By default nPCs is set to 2, and have been shown to perform consistently well across different datasets. This parameter should only be modified by expert users. The normalization procedure is applied to the Meth and Unmeth intensities separately, and to type I and type II signals separately. For the probes on the X and Y chromosomes we normalize males and females separately using the gender information provided in the sex argument. For the Y chromosome, standard quantile normalization is used due to the small number of probes, which results in instability for functional normalization. If sex is unspecified (NULL), a guess is made using by the getSex function using copy number information. Note that this algorithm does not rely on any assumption and therefore can be be applicable for cases where global changes are expected such as in cancer-normal comparisons or tissue differences.

Value

an object of class GenomicRatioSet, unless ratioConvert=FALSE in which case an object of class GenomicMethylSet.

Author(s)

Jean-Philippe Fortin jfortin@jhsph.edu, Kasper D. Hansen khansen@jhsph.edu.

References

JP Fortin, A Labbe, M Lemire, BW Zanke, TJ Hudson, EJ Fertig, CMT Greenwood and KD Hansen. Functional normalization of 450k methylation array data improves replication in large cancer studies. (2014) Genome Biology (2014) 15:503. doi:10.1186/s13059-014-0503-2.

See Also

RGChannelSet as well as IlluminaMethylationManifest for the basic classes involved in these functions. preprocessRaw and preprocessQuantile are other preprocessing functions. Background correction may be done using preprocessNoob.

Examples

if (require(minfiData)) {
  ## RGsetEx.sub is a small subset of RGsetEx;
  ## only used for computational speed.
  Mset.sub.funnorm <- preprocessFunnorm(RGsetEx.sub)
}

hansenlab/minfi documentation built on Feb. 2, 2024, 11:23 a.m.