sc-Epigenomics: ChIP

ChromSCapeRefRSingle-Cell Chromatin Landscape profiling, analysis of sparse single-cell chromatin profiling datasets in a Shiny App
Dr.seq2RefR, PythonQuality control and analysis pipeline for parallel single cell transcriptome and epigenome data (including scATAC-seq and Drop-ChIP data)
SCRATRefRSingle-Cell Regulome Analysis Tool (ATAC-seq, DNase-seq, ChIP-seq)

sc-Epigenomics: Chromatin accessibility

epiScanpyRefPythonComputational framework for the analysis of single-cell DNA methylation and single-cell ATAC-seq data
scipipelineSnakemakePipeline for processing single-cell combinatorial indexing ATAC seq data
APECRefPythonAccessibility Pattern-based Epigenomic Clustering, single-cell chromatin accessibility analysis toolkit
BrockmanRefRBrockman Representation Of Chromatin by K-mers in Mark-Associated Nucleotides,  tool for exploratory data analysis for highdimensional or single cell epigenomics
ChraccRRTools for the comprehensive analysis of (single cell) chromatin accessibility data, methods for data quality control, exploratory analyses and the identification and characterization of differentially accessible regions
ChromVARRefRAnalysis of sparse chromatin accessibility data from single cell or bulk ATAC or DNAse-seq data
CiceroRefRTools for analyzing single-cell chromatin accessibility experiments
cisTopicRefRSimultaneously identify cell states and cis-regulatory topics from single cell epigenomics data
DC3RefPythonDe-Convolution and Coupled-Clustering, method for the joint analysis of various bulk and single-cell data such as HiChIP, RNA-seq and ATAC-seq from the same heterogeneous cell population
DestinRefRToolkit for single-cell analysis of chromatin accessibility, scATAC-seq processing and cell clustering pipeline
Dr.seq2RefR, PythonQuality control and analysis pipeline for parallel single cell transcriptome and epigenome data (including scATAC-seq and Drop-ChIP data)
epiConvRefRAlgorithm to cluster scATAC-seq data and detect differentially accessible peaks,  epiConv learns the similarities (or distances) between single cells from their raw Tn5 insertion profiles by a convolution-based approach
scABCRefRUnsupervised clustering and analysis of scATAC-seq data
SCALERefPythonSingle-cell ATAC-seq analysis via Latent feature Extraction
ScasatRefJupyter NotebookSingle cell ATAC-seq preprocessing and analysis pipeline
scATAC-proRefPerlComprehensive tool for processing, analyzing and visualizing single cell chromatin accessibility sequencing data
SCATERefRSingle-cell ATAC-seq Signal Extraction and Enhancement, adaptively integrates information from co-activated cis regulatory regions, similar cells, and publicly available regulome data
scBFARefRModeling detection patterns to mitigate technical noise in large-scale single cell genomics data (scRNA-seq and scATAC-seq)
SCRATRefRSingle-Cell Regulome Analysis Tool (ATAC-seq, DNase-seq, ChIP-seq)
SignacRSignac is an extension of Seurat for the analysis, interpretation, and exploration of single-cell chromatin datasets
SnapATACRefR, PythonSingle Nucleus Analysis Pipeline for ATAC-seq
STREAMRefJupyter NotebookSingle-cell Trajectories Reconstruction, Exploration And Mapping, interactive pipeline capable of disentangling and visualizing complex branching trajectories from both single-cell transcriptomic and epigenomic data

sc-Epigenomics: HiC

BhmemRefJavaA mapping tool for Methyl-HiC and single-cell Methyl-HiC based on bwa
GiniQCRefPythonTool for single-cell Hi-C quality control which quantifies unevenness in the distribution of inter-chromosomal reads in the scHi-C contact matrix to measure the level of noise
hickitRefCTAD calling, phase imputation, 3D modeling and more for diploid single-cell Hi-C (Dip-C) and general Hi-C
NucProcessRefPythonChromatin contact paired-read single-cell Hi-C processing module for Nuc3D and NucTools
scHiCExplorerPythonSingle cell Hi-C data analysis toolbox, set of programs to process, normalize, analyse and visualize single-cell Hi-C data
scHiClusterRefPythonsingle-cell clustering algorithm for Hi-C contact matrices that is based on imputations using linear convolution and random walk
scHiCToolsRefPythonComputational toolbox for analyzing single cell Hi-C data

sc-Epigenomics: DNA methylation

BEATRefRBS-Seq Epimutation Analysis Toolkit, model-based analysis of single-cell methylation data
DeepCpGRefPythonAccurate prediction of single-cell DNA methylation states using deep learning
epiScanpyRefPythonComputational framework for the analysis of single-cell DNA methylation and single-cell ATAC-seq data
BPRMethRefRpackage that quantifies methylation profiles by generalized linear model regression – supports single cell methylation data, using a Bernoulli likelihood
csmFinderRefRPackage for identifying putative cell-subset specific DNA methylation (pCSM) loci from single-cell or bulk methylomes
EpiclomalRefPythonProbabilistic clustering of sparse single-cell DNA methylation data
EpiSCOREREpigenetic cell-type deconvolution from Single-Cell Omic Reference profiles, exploits the tissue-specific single-cell RNA-Sequencing atlases to construct corresponding tissue-specific DNA methylation references.
MelissaRefRMEthyLation Inference for Single cell Analysis, bayesian blustering and imputation of single cell methylomes
PDclustRefRAnalytical strategy to define single-cell DNA methylation states through pairwise comparisons of single-CpG methylation measurements


cardelinoRefRIntegrating whole exomes and single-cell transcriptomes to reveal phenotypic impact of somatic variants
cycloneRefRComputational assignment of cell-cycle stage from single-cell transcriptome data
DCARefPythonDeep Count Autoencoder, denoising of scRNA-seq datasets
destinyRefRDiffusion maps for high-dimensional single-cell analysis of differentiation data
DistMapRefRSpatial mapping of single cell RNA sequencing data by using an existing reference database of in situs
FateIDRefRAlgorithm for the inference of cell fate bias in multipotent progenitors from singe-cell RNA-seq data
kBETRefRk-nearest neighbour Batch Effect Test, R package to test for batch effects in high-dimensional single-cell RNA sequencing data
MCARefRMultiresolution Correlation Analysis, a graphical tool for subpopulation identification in single-cell gene expression data
netSmoothRefRR/Bioconductor package for network smoothing of single cell RNA sequencing data
novoSpaRcRefPythonde novo Spatial Reconstruction of Single-Cell Gene Expression
PAGARefJupyter NotebookGraph abstraction reconciles clustering with trajectory inference through a topology preserving map of single cells (available within Scanpy)
PiGx scRNAseqRefsnakemakePipeline for analysis of Dropseq single cell RNA-seq data
powsimRRefRPower analysis for bulk and single cell RNA-seq experiments
RaceID3RefRAlgorithm for rare cell type identification from single-cell RNA-seq data
ScanpyRefPythonSingle-Cell Analysis in Python, scalable toolkit for analyzing single-cell gene expression data including preprocessing, visualization, clustering, pseudotime and trajectory inference and differential expression testing
scGenRefPythonGenerative model to predict single-cell perturbation response across cell types, studies and species
sc-LVMRefR, PythonModelling framework for single-cell RNA-seq data
SCRATRefRSingle Cell R Analysis Toolkit
slalomRefR, PythonScalable modelling framework for single-cell RNA-seq data that uses gene set annotations to dissect single-cell transcriptome heterogeneity
StemID2RefRAlgorithm for the inference of differentiation trajectories and the stem cell identity from single-cell RNA-seq data
stochprofMLRTool to infer single-cell regulatory states from expression measurements taken from small groups of cells (averaging-and-deconvolution approach)
zUMIsRefRFast and flexible pipeline to process (single-cell) RNA sequencing data with UMIs

Selection of popular software:

BackSPINRefPythonBiclustering algorithm developed taking into account intrinsic features of single-cell RNA-seq experiments
CellityRefRClassification of low quality cells in scRNA-seq data using R
CellRangerR, PythonSet of analysis pipelines that process Chromium single cell 3’ RNA-seq output to align reads, generate gene-cell matrices and perform clustering and gene expression analysis
CIDRRefRClustering through Imputation and Dimensionality Reduction, ultrafast algorithm which uses a novel yet very simple ‘implicit imputation’ approach to alleviate the impact of dropouts in scRNA-Seq data in a principled manner
inferCNVRefRInfer Copy Number Variation using single-cell RNA-seq expression data
MAGICRefR, PythonMarkov Affinity-based Graph Imputation of Cells
MASTRefRModel-based Analysis of Single-cell Transcriptomics, fits a two-part, generalized linear models that are specially adapted for bimodal and/or zero-inflated single cell gene expression data
MIMOSCARefPythonMultiple Input Multiple Output Single Cell Analysis
MonocleRefRDifferential expression and time-series analysis for single-cell RNA-seq
SC3RefRInteractive tool for the unsupervised clustering of cells from single cell RNA-seq experiments
SCDERefRDifferential expression using error models and overdispersion-based identification of important gene sets
SCENICRefR, PythonTool to infer gene regulatory networks and cell types from single-cell RNA-seq data
scImputeRefRAccurate and robust imputation of scRNA-seq data
scranRefRPackage that implements a variety of low-level analyses of single-cell RNA-seq data (methods for normalization of cell-specific biases, pool-based norms to estimate size factors, assignment of cell cycle phase, and detection of highly variable and significantly correlated genes)
SCUBARefRSingle-cell Clustering Using Bifurcation Analysis, computational method for extracting lineage relationships from single-cell gene expression data, and modeling the dynamic changes associated with cell differentiation
SeuratRefREasy-to-use implementations of commonly used analytical techniques, including the identification of highly variable genes, dimensionality reduction (PCA, ICA, t-SNE), standard unsupervised clustering algorithms (density clustering, hierarchical clustering, k-means), and the discovery of differentially expressed genes and markers
SIMLRRefR, PythonSingle-cell Interpretation via Multi-kernel LeaRning which learns an appropriate distance metric from the data for dimension reduction, clustering and visualization
SPADERefRVisualization and cellular hierarchy inference of single-cell data
SplatterRefRSimple simulation of single-cell RNA sequencing data
TraCeRRefPythonReconstruction of T cell receptor sequences from single-cell RNA-seq data
TSCANRefRPseudo-time reconstruction and evaluation in single-cell RNA-seq analysis
velocytoRefR, PythonEstimating RNA velocity in single cell RNA sequencing datasets
WishboneRefJupyter NotebookWishbone is an algorithm to align single cells along developmental trajectories with branches
ZIFARefPythonZero-inflated dimensionality reduction algorithm for single-cell data

sc-Multi-assay data integration

epiScanpy Ref Python Computational framework for the analysis of single-cell DNA methylation and single-cell ATAC-seq data
MOFA Ref R/Python Factor analysis model that provides a general framework for the integration of multi-omic data sets in a completely unsupervised fashion
clonealignRefRBayesian inference of clone-specific gene expression estimates by integrating single-cell RNA-seq and single-cell DNA-seq data
DC3RefPythonDe-Convolution and Coupled-Clustering, method for the joint analysis of various bulk and single-cell data such as HiChIP, RNA-seq and ATAC-seq from the same heterogeneous cell population. DC3 can simultaneously identify distinct subpopulations, assign single cells to the subpopulations (i.e., clustering) and de-convolve the bulk data into subpopulation-specific data.
LIGERRefRPackage for integrating and analyzing multiple single-cell datasets (e.g., scRNAseq and spatial transcriptomics data, scMethylation, or scATAC-seq), relying on integrative non-negative matrix factorization to identify shared and dataset-specific factors
MATCHERRefPythonManifold Alignment to CHaracterize Experimental Relationships, approach for integrating multiple types of single cell measurements
scAIRefRsingle-cell aggregation and integration (scAI) approach to integrate transcriptomic and epigenomic profiles (i.e., chromatin accessibility or DNA methylation) that are derived from the same cells, taking into consideration the extremely sparse and near-binary nature of single-cell epigenomic data
SignacRSignac is an extension of Seurat for the analysis, interpretation, and exploration of single-cell chromatin datasets
SingleCellFusionRefJupyter NotebookTool to integrate single-cell transcriptome and epigenome data

Other single cell software

BaSiC Ref Tool for background and shading correction of optical microscopy images, improves continuous single-cell quantification through correction of temporal drift in time-lapse microscopy data
DeepFlow Ref Python Data analysis workflow for imaging flow cytometry that combines deep convolutional neural networks with non-linear dimension reduction
SpatialDE Ref Jupyter Notebook Method to identify genes which significantly depend on spatial coordinates in non-linear and non-parametric ways (spatially resolved RNA-sequencing from e.g. spatial transcriptomics, in situ gene expression measurements from e.g. SeqFISH or MERFISH)
tTt and qTfy Ref Enabling single- cell tracking and quantification of cellular and molecular properties in time-lapse imaging data

External lists of single cell tools

Awesome single cellList of software packages and data resources for single-cell, including RNA-seq, ATAC-seq, etc.
omicXPlatform that provides real-time access to the pathways used by life science practitioners in their published works, includes
scRNA toolsTable of tools for the analysis of single-cell RNA-seq data
scRNA-seq notesList of scRNA-seq analysis tools