"BeadSetIllumina "
setNormOptions(shearInf1 = TRUE, transf = "root",
method = "medianAF",
minSize = suggestSh(shearInf1)$minSize,
prob = suggestSh(shearInf1)$prob,
nBins = suggestSh(shearInf1)$nBins,
dist = suggestTr(transf)$dist,
pNorm = suggestTr(transf)$pNorm,
nthRoot = suggestTr(transf)$nthRoot,
offset = suggestTr(transf)$offset,
scale = suggestNo(method)$scale,
nSD = 3, breaks = 200)plotPreprocessing(BSData, normInd,
normOpts = setNormOptions(shearInf1 = !is.null(normInd)),
plotArray = 1, ...)
preprocessBeadSet(BSData, normInd,
normOpts = setNormOptions(shearInf1 = !is.null(normInd)))
TRUE
, only the signal-containing channel of Infinium I
beads are used to define the homozygote asymptotes for the affine
transformation (rotation and shearing). This may be more accurate
than using all beads, as the variation anthRoot
)minSize
points are usedquantile
-function,
defining the points through which the asymptotes are drawncart2
cart2pol
transf="root"
NA
during log- or root-transformationmethod="linPeak"
nSD
times the estimated standard measurement error (found from the the
parameterised noise levels for each channel)breaks
defines the smoothing
(number of bins). See hist
"BeadSetIllumina "
object not previously pre-processedgetNormInd
setNormOptions
plotEstimatedNoise
setNormOptions
is a list with pre-processing
options The function plotPreprocessing
is used for its side effects
Output from preprocessIllumina
is a
"
object with pre-processed
assayData
entries. A column phenoData
, this is the (parameterized) standard error times
nSD
setNormOptions
, default pre-processing options are
suggested, and any changes may be specified. The effects of
different options are studied using plotPreprocessing
for a
number of arbitrary arrays. This produces four plots; i) raw data
scatter, ii) scatter including the estimated asymptotes for the affine
transformation (red/green) including the quantile points used (blue
dots), iii) the noise levels for the red and green channel after
transformation, parameterized signal superimposed, based on the
non-signal channels of Infinium I beads, and iv) scatter after
transformation including new axes (green) and estimated noise levels
(red dots). For the affine transformation, it is important that enough quantile
points are included to get reliable asymptotes. If there are few blue
dots in plot ii), decrease the minSize
option or set
shearInf1
to FALSE
. If the grey lines in plot iii) are
too coarse (too few points) to get a good noise-parameterisation,
increase breaks
. Note also how the noise levels are affected by
different transformations.
Pay close regard to how the transformation affects the shapes of the
clouds in plot iv). Ideally, three well defined clouds protrude from
the estimated origin, corresponding to the homozygotes which fall on
the estimated axes and the heterozygotes which fall 45 degrees in
between. Imagine a rubber band stretched over the ends of the three
clouds. If the rubber band is straight (no transformation), the
preprocessBeadSet
calls several pre-processing
routines in sequence. First shearRawSignal
performs
the affine transformations, then getNoiseDistributions
estimates the distributions of the noise for each channel. Next,
transformChannels
transforms the signal, followed by
transformation of the standard errors of each channel using
transformSEs
. In the end,
normalizeShearedChannels
performs channel
normalisation for each array.
readBeadSummaryOutput
, getNormInd
,
shearRawSignal
, getNoiseDistributions
,
transformChannels
, transformSEs
,
normalizeShearedChannels
, createAlleleSet
,
BeadSetIllumina
#Read files into BeadSetIllumina-object
rPath <- system.file("extdata", package="beadarrayMSV")
BSDataRaw <- readBeadSummaryOutput(path=rPath,recursive=TRUE)
#Find indexes to sub-bead pools
beadInfo <- read.table(paste(rPath,'beadData.txt',sep='/'),sep='\t',
header=TRUE,as.is=TRUE)
rownames(beadInfo) <- make.names(beadInfo$Name)
normInd <- getNormInd(beadInfo,featureNames(BSDataRaw))
#Pre-process
normOpts <- setNormOptions(minSize=10)
plotPreprocessing(BSDataRaw,normInd,normOpts,plotArray=1)
BSData <- preprocessBeadSet(BSDataRaw,normInd,normOpts)
pData(BSData)
Run the code above in your browser using DataLab