Fitting Dilution Curves to Protein Lysate Arrays with Class “RPPAFitParams”

Share:

Description

The RPPAFit function fits an intensity response model to the dilution series in a reverse-phase protein array experiment. Individual sample concentrations are estimated by matching individual sample dilution series to the overall logistic response for the slide. The RPPAFitParams class is a convenient place to wrap the parameters that control the model fit into a reusable object.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
RPPAFit(rppa,
        design,
        measure,
        model="logistic",
        xform=NULL,
        method=c("nls", "nlrob", "nlrq"),
        trim=2,
        ci=FALSE,
        ignoreNegative=TRUE,
        trace=FALSE,
        verbose=FALSE,
        veryVerbose=FALSE,
        warnLevel=0)

RPPAFitParams(measure,
              model="logistic",
              xform=NULL,
              method=c("nls", "nlrob", "nlrq"),
              trim=2,
              ci=FALSE,
              ignoreNegative=TRUE,
              trace=FALSE,
              verbose=FALSE,
              veryVerbose=FALSE,
              warnLevel=0)

RPPAFitFromParams(rppa,
                  design,
                  fitparams,
                  progmethod=NULL)

is.RPPAFit(x)
is.RPPAFitParams(x)
## S4 method for signature 'RPPAFitParams'
paramString(object, slots, ...)

Arguments

rppa

object of class RPPA containing the raw data to be fit

design

object of class RPPADesign describing the layout of the array

fitparams

object of the class RPPAFitParams, bundling together the following arguments.

progmethod

optional function that can be used to report progress.

measure

character string identifying the column of the raw RPPA data that should be used to fit to the model.

model

character string specifying the model for the response curve fitted for the slide. Valid values are:

"logistic" assumes a logistic shape for the curve
"loess" fits a loess curve to the response
"cobs" fits a b-spline curve to the slide with the constraint that curve be strictly increasing
xform

optional function that takes a single input vector and returns a single output vector of the same length. The measure column is transformed using this function before fitting the model.

method

character string specifying the method for matching the individual dilution series to the response curve fitted for the slide. Valid values are:

"nls" uses the optimal fit based on nonlinear least squares
"nlrob" uses nlrob which is robust nls from robustbase package
"nlrq" uses nlrq which is robust median regression from quantreg package
trim

numeric or logical scalar specifying trim level for concentrations. If positive, concentrations will be trimmed to reflect min and max concentrations we can estimate given the background noise. If TRUE, the trim level defaults to 2, which was originally the hardcoded value; otherwise, raw concentrations are returned without trimming.

ci

logical scalar. If TRUE, computes 90% confidence intervals on the concentration estimates.

ignoreNegative

logical scalar. If TRUE, converts negative values to NA before fitting the model.

trace

logical scalar passed to nls in the method portion of the routine

verbose

logical scalar. If TRUE, prints updates while fitting the data

veryVerbose

logical scalar. If TRUE, prints voluminous updates as each individual dilution series is fitted

warnLevel

integer scalar used to set the warn option before calling method. Since this is wrapped in a try function, it won't cause failure but will give us a chance to figure out which dilution series are failing. Setting warnLevel to two or greater may change the values returned.

object

object of class RPPAFitParams

x

object of class RPPAFit (or RPPAFitParams)

slots

strings specifying RPPAFitParams slotnames to display (for debugging)

...

extra arguments for generic routines.

Details

The basic mathematical model is given by

Y = f(X-δ_i),

where Y is the observed intensity, X is the designed dilution step and f is the model for the protein response curve. By fitting a joint model, we assume that the response curve is the same for all dilution series on the array. The real point of the model, however, is to be able to draw inferences on the δ_i, which represent the (log) concentration of the protein present in different dilution series.

As the first step in fitting the model, we compute crude estimates of the individual δ_i assuming a rough logistic shape for the protein response curve.

Next, we fit an overall response curve for the slide f using the estimated concentrations and observed intensities Y = f(δ_i). The model for f is specified in the model parameter.

Next, we update the estimates of the individual δ_i using our improved fitted model f for the overall slide response curve. These individual series are matched to the overall slide response curve using the algorithm specified in method. The default method is nls, a least squares match-up, but we also offer robust alternatives which can do better.

Finally, we re-estimate f using the improved estimates for δ_i. We continue to iterate between f and δ_i. We do this twice since that seems to give reasonable convergence.

If the ci argument is TRUE, then the function also computes confidence intervals around the estimates of the log concentration. Since this step can be time-consuming, it is not performed by default. Moreover, confidence intervals can be computed after the main model is fit and evaluated, using the getConfidenceInterval function.

Value

The RPPAFit generator and RPPAFitFromParams function return an object of class RPPAFit.

The RPPAFitParams generator returns an object of class RPPAFitParams.

The is.RPPAFit method returns TRUE if its argument is an object of class RPPAFit.

The is.RPPAFitParams method returns TRUE if its argument is an object of class RPPAFitParams.

The paramString method returns a character vector, possibly empty but never NULL.

Objects from the Class

Although objects of the class can be created by a direct call to new, the preferred method is to use the RPPAFitParams function.

Slots

measure:

character; see arguments above

xform:

function or NULL; see arguments above

method:

character; see arguments above

ci:

logical scalar; see arguments above

ignoreNegative:

logical scalar; see arguments above

trace:

logical scalar; see arguments above

verbose:

logical scalar; see arguments above

veryVerbose:

logical scalar; see arguments above

warnLevel:

numeric; see arguments above

trim:

numeric; see arguments above

model:

character; see arguments above

Methods

paramString

signature(object = "RPPAFitParams"):
Returns string representation of object.

Warning

The paramString method should not be called by user except for informational purposes. The content and format of the returned string may vary between different versions of this package.

Author(s)

P. Roebuck proebuck@mdanderson.org, Kevin R. Coombes kcoombes@mdanderson.org

See Also

RPPAFit, RPPAFit-class, RPPA, RPPADesign

Examples

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

txtdir <- file.path(extdata.dir, "rppaTumorData")
erk2 <- RPPA("ERK2.txt", path=txtdir)
design <- RPPADesign(erk2,
                     grouping="blockSample",
                     controls=list("neg con", "pos con"))
fit.nls <- RPPAFit(erk2, design, "Mean.Net")
summary(fit.nls)
coef(fit.nls)

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