Partial Gene Expression Deconvolution by Quadratic Programming

Description

The GED method “qprog” estimates cell/tissue proportions given a known set of cell/tissue-specific expression signatures, using quadratic programming techniques as proposed by Gong et al. (2011).

The GED method “cs-qprog” is an experimental method that estimates cell/tissue-specific expression signatures given cell/tissue proportions, using quadratic programming techniques, which can optionally impose marker constraints on the signatures.

Usage

gedAlgorithm.qprog(..., data = NULL, exact = TRUE, log = NULL)

gedAlgorithm.cs_qprog(..., data = NULL, exact = TRUE, log = NULL)

Arguments

...
extra parameters DSAproportionspassed to mlsei.
data
markers as MarkerList object.
exact
logical that specifies if one should impose a sum-to-one (TRUE) or sum-to-less-than-one (FALSE) constraint on the proportions.
log
indicates if the data are in log-scale or should be converted to linear-scale. This is relevant because the DSA algorithm assumes that the input mixed data are in linear scale (i.e. not log-trasnformed). If NULL, then data's scale is detected by link{is_logscale} and conversion to linear-scale is performed if necessary. If TRUE the data is exponentialised (using log base 2). If FALSE the data is left unchanged (the detected log scale is displayed in verbose mode). If a number, then it is used as the log base to exponentialise the data.

References

Gong T, Hartmann N, Kohane IS, Brinkmann V, Staedtler F, Letzkus M, Bongiovanni S and Szustakowski JD (2011). "Optimal deconvolution of transcriptional profiling data using quadratic programming with application to complex clinical blood samples." _PloS one_, *6*(11), pp. e27156. ISSN 1932-6203, , .

Examples


## Example on dummy/random data
x <- rmix(3, 100, 20)
# true cell signatures
s <- basis(x)

# deconvolve using quadratic programming
res <- ged(x, s, 'qprog')
profplot(x, res)

plot of chunk unnamed-chunk-1

# signatures are not updated
identical(basis(res), s)
## [1] TRUE
## Don't show: 
    stopifnot( identical(basis(res), s) )
    stopifnot( nmf.equal(res, ged(x, s, 'qprog')) )
## End Don't show
### CS-QPROG
## Example on dummy/random data
# random target matrix
x <- rmix(3, 100, 20)
# true cell proportions
p <- coef(x)

# deconvolve using quadratic programming
res <- ged(x, p, 'cs-qprog')
profplot(basis(x), basis(res))

plot of chunk unnamed-chunk-1


# signatures are not updated
identical(coef(res), p)
## [1] TRUE
## Don't show: 
    stopifnot( identical(coef(res), p) )
    stopifnot( nmf.equal(res, ged(x, p, 'cs-qprog')) )
## End Don't show