These functions are accessors for functions implemented in the DirichletMultinomial package

calculateDMN(x, ...)

# S4 method for class 'ANY'
calculateDMN(
  x,
  k = 1,
  BPPARAM = SerialParam(),
  seed = runif(1, 0, .Machine$integer.max),
  ...
)

# S4 method for class '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 class 'SummarizedExperiment'
getDMN(x, name = "DMN")

bestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"), ...)

# S4 method for class 'SummarizedExperiment'
bestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"))

getBestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"), ...)

# S4 method for class 'SummarizedExperiment'
getBestDMNFit(x, name = "DMN", type = c("laplace", "AIC", "BIC"))

calculateDMNgroup(x, ...)

# S4 method for class 'ANY'
calculateDMNgroup(
  x,
  variable,
  k = 1,
  seed = runif(1, 0, .Machine$integer.max),
  ...
)

# S4 method for class 'SummarizedExperiment'
calculateDMNgroup(
  x,
  variable,
  assay.type = assay_name,
  assay_name = exprs_values,
  exprs_values = "counts",
  transposed = FALSE,
  ...
)

performDMNgroupCV(x, ...)

# S4 method for class 'ANY'
performDMNgroupCV(
  x,
  variable,
  k = 1,
  seed = runif(1, 0, .Machine$integer.max),
  ...
)

# S4 method for class 'SummarizedExperiment'
performDMNgroupCV(
  x,
  variable,
  assay.type = assay_name,
  assay_name = exprs_values,
  exprs_values = "counts",
  transposed = FALSE,
  ...
)

Arguments

x

a numeric matrix with samples as rows or a SummarizedExperiment object.

...

optional arguments not used.

k

Numeric scalar. The number of Dirichlet components to fit. See dmn. (Default: 1)

BPPARAM

A BiocParallelParam object specifying whether the calculation should be parallelized.

seed

Numeric scalar. Random number seed. See dmn

assay.type

Character scalar. Specifies the name of the assay used in calculation. (Default: "counts")

assay_name

Deprecated. Use assay.type instead.

exprs_values

Deprecated. Use assay.type instead.

transposed

Logical scalar. Is x transposed with samples in rows? (Default: FALSE)

name

Character scalar. The name to store the result in metadata

type

Character scalar. The type of measure used for the goodness of fit. One of ‘laplace’, ‘AIC’ or ‘BIC’.

variable

Character scalar. A variable from colData to use as a grouping variable. Must be a character of factor.

Value

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

See also

DMN-class, DMNGroup-class, dmn, dmngroup, cvdmngroup , accessors for DMN objects

Examples

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 <- addCluster(tse, name = "DMM", DmmParam(k = 1:3, type = "laplace"),
               by = "samples", full = TRUE)

# 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: 38848.01 BIC: 39997.42 AIC: 39286.41 
#> 

# 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: 38848.01 BIC: 39997.42 AIC: 39286.41 

# Get the sample-cluster assignment probability matrix
head(metadata(tse)$DMM$prob)
#>                    1            2            3
#> TS1.2   9.999997e-01 3.042111e-07 6.230944e-09
#> TS10.2  9.329702e-01 8.746688e-09 6.702980e-02
#> TS100.2 4.153240e-08 7.120033e-02 9.287996e-01
#> TS100   9.912894e-01 8.710015e-03 5.830676e-07
#> TS101.2 1.202136e-12 3.299003e-07 9.999997e-01
#> TS103.2 9.999971e-01 7.227951e-10 2.915066e-06

# Get the weight of each component for the best model
bestModel@mixture$Weight
#> [1] 0.5684009 0.2213691 0.2102300