An open API service indexing awesome lists of open source software.

https://github.com/microbialgenomics-irsicaixaorg/dar

dar: runs multiple differential abundance analysis methods and through a consensus strategy returns a set of differentially abundant features.
https://github.com/microbialgenomics-irsicaixaorg/dar

bioconductor biomarker-discovery differential-abundance-analysis feature-selection microbiology microbiome phyloseq rstats

Last synced: 4 months ago
JSON representation

dar: runs multiple differential abundance analysis methods and through a consensus strategy returns a set of differentially abundant features.

Awesome Lists containing this project

README

          

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# dar

[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![R-CMD-check](https://github.com/MicrobialGenomics-IrsicaixaOrg/dar/workflows/R-CMD-check-bioc/badge.svg)](https://github.com/MicrobialGenomics-IrsicaixaOrg/dar/actions)
[![Codecov test coverage](https://codecov.io/gh/MicrobialGenomics-IrsicaixaOrg/dar/branch/devel/graph/badge.svg)](https://app.codecov.io/gh/MicrobialGenomics-IrsicaixaOrg/dar?branch=devel)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://makeapullrequest.com)
[![GitHub issues](https://img.shields.io/github/issues/MicrobialGenomics-IrsicaixaOrg/dar)](https://github.com/MicrobialGenomics-IrsicaixaOrg/dar/issues)
[![GitHub pulls](https://img.shields.io/github/issues-pr/MicrobialGenomics-IrsicaixaOrg/dar)](https://github.com/MicrobialGenomics-IrsicaixaOrg/dar/pulls)

## Introduction

Differential abundance testing in microbiome data challenges both parametric
and non-parametric statistical methods, due to its sparsity, high variability
and compositional nature. Microbiome-specific statistical methods often assume
classical distribution models or take into account compositional specifics.
These produce results that range within the specificity vs sensitivity space
in such a way that type I and type II error are difficult to ascertain in real
microbiome data when a single method is used. Recently, a consensus approach
based on multiple differential abundance (DA) methods was recently suggested
in order to increase robustness.

With dar, you can use dplyr-like pipeable sequences of DA methods and then
apply different consensus strategies. In this way we can obtain more reliable
results in a fast, consistent and reproducible way.

## Installation

You can install the development version of dar from [GitHub](https://github.com/) with:

```{r eval=FALSE}
# install.packages("pak")
pak::pkg_install("MicrobialGenomics-IrsicaixaOrg/dar")
```

## Usage

```{r}
library(dar)
data("metaHIV_phy")

## Define recipe
rec <-
recipe(metaHIV_phy, var_info = "RiskGroup2", tax_info = "Species") |>
step_subset_taxa(tax_level = "Kingdom", taxa = c("Bacteria", "Archaea")) |>
step_filter_taxa(.f = "function(x) sum(x > 0) >= (0.03 * length(x))") |>
step_maaslin() |>
step_aldex()

rec

## Prep recipe
da_results <- prep(rec, parallel = TRUE)
da_results

## Consensus strategy
n_methods <- 2
da_results <- bake(da_results, count_cutoff = n_methods)
da_results

## Results
cool(da_results)
```

## Contributing

- If you think you have encountered a bug, please [submit an issue](https://github.com/MicrobialGenomics-IrsicaixaOrg/dar/issues).

- Either way, learn how to create and share a [reprex](https://reprex.tidyverse.org/articles/articles/learn-reprex.html) (a minimal, reproducible example), to clearly communicate about your code.

- Working on your first Pull Request? You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://kcd.im/pull-request)

## Code of Conduct

Please note that the dar project is released with a [Contributor Code of Conduct](https://contributor-covenant.org/version/2/0/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.