Spatial Correction

Share:

Description

This function estimates a smoothed surface from positive control spots on an RPPA slide. The surface is used to perform spatial corrections (i.e., because of uneven hybridization) on the array. It is used before RPPAFit, one slide at a time.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
spatialAdjustmentFromParams(rppa,
                            design,
                            spatialparams)
spatialAdjustment(rppa,
                  design,
                  cutoff=0.8,
                  k=100,
                  gamma=0.1,
                  plotSurface=FALSE)
spatialCorrection(rppa,
                  design,
                  measure=c("Mean.Net", "Mean.Total"),
                  cutoff=0.8,
                  k=100,
                  gamma=0.1,
                  plotSurface=FALSE)

Arguments

rppa

object of class RPPA

design

object of class RPPADesign

spatialparams

object of class RPPASpatialParams containing parameters used to perform spatial adjustment

measure

character string specifying fit measure to smooth

cutoff

numeric scalar used to identify the background cutoff with value in range [0..1]

k

numeric scalar used as smoothing model argument.

gamma

numeric scalar used as model parameter with value in range [0..2]

plotSurface

logical scalar. If TRUE, plots surfaces.

Details

The observed spot intensities are assumed to be a combination of true signal, background noise, and hybridization effects according to the following model:

Y_rc = Y * H_rc + B_rc

where Y_rc is the observed intensity, Y is the true signal, H_rc is the effect of hybridization, and B_rc is the background noise. The subscripts "r" and "c" refer to the physical row and column of the spot on the array. Background noise is estimated locally by the array software. The hybridization effect is estimated fitting a generalized additive model (GAM) to positive control spots printed uniformly across the array.

The estimated surface is used to scale the intensities on the array. Each intensity is adjusted by the amount that is needed to make the positive control surface flat at the value of the median of the surface. This is done by dividing each spot by the estimated surface value and then multiplying by the median of the surface.

Positive control spots that are expressed below the cutoff for the noise region are excluded from the computation of the surface.

Sometimes, positive control spots are printed in a dilution series to avoid saturation problems with these spots. When this happens, the observed intensities are adjusted by the positive control surface that has the most similar expression level.

The design argument must have already been augmented with slide design information.

The cutoff argument passed to quantile is percentile of the background estimates used to define the noise region of slide.

The k argument passed to s sets upper limit on degrees of freedom associated with smoothing.

The gamma argument passed to gam provides a constant multiplier used to inflate model degrees of freedom in the GCV or UBRE/AIC score.

Value

Returns modified rppa with an additional measurement column named after the measure with an Adj. prefix. For example, if the measure was Mean.Net, the name of the adjusted column would be Adj.Mean.Net.

Author(s)

P. Roebuck proebuck@mdanderson.org, E. Shannon Neeley sneeley@stat.byu.edu

References

Neeley ES, Baggerly KA, Kornblau SM.
Surface Adjustment of Reverse Phase Protein Arrays Using Positive Control Spots
Cancer Informatics (2012) 11: 77-86.
http://www.ncbi.nlm.nih.gov/pubmed/22550399

See Also

RPPASpatialParams, quantile, gam, s, choose.k

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
extdata.dir <- system.file("extdata", package="SuperCurveSampleData")

txtdir <- file.path(extdata.dir, "rppaSingleSubgridData")
designfile <- file.path(txtdir, "slidedesign.tsv")
rppa <- RPPA("Waldo.txt",
             path=txtdir,
             software="microvigene",
             alt.layout="superslide")
designparams <- RPPADesignParams(grouping="blockSample",
                                 designfile=designfile)
design <- RPPADesignFromParams(rppa, designparams)
rppa.adj <- spatialAdjustment(rppa, design)
colnames(rppa.adj)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.