R/calculateDMM.R
calculateDMN.Rd
These functions are accessors for functions implemented in the
DirichletMultinomial
package
calculateDMN(x, ...)
# S4 method for ANY
calculateDMN(
x,
k = 1,
BPPARAM = SerialParam(),
seed = runif(1, 0, .Machine$integer.max),
...
)
# S4 method for SummarizedExperiment
calculateDMN(
x,
assay.type = assay_name,
assay_name = exprs_values,
exprs_values = "counts",
transposed = FALSE,
...
)
runDMN(x, name = "DMN", ...)
getDMN(x, name = "DMN", ...)
# S4 method for SummarizedExperiment
getDMN(x, name = "DMN")
bestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"), ...)
# S4 method for SummarizedExperiment
bestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"))
getBestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"), ...)
# S4 method for SummarizedExperiment
getBestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"))
calculateDMNgroup(x, ...)
# S4 method for ANY
calculateDMNgroup(
x,
variable,
k = 1,
seed = runif(1, 0, .Machine$integer.max),
...
)
# S4 method for SummarizedExperiment
calculateDMNgroup(
x,
variable,
assay.type = assay_name,
assay_name = exprs_values,
exprs_values = "counts",
transposed = FALSE,
...
)
performDMNgroupCV(x, ...)
# S4 method for ANY
performDMNgroupCV(
x,
variable,
k = 1,
seed = runif(1, 0, .Machine$integer.max),
...
)
# S4 method for SummarizedExperiment
performDMNgroupCV(
x,
variable,
assay.type = assay_name,
assay_name = exprs_values,
exprs_values = "counts",
transposed = FALSE,
...
)
a numeric matrix with samples as rows or a
SummarizedExperiment
object.
optional arguments not used.
the number of Dirichlet components to fit. See
dmn
A
BiocParallelParam
object specifying whether the UniFrac calculation should be parallelized.
random number seed. See
dmn
a single character
value for specifying which
assay to use for calculation.
a single character
value for specifying which
assay to use for calculation.
(Please use assay.type
instead. At some point assay_name
will be disabled.)
a single character
value for specifying which
assay to use for calculation.
(Please use assay.type
instead.)
Logical scalar, is x transposed with samples in rows?
the name to store the result in
metadata
the type of measure used for the goodness of fit. One of ‘laplace’, ‘AIC’ or ‘BIC’.
a variable from colData
to use as a grouping variable.
Must be a character of factor.
calculateDMN
and getDMN
return a list of DMN
objects,
one element for each value of k provided.
bestDMNFit
returns the index for the best fit and getBestDMNFit
returns a single DMN
object.
calculateDMNgroup
returns a
DMNGroup
object
performDMNgroupCV
returns a data.frame
DMN-class
,
DMNGroup-class
,
dmn
,
dmngroup
,
cvdmngroup
,
accessors for DMN objects
fl <- system.file(package="DirichletMultinomial", "extdata", "Twins.csv")
counts <- as.matrix(read.csv(fl, row.names=1))
fl <- system.file(package="DirichletMultinomial", "extdata", "TwinStudy.t")
pheno0 <- scan(fl)
lvls <- c("Lean", "Obese", "Overwt")
pheno <- factor(lvls[pheno0 + 1], levels=lvls)
colData <- DataFrame(pheno = pheno)
tse <- TreeSummarizedExperiment(assays = list(counts = counts),
colData = colData)
library(bluster)
# Compute DMM algorithm and store result in metadata
tse <- cluster(tse, name = "DMM", DmmParam(k = 1:3, type = "laplace"),
MARGIN = "samples", full = TRUE)
#> Warning: 'cluster' is deprecated. Use 'addCluster' instead.
# Get the list of DMN objects
metadata(tse)$DMM$dmm
#> [[1]]
#> class: DMN
#> k: 1
#> samples x taxa: 278 x 130
#> Laplace: 39227.38 BIC: 39527.91 AIC: 39292.11
#>
#> [[2]]
#> class: DMN
#> k: 2
#> samples x taxa: 278 x 130
#> Laplace: 38872.47 BIC: 39588.93 AIC: 39115.53
#>
#> [[3]]
#> class: DMN
#> k: 3
#> samples x taxa: 278 x 130
#> Laplace: 38854.25 BIC: 40001.15 AIC: 39290.14
#>
# Get and display which objects fits best
bestFit <- metadata(tse)$DMM$best
bestFit
#> [1] 3
# Get the model that generated the best fit
bestModel <- metadata(tse)$DMM$dmm[[bestFit]]
bestModel
#> class: DMN
#> k: 3
#> samples x taxa: 278 x 130
#> Laplace: 38854.25 BIC: 40001.15 AIC: 39290.14
# Get the sample-cluster assignment probability matrix
head(metadata(tse)$DMM$prob)
#> 1 2 3
#> TS1.2 9.999997e-01 2.999206e-07 4.862137e-09
#> TS10.2 9.516103e-01 8.383037e-09 4.838964e-02
#> TS100.2 4.434962e-08 8.567800e-02 9.143220e-01
#> TS100 9.919463e-01 8.053274e-03 4.124749e-07
#> TS101.2 1.352151e-12 4.164695e-07 9.999996e-01
#> TS103.2 9.999977e-01 7.473539e-10 2.313060e-06
# Get the weight of each component for the best model
bestModel@mixture$Weight
#> [1] 0.5655802 0.2227264 0.2116935