Estimates cell/tissue cell/tissue-specific expression
signatures, given proportion priors using the MCMC
approach from Erkkila et al. (2010), implemented
in Matlab and wrapped in CellMix by the function
DSection
.
The S3 method csTopTable
for DSection fits
computes nominal p-values (i.e. unadjusted) of
differential expression between cell type or group of
samples within each cell type, for deconvolution results
from the DSection
algorithm.
gedAlgorithm.DSection(..., maxIter = 500L, p0, data = NULL, nBurnIn = 4 * maxIter,
W0 = max(100, nbasis(seed)), W_proposal = 100, samplep = TRUE)
S3 (DSection)
`csTopTable`(x, coef = 1L, decreasing = TRUE, ...)
DSection
.p0
must be positive and add up to one.p0
. Defines the peakedness of
Dirichlet density around p0. NOTE: keep W0 >= T.TRUE
) or not (FALSE
). SUGGESTED USE:
sample from the posterior (samplep = 1).ged
.The DSection
algorithm requires the Octave
statistics package to be installed (more
specifically the function gamfit
). Unfortunately
some very recent changes in R or Octave
prevent RcppOctave from running DSection
's
Matlab code (due to some error linked with Octave
io package). It is therefore temporary unavailable.
Erkkila T, Lehmusvaara S, Ruusuvuori P, Visakorpi T,
Shmulevich I and Lahdesmaki H (2010). "Probabilistic
analysis of gene expression measurements from
heterogeneous tissues." _Bioinformatics (Oxford,
England)_, *26*(20), pp. 2571-7. ISSN 1367-4811,
# random global expression
x <- rmix(3, 50, 20)
# extract true proportions
p <- coef(x)
# add noise
p0 <- scoef(abs(p + rmatrix(p, dist=rnorm, sd=0.15)))
# check how noisy this makes the proportion estimates
profplot(p, p0)
# deconvolve using DSection
## Not run:
##D # requires octave package statistics to be installed (for gamfit)
##D res <- ged(x, p0, 'DSection', maxIter=10, seed=12345)
##D head(basis(res))
##D # proportions are updated
##D !identical(coef(res), p0)
##D # check how better they are
##D profplot(x, res)
##D
##D \dontshow{
##D stopifnot( !identical(coef(res), p0) )
##D stopifnot( nmf.equal(res, ged(x, p0, 'DSection', maxIter=10, seed=12345)) )
##D }
## End(Not run)