Awesome
scImpute: accurate and robust imputation of scRNA-seq data
Wei Vivian Li, Jingyi Jessica Li 2019-08-20
<!-- README.md is generated from README.Rmd. Please edit that file -->Latest News
2019/08/20:
- Since the development of scImpute, new imputation methods have been proposed for scRNA-seq data. These methods have different model assumptions and diverse performances on different datasets. It contributes to both method development and bioinformatic applications to discuss and compare existing imputation methods. However, we realize several issues in existing evaluation and comparison of imputation methods and discuss these issue in our commentary, which is available at arxiv.
2018/08/15:
- Version 0.0.9 is released!
- More robust implementation of dimension reduction.
- Faster calculation of cell similarity.
Introduction
scImpute
is developed to accurately and robustly impute the dropout values in scRNA-seq data. scImpute
can be applied to raw read count matrix before the users perform downstream analyses such as
- dimension reduction of scRNA-seq data
- normalization of scRNA-seq data
- clustering of cell populations
- differential gene expression analysis
- time-series analysis of gene expression dynamics
The users can refer to our paper An accurate and robust imputation method scImpute for single-cell RNA-seq data for a detailed description of the modeling and applications.
Any suggestions on the package are welcome! For technical problems, please report to Issues. For suggestions and comments on the method, please contact Wei (liw@ucla.edu) or Dr. Jessica Li (jli@stat.ucla.edu).
Installation
The package is not on CRAN yet. For installation please use the following codes in R
install.packages("devtools")
library(devtools)
install_github("Vivianstats/scImpute")
Quick start
scImpute
can be easily incorporated into existing pipeline of scRNA-seq analysis. Its only input is the raw count matrix with rows representing genes and columns representing cells. It will output an imputed count matrix with the same dimension. In the simplest case, the imputation task can be done with one single function scimpute
:
scimpute(# full path to raw count matrix
count_path = system.file("extdata", "raw_count.csv", package = "scImpute"),
infile = "csv", # format of input file
outfile = "csv", # format of output file
out_dir = "./", # full path to output directory
labeled = FALSE, # cell type labels not available
drop_thre = 0.5, # threshold set on dropout probability
Kcluster = 2, # 2 cell subpopulations
ncores = 10) # number of cores used in parallel computation
This function returns the column indices of outlier cells, and creates a new file scimpute_count.csv
in out_dir
to store the imputed count matrix. Please note that we recommend applying scImpute on the whole-genome count matrix. A filtering step on genes is acceptable but most genes should be present to ensure robust identification of dropouts.
For detailed usage, please refer to the package manual or vignette.