| 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 |
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).
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 )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 )
features |
A |
metadata |
A data.frame with sample metadata. Leave as |
core_method |
Character scalar naming the core method to run, or |
enhancers |
Character vector containing any of |
expVar |
Character scalar naming the binary exposure variable in
|
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 |
p_adj |
Multiple-testing correction method passed to stats::p.adjust. |
enhancer_norm |
Normalization method for enhancer tests. One of
|
return_components |
Logical; if |
return_subensembles |
Logical; if |
A list containing combined results in res, the analyzed feature
table in features, elapsed time in Time.min, and optionally
components and ensembles.
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)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)