Package 'DAssemble'

Title: Ensemble Models for Differential Analysis
Description: The DAssemble package implements an ensemble framework for differential-abundance and differential-expression analysis across bulk RNA-seq, single-cell RNA-seq, and microbiome studies. It wraps a collection of popular DA/DE methods as core methods and combines them via Cauchy Combination Tests (CCT), optionally augmented by simple enhancers such as Wilcoxon, Kolmogorov–Smirnov, and presence–absence logistic regression.
Authors: Himel Mallick [aut], Ziyu Liu [aut], Nalin Arora [aut, cre] (ORCID: <https://orcid.org/0009-0009-1340-688X>)
Maintainer: Nalin Arora <[email protected]>
License: MIT + file LICENSE
Version: 0.99.0
Built: 2026-06-09 14:00:19 UTC
Source: https://github.com/BiocStaging/DAssemble

Help Index


Differential analysis using DAssemble

Description

The DAssemble function implements an ensemble strategy for differential analysis. Users can select a single core model and optionally augment it with up to three enhancer models. Enhancers are simple, often nonparametric tests that provide complementary evidence. P-values from the core and enhancer models are combined using the Cauchy Combination Test (CCT).

Usage

DAssemble(
  features,
  metadata = NULL,
  core_method = NULL,
  enhancers = NULL,
  expVar = "group",
  coVars = NULL,
  assay_name = NULL,
  p_adj = "BY",
  enhancer_norm = "TSS",
  return_components = TRUE,
  return_subensembles = FALSE
)

Arguments

features

A MultiAssayExperiment object, or a data.frame with samples in rows and features in columns.

metadata

A data.frame with sample metadata. Leave as NULL when features is a MultiAssayExperiment; sample metadata is then taken from colData(features).

core_method

Character scalar naming the core method to run, or NULL / "none" for enhancer-only analysis.

enhancers

Character vector containing any of "WLX", "LR", and "KS".

expVar

Character scalar naming the binary exposure variable in metadata or colData(features).

coVars

Optional character vector naming covariates to include in covariate-aware core methods and logistic-regression enhancers.

assay_name

Name of the assay/experiment to use when features is a MultiAssayExperiment. Required when the object contains multiple experiments.

p_adj

Multiple-testing correction method passed to stats::p.adjust.

enhancer_norm

Normalization method for enhancer tests. One of "TSS", "CLR", "TMM", or "SCRAN".

return_components

Logical; if TRUE, return per-method component result tables.

return_subensembles

Logical; if TRUE, return CCT sub-ensemble results for all available method subsets.

Value

A list containing combined results in res, the analyzed feature table in features, elapsed time in Time.min, and optionally components and ensembles.

Examples

features <- data.frame(
  taxon1 = c(12, 9, 11, 8, 25, 21, 23, 26),
  taxon2 = c(30, 28, 31, 29, 10, 12, 11, 9),
  taxon3 = c(5, 6, 4, 7, 5, 4, 6, 5),
  taxon4 = c(8, 7, 9, 6, 12, 13, 11, 14),
  row.names = paste0("sample", seq_len(8))
)
metadata <- data.frame(
  group = factor(rep(c("control", "case"), each = 4)),
  row.names = rownames(features)
)
result <- DAssemble(
  features = features,
  metadata = metadata,
  core_method = NULL,
  enhancers = "WLX",
  expVar = "group"
)
head(result$res)