Deep count autoencoder for denoising scRNA-seq data
A deep count autoencoder network to denoise scRNA-seq data and remove the dropout effect by taking the count structure, overdispersed nature and sparsity of the data into account using a deep autoencoder with zero-inflated negative binomial (ZINB) loss function.
For a traditional Python installation of the count autoencoder and the required packages, use
$ pip install dca
$ conda install -c bioconda dca
You can run the autoencoder from the command line:
dca matrix.csv results
matrix.csv is a CSV/TSV-formatted raw count matrix with genes in rows and cells in columns. Cell and gene labels are mandatory.
Output folder contains the main output file (representing the mean parameter of ZINB distribution) as well as some additional matrices in TSV format:
mean.tsvis the main output of the method which represents the mean parameter of the ZINB distribution. This file has the same dimensions as the input file (except that the zero-expression genes or cells are excluded). It is formatted as a
gene x cellmatrix. Additionally,
mean_norm.tsvfile contains the library size-normalized expressions of each cell and gene. See
normalize_per_cellfunction from Scanpy for the details about the default library size normalization method used in DCA.
dispersion.tsvfiles represent dropout probabilities and dispersion for each cell and gene. Matrix dimensions are same as
mean.tsvand the input file.
reduced.tsvfile contains the hidden representation of each cell (in a 32-dimensional space by default), which denotes the activations of bottleneck neurons.
-h option to see all available parameters and defaults.
You can run the autoencoder with
--hyper option to perform hyperparameter search.