Skip to main content

A deep learning method for joint batch correction, denoting, and clustering of single-cell rna-seq data.

Project description

CarDEC

CarDEC (Count adapted regularized Deep Embedded Clustering) is a joint deep learning computational tool that is useful for analyses of single-cell RNA-seq data. CarDEC can be used to:

  1. Correct for batch effect in the full gene expression space, allowing the investigator to remove batch effect from downstream analyses like psuedotime analysis and coexpression analysis. Batch correction is also possible in a low-dimensional embedding space.
  2. Denoise gene expression.
  3. Cluster cells.

Reproducibility

We described and introduced CarDEC in our methodological paper. To find code to reproduce the results we generated in that paper, please visit this separate github repository, which provides all code (including that for other methods) necessary to reproduce our results.

Installation

Recomended installation procedure is as follows.

  1. Install Anaconda if you do not already have it.
  2. Create a conda environment, and then activate it as follows in terminal.
$ conda create -n cardecenv
$ conda activate cardecenv
  1. Install an appropriate version of python.
$ conda install python==3.7
  1. Install nb_conda_kernels so that you can change python kernels in jupyter notebook.
$ conda install nb_conda_kernels
  1. Finally, install CarDEC.
$ pip install CarDEC

Now, to use CarDEC, always make sure you activate the environment in terminal first ("conda activate cardecenv"). And then run jupyter notebook. When you create a notebook to run CarDEC, make sure the active kernel is switched to "cardecenv"

Usage

A tutorial jupyter notebook, together with a dataset, is publicly downloadable.

Software Requirements

  • Python >= 3.7
  • TensorFlow >= 2.0.1, <= 2.3.1
  • scikit-learn == 0.22.2.post1
  • scanpy == 1.5.1
  • louvain == 0.6.1
  • pandas == 1.0.1
  • scipy == 1.4.1

Trouble shooting

Installation on MacOS should be smooth. If installing on Windows Subsystem for Linux (WSL), the user must properly configure their g++ compiler to ensure that the louvain package can be built during installation. If the compiler is not properly configured, the user may encounter a following deprecation error similar to the following.

"DEPRECATION: Could not build wheels for louvain which do not use PEP 517. pip will fall back to legacy 'setup.py install' for these. pip 21.0 will remove support for this functionality. A possible replacement is to fix the wheel build issue reported above."

To fix this error, try to install the libxml2-dev package.

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

cardec-1.0.3.tar.gz (21.3 kB view hashes)

Uploaded Source

Built Distribution

cardec-1.0.3-py3-none-any.whl (28.5 kB view hashes)

Uploaded Python 3

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