Co-expression analysis

Description

Function for primary code to perform co-expression analysis, with or without data transformation, using mixture models. The output of coseq_run is an S3 object of class coseq.

Usage

1
2
3
coseq_run(y, K, conds = NULL, norm = "TMM", model = "Normal",
  transformation = "arcsin", subset = NULL, meanFilterCutoff = 50,
  modelChoice = "ICL", parallel = FALSE, BPPARAM = bpparam(), ...)

Arguments

y

(n x q) matrix of observed counts for n observations and q variables

K

Number of clusters (a single value or a vector of values)

conds

Vector of length q defining the condition (treatment group) for each variable (column) in y

norm

The type of estimator to be used to normalize for differences in library size: (“TC” for total count, “UQ” for upper quantile, “Med” for median, “DESeq” for the normalization method in the DESeq package, and “TMM” for the TMM normalization method (Robinson and Oshlack, 2010). Can also be a vector (of length q) containing pre-estimated library size estimates for each sample.

model

Type of mixture model to use (“Poisson” or “Normal”)

transformation

Transformation type to be used: “voom”, “logRPKM” (if geneLength is provided by user), “arcsin”, “logit”, “logMedianRef”, “profile”, “none

subset

Optional vector providing the indices of a subset of genes that should be used for the co-expression analysis (i.e., row indices of the data matrix y. For the generic function coseq, the results of a previously run differential analysis may be used to select a subset of genes on which to perform the co-expression analysis. If this is desired, subset.index can also be an object of class DESeqResults (from the results function in DESeq2).

meanFilterCutoff

Value used to filter low mean normalized counts if desired (by default, set to a value of 50)

modelChoice

Criterion used to select the best model. For Gaussian mixture models, “ICL” (integrated completed likelihood criterion) is currently supported. For Poisson mixture models, “ICL”, “BIC” (Bayesian information criterion), and a non-asymptotic criterion calibrated via the slope heuristics using either the “DDSE” (data-driven slope estimation) or “Djump” (dimension jump) approaches may be used. See the HTSCluster package documentation for more details about the slope heuristics approaches.

parallel

If FALSE, no parallelization. If TRUE, parallel execution using BiocParallel (see next argument BPPARAM). A note on running in parallel using BiocParallel: it may be advantageous to remove large, unneeded objects from the current R environment before calling the function, as it is possible that R's internal garbage collection will copy these files while running on worker nodes.

BPPARAM

Optional parameter object passed internally to bplapply when parallel=TRUE. If not specified, the parameters last registered with register will be used.

...

Additional optional parameters.

Value

An S3 object of class coseq containing the following:

results

Object of class NormMixClus or PoisMixClus

model

Model used, either Normal or Poisson

transformation

Transformation used on the data

tcounts

Transformed data using to estimate model

y_profiles

Normalized profiles for use in plotting

norm

Normalization factors used in the analysis

Author(s)

Andrea Rau

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
## Simulate toy data, n = 300 observations
set.seed(12345)
countmat <- matrix(runif(300*4, min=0, max=500), nrow=300, ncol=4)
countmat <- countmat[which(rowSums(countmat) > 0),]
conds <- rep(c("A","B","C","D"), each=2)

## Run the Normal mixture model for K = 2,3,4
## The following are equivalent:
run <- coseq_run(y=countmat, K=2:4, iter=5, transformation="arcsin")
run <- coseq(y=countmat, K=2:4, iter=5, transformation="arcsin")