Skip to main content

Tree-aggregated compositional analysis for high-throughput sequencing data

Project description

tascCODA

Tree-aggregated compositional analysis for high-throughput sequencing data

tascCODA extends the scCODA model (Büttner, Ostner et al., 2021) with a method to perform sparse, tree-aggregated modeling of high-throughput sequencing data. Hereby, tascCODA can infer credible changes on the features (i.e. cell types/ASVs/taxa) of a high-throughput sequencing dataset, as well as effects on subgroups of the set of features, which are defined by a tree structure, for example a cell lineage hierarchy or a taxonomic tree.

The statistical methodology and benchmarking performance are described here:

Ostner, J., Carcy, S., and Müller, C. L. (2021). tascCODA: Bayesian Tree-Aggregated Analysis of Compositional Amplicon and Single-Cell Data. Front. Genet. 12, 766405.

Code for reproducing the analysis from the paper is available here.

Installation

Running the package requires a working Python environment (>=3.8).

This package uses the tensorflow (>=2.8) and tensorflow-probability (>=0.16) packages. The GPU computation features of these packages have not been tested with tascCODA and are thus not recommended.

To install tascCODA via pip, call:

pip install tasccoda

To install tascCODA from source:

  • Navigate to the directory that you want to install tascCODA in

  • Clone the repository from Github:

    git clone https://github.com/bio-datascience/tascCODA

  • Navigate to the root directory of tascCODA:

    cd tascCODA

  • Install dependencies::

    pip install -r requirements.txt

  • Install the package:

    python setup.py install

Usage

Import tascCODA in a Python session via:

import tasccoda

You can then import a dataset in the same way as scCODA (see here for an instruction on scCODA's data structure) Once you imported your dataset, add a toytree tree object, for example generated from a Newick string, as data.uns["phylo_tree"].

Then, initialize your analysis object, together with your formula and reference feature (see the scCODA documentation for explanations). To set the aggregation bias, pass "phi" as a key in the pen_args parameter

`model = tasccoda.tree_ana.CompositionalAnalysisTree(
data,
reference_cell_type="9",
formula="x_0",
pen_args={"phi":phi},
)
`

Then, run HMC sampling with dual-averaging step size adaptation by calling:

`result = model.sample_hmc_da()`

Finally, you can look at result.node_df to find credible effects of covariates on tree nodes or plot a tree with indicators for credible effects with result.draw_tree_effects()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tascCODA-0.1.3.tar.gz (18.7 kB view details)

Uploaded Source

Built Distribution

tascCODA-0.1.3-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file tascCODA-0.1.3.tar.gz.

File metadata

  • Download URL: tascCODA-0.1.3.tar.gz
  • Upload date:
  • Size: 18.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.5

File hashes

Hashes for tascCODA-0.1.3.tar.gz
Algorithm Hash digest
SHA256 8c12ddccb72c41c96c6a5abceb52e7a76f439a9ab94fb092aa86ee3c1292383a
MD5 b10be7e1519a5a3381670d7ddce19fc8
BLAKE2b-256 e3413f327659348c7b96713bb098a5b4f0b588df96d30ed9477b100dff9bdec2

See more details on using hashes here.

File details

Details for the file tascCODA-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: tascCODA-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/51.0.0.post20201207 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.8.5

File hashes

Hashes for tascCODA-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 1b1b908e65f247c5d5264bbcf5a00af744180473caa8d8ae40720e11d42e2238
MD5 3302a5c2060ca984b7e5acca4c2e05c3
BLAKE2b-256 228c0151cd4a64a4b1a944ca3b2d31b3d0dd9cdde23ff24ea5a2ceb608040ddc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page