https://github.com/theislab/sccoda
A Bayesian model for compositional single-cell data analysis
https://github.com/theislab/sccoda
compositional-changes single-cell-rna-seq statistical-analysis tensorflow
Last synced: 3 months ago
JSON representation
A Bayesian model for compositional single-cell data analysis
- Host: GitHub
- URL: https://github.com/theislab/sccoda
- Owner: theislab
- License: bsd-3-clause
- Created: 2019-01-21T08:20:55.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-05-02T15:00:09.000Z (over 2 years ago)
- Last Synced: 2025-08-19T15:09:02.649Z (5 months ago)
- Topics: compositional-changes, single-cell-rna-seq, statistical-analysis, tensorflow
- Language: Jupyter Notebook
- Homepage:
- Size: 146 MB
- Stars: 172
- Watchers: 9
- Forks: 24
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scCODA - Single-cell differential composition analysis
> **Note**
> This implementation is no longer maintained. A new version in Jax is available in [pertpy](https://pertpy.readthedocs.io/en/latest).
>
> For more information and contribution guidelines please visit the associated Github repository: https://github.com/theislab/pertpy
scCODA allows for identification of compositional changes in high-throughput sequencing count data, especially cell compositions from scRNA-seq.
It also provides a framework for integration of cell-type annotated data directly from [scanpy](https://scanpy.readthedocs.io/en/stable/) and other sources.
Aside from the scCODA model (Büttner, Ostner *et al* (2021)), the package also allows the easy application of other differential testing methods.

The statistical methodology and benchmarking performance are described in:
Büttner, Ostner *et al* (2021). **scCODA is A Bayesian model for compositional single-cell data analysis**
([*Nature Communications*](https://www.nature.com/articles/s41467-021-27150-6))
Code for reproducing the analysis from the paper is available [here](https://github.com/theislab/scCODA_reproducibility).
For further information on the scCODA package and model, please refer to the
[documentation](https://sccoda.readthedocs.io/en/latest/) and the
[tutorials](https://github.com/theislab/scCODA/blob/master/tutorials).
## 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 scCODA and are thus not recommended.
**To install scCODA via pip, call**:
pip install sccoda
**To install scCODA from source**:
- Navigate to the directory that you want to install scCODA in
- Clone the repository from Github (https://github.com/theislab/scCODA):
`git clone https://github.com/theislab/scCODA`
- Navigate to the root directory of scCODA:
`cd scCODA`
- Install dependencies::
`pip install -r requirements.txt`
- Install the package:
`python setup.py install`
**Docker container**:
We provide a Docker container image for scCODA (https://hub.docker.com/repository/docker/wollmilchsau/scanpy_sccoda).
## Usage
Import scCODA in a Python session via:
import sccoda
**Tutorials**
scCODA provides a number of tutorials for various purposes. Please also visit the [documentation](https://sccoda.readthedocs.io/en/latest/) for further information on the statistical model, data structure and API.
- The ["getting started" tutorial](https://sccoda.readthedocs.io/en/latest/getting_started.html) provides a quick-start guide for using scCODA.
- In the [advanced tutorial](https://sccoda.readthedocs.io/en/latest/Modeling_options_and_result_analysis.html), options for model specification, diagnostics, and result interpretation are disccussed.
- The [data import and visualization tutorial](https://sccoda.readthedocs.io/en/latest/Data_import_and_visualization.html) focuses on loading data from different sources and visualizing their characteristics.
- The [tutorial on other methods](https://sccoda.readthedocs.io/en/latest/using_other_compositional_methods.html) explains how to apply other methods for differential abundance testing from within scCODA.