The Single Cell ToolKit (SCTK) is an analysis platform that provides an R interface to several popular scRNA-seq preprocessing, quality control, and visualization tools. SCTK imports raw or filtered counts from various single cell sequencing technologies and upstream tools such as 10x CellRanger, BUStools, Optimus, STARSolo, and more. By integrating several publicly available tools written in R as well as Python, SCTK performs extensive quality control measures including doublet detection and batch effect correction. Additionally, SCTK summarizes results and related visualizations in a comprehensive R markdown and/or HTML report. SCTK provides a standardized single cell analysis workflow by representing the counts data and the results using the SingleCellExperiment R object. Furthermore, SCTK enables seamless downstream analysis by exporting data and results in flat .txt and Python Anndata formats.

A comprehensive list of available functions is listed in the Reference section.


System setup

If you are the first time to install R, please don’t install 32 bit R. Make sure to uncheck the ‘32-bit Files’ box when you see the following window:

Window’s user

For window’s users, please install rtools based on your R version. Make sure to click ‘Edit the system PATH’ box when you see this window:

After installing rtools, install ‘devtools’ package with the following command. If it asks whether install the package that requires compilation, type ‘y’.


macOS user

For macbook’s users, please install gfortran with brew. If you have not installed brew, please check this link to set up brew on your machine.

brew install gcc

After that, install ‘devtools’ package with the following command.


Release Version

You can download the release version of the Single Cell Toolkit in Bioconductor v3.10:

if (!requireNamespace("BiocManager", quietly=TRUE))

Devel Version

You can download the development version of the Single Cell Toolkit in Bioconductor v3.11 or from this repository:

# install.packages("devtools")

R 3.4 Version

If you are still running an earlier version of R than 3.5, you can install the following version from this repository:

# install.packages("devtools")
devtools::install_github("compbiomed/singleCellTK", ref="r_3_4")

Troubleshooting Installation

For the majority of users, the commands above will install the latest version of the singleCellTK without any errors. Rarely, you may encounter an error due to previously installed versions of some packages that are required for the singleCellTK. If you encounter an error during installation, use the commands below to check the version of Bioconductor that is installed:

if (!requireNamespace("BiocManager", quietly=TRUE))

If the version number is not 3.6 or higher, you must upgrade Bioconductor to install the toolkit:


After you install Bioconductor 3.6 or higher, you should be able to install the toolkit using devtools::install_github("compbiomed/singleCellTK"). If you still encounter an error, ensure your Bioconductor packages are up to date by running the following command.


If the command above does not return TRUE, run the following command to update your R packages:


Then, try to install the toolkit again:


If you still encounter an error, please contact us and we’d be happy to help.

Develop singleCellTK

To contribute to singleCellTK, follow these steps:

Note: Development of the singleCellTK is done using the latest version of R.

  1. Fork the repo using the “Fork” button above.
  2. Download a local copy of your forked repository “git clone{username}/singleCellTK.git
  3. Open Rstudio
  4. Go to “File” -> “New Project” -> “Existing Directory” and select your git repository directory

You can then make your changes and test your code using the Rstudio build tools. There is a lot of information about building packages available here:

Information about building shiny packages is available here:

When you are ready to upload your changes, commit them locally, push them to your forked repo, and make a pull request to the compbiomed repository.

Report bugs and request features on our GitHub issue tracker.

Join us on slack!