List of software packages (and the people developing these methods) for single-cell data analysis, including RNA-seq, ATAC-seq, etc. Contributions welcome...
- anchor - [Python] - ⚓ Find bimodal, unimodal, and multimodal features in your data
- BackSPIN - [Python] - Biclustering algorithm developed taking into account intrinsic features of single-cell RNA-seq experiments.
- BASiCS - [R] - Bayesian Analysis of single-cell RNA-seq data. Estimates cell-specific normalization constants. Technical variability is quantified based on spike-in genes. The total variability of the expression counts is decomposed into technical and biological components. BASiCS can also identify genes with differential expression/over-dispersion between two or more groups of cells.
- bonvoyage - [Python] - 📐 Transform percentage-based units into a 2d space to evaluate changes in distribution with both magnitude and direction.
- BPSC - [R] - Beta-Poisson model for single-cell RNA-seq data analyses
- Cellity - [R] - Classification of low quality cells in scRNA-seq data using R
- cellTree - [R] - Cell population analysis and visualization from single cell RNA-seq data using a Latent Dirichlet Allocation model.
- clusterExperiment - [R] - Functions for running and comparing many different clusterings of single-cell sequencing data. Meant to work with SCONE and slingshot.
- destiny - [R] - Diffusion maps are spectral method for non-linear dimension reduction introduced by Coifman et al.(2005). Diffusion maps are based on a distance metric (diffusion distance) which is conceptually relevant to how differentiating cells follow noisy diffusion-like dynamics, moving from a pluripotent state towards more differentiated states.
- ECLAIR - [python] - ECLAIR stands for Ensemble Clustering for Lineage Analysis, Inference and Robustness. Robust and scalable inference of cell lineages from gene expression data.
- embeddr - [R] - Embeddr creates a reduced dimensional representation of the gene space using a high-variance gene correlation graph and laplacian eigenmaps. It then fits a smooth pseudotime trajectory using principal curves.
- Falco - [AWS cloud] - Falco: A quick and flexible single-cell RNA-seq processing framework on the cloud.
- FastProject - [Python] - Signature analysis on low-dimensional projections of single-cell expression data.
- flotilla - [Python] Reproducible machine learning analysis of gene expression and alternative splicing data
- GiniClust - [Python/R] - GiniClust is a clustering method implemented in Python and R for detecting rare cell-types from large-scale single-cell gene expression data. GiniClust can be applied to datasets originating from different platforms, such as multiplex qPCR data, traditional single-cell RNAseq or newly emerging UMI-based single-cell RNAseq, e.g. inDrops and Drop-seq.
- HocusPocus - [R] - Basic PCA-based workflow for analysis and plotting of single cell RNA-seq data.
- MAST - [R] - Model-based Analysis of Single-cell Transcriptomics (MAST) fits a two-part, generalized linear models that are specially adapted for bimodal and/or zero-inflated single cell gene expression data.
- K-Branches - [R] - The main idea behind the K-Branches method is to identify regions of interest (branching regions and tips) in differentiation trajectories of single cells. So far, K-Branches is intended to be used on the diffusion map representation of the data, so the user should either provide the data in diffusion map space or use the destiny package perform diffusion map dimensionality reduction.
- M3Drop - [R] - Michaelis-Menten Modelling of Dropouts for scRNASeq.
- MAST - [R] - Model-based Analysis of Single-cell Transcriptomics (MAST) fits a two-part, generalized linear models that are specially adapted for bimodal and/or zero-inflated single cell gene expression data
- MIMOSCA - [python] - A repository for the design and analysis of pooled single cell RNA-seq perturbation experiments (Perturb-seq).
- Monocle - [R] - Differential expression and time-series analysis for single-cell RNA-Seq.
- nimfa - [Python] - Nimfa is a Python scripting library which includes a number of published matrix factorization algorithms, initialization methods, quality and performance measures and facilitates the combination of these to produce new strategies. The library represents a unified and efficient interface to matrix factorization algorithms and methods.
- OEFinder - [R] - Identify ordering effect genes in single cell RNA-seq data. OEFinder shiny impelemention depends on packages shiny, shinyFiles, gdata, and EBSeq.
- Ouija - [R] - Incorporate prior information into single-cell trajectory (pseudotime) analyses using Bayesian nonlinear factor analysis.
- outrigger - [Python] - Outrigger is a program to calculate alternative splicing scores of RNA-Seq data based on junction reads and a de novo, custom annotation created with a graph database, especially made for single-cell analyses.
- PoissonUMIs - [R] - Poisson Modelling of scRNASeq UMI counts.
- SAKE - [R] - Single-cell RNA-Seq Analysis and Clustering Evaluation.
- SC3 - [R] - SC3 is a tool for the unsupervised clustering of cells from single cell RNA-Seq experiments.
- scater - [R] - Scater places an emphasis on tools for quality control, visualisation and pre-processing of data before further downstream analysis, filling a useful niche between raw RNA-sequencing count or transcripts-per-million data and more focused downstream modelling tools such as monocle, scLVM, SCDE, edgeR, limma and so on.
- scDD - [R] - scDD (Single-Cell Differential Distributions) is a framework to identify genes with different expression patterns between biological groups of interest. In addition to traditional differential expression, it can detect differences that are more complex and subtle than a mean shift.
- SCDE - [R] - Differential expression using error models and overdispersion-based identification of important gene sets.
- SCell - [matlab] - SCell is an integrated software tool for quality filtering, normalization, feature selection, iterative dimensionality reduction, clustering and the estimation of gene-expression gradients from large ensembles of single-cell RNA-seq datasets. SCell is open source, and implemented with an intuitive graphical interface.
- SCIMITAR - [Python] - Single Cell Inference of Morphing Trajectories and their Associated Regulation module (SCIMITAR) is a method for inferring biological properties from a pseudotemporal ordering. It can also be used to obtain progression-associated genes that vary along the trajectory, and genes that change their correlation structure over the trajectory; progression co-associated genes.
- scLVM - [R] - scLVM is a modelling framework for single-cell RNA-seq data that can be used to dissect the observed heterogeneity into different sources, thereby allowing for the correction of confounding sources of variation. scLVM was primarily designed to account for cell-cycle induced variations in single-cell RNA-seq data where cell cycle is the primary soure of variability.
- SCnorm - [R] - A quantile regression based approach for robust normalization of single cell RNA-seq data.
- SCONE - [R] - SCONE (Single-Cell Overview of Normalized Expression), a package for single-cell RNA-seq data quality control (QC) and normalization. This data-driven framework uses summaries of expression data to assess the efficacy of normalization workflows.
- SCORPIUS - [R] - SCORPIUS an unsupervised approach for inferring developmental chronologies from single-cell RNA sequencing data. It accurately reconstructs trajectories for a wide variety of dynamic cellular processes. The performance was evaluated using a new, quantitative evaluation pipeline, comparing the performance of current state-of-the-art techniques on 10 publicly available single-cell RNA sequencing datasets. It automatically identifies marker genes, speeding up knowledge discovery.
- SCOUP - [C++] - Uses probabilistic model based on the Ornstein-Uhlenbeck process to analyze single-cell expression data during differentiation.
- scran - [R] - This package implements a variety of low-level analyses of single-cell RNA-seq data. Methods are provided 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.
- SCRAT - [R] - SCRAT provides essential tools for users to read in single-cell regolome data (ChIP-seq, ATAC-seq, DNase-seq) and summarize into different types of features. It also allows users to visualize the features, cluster samples and identify key features.
- scTCRseq - [python] - Map T-cell receptor (TCR) repertoires from single cell RNAseq.
- SCUBA - [matlab/R] - SCUBA stands for "Single-cell Clustering Using Bifurcation Analysis." SCUBA is a novel computational method for extracting lineage relationships from single-cell gene expression data, and modeling the dynamic changes associated with cell differentiation.
- SEPA - [R] - SEPA provides convenient functions for users to assign genes into different gene expression patterns such as constant, monotone increasing and increasing then decreasing. SEPA then performs GO enrichment analysis to analysis the functional roles of genes with same or similar patterns.
- Seurat - [R] - It contains easy-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.
- sincell - [R] - Existing computational approaches for the assessment of cell-state hierarchies from single-cell data might be formalized under a general workflow composed of i) a metric to assess cell-to-cell similarities (combined or not with a dimensionality reduction step), and ii) a graph-building algorithm (optionally making use of a cells-clustering step). Sincell R package implements a methodological toolbox allowing flexible workflows under such framework.
- sincera - [R] - R-based pipeline for single-cell analysis including clustering and visualization.
- SinQC - [R] - A Method and Tool to Control Single-cell RNA-seq Data Quality.
- SLICER - [R] - Selective Locally linear Inference of Cellular Expression Relationships (SLICER) algorithm for inferring cell trajectories.
- slingshot - [R] - Functions for identifying and characterizing continuous developmental trajectories in single-cell sequencing data.
- SPADE - [R] - Visualization and cellular hierarchy inference of single-cell data using SPADE.
- splatter - [R] - Splatter is a package for the simulation of single-cell RNA sequencing count data. It provides a simple interface for creating complex simulations that are reproducible and well-documented.
- SPRING - [matlab, javascript, python] - SPRING is a collection of pre-processing scripts and a web browser-based tool for visualizing and interacting with high dimensional data. SPRING was developed for single cell RNA-Seq data but can be applied more generally.
- switchde - [R] - Differential expression analysis across pseudotime. Identify genes that exhibit switch-like up or down regulation along single-cell trajectories along with where in the trajectory the regulation occurs.
- TASC - [C++, python] - To account for cell-to-cell technical differences, we propose a statistical framework, TASC (Toolkit for Analysis of Single Cell RNA-seq), an empirical Bayes approach to reliably model the cell-specific dropout rates and amplification bias by use of external RNA spike-ins. TASC incorporates the technical parameters, which reflect cell-to-cell batch effects, into a hierarchical mixture model to estimate the biological variance of a gene and detect differentially expressed genes. More importantly, TASC is able to adjust for covariates to further eliminate confounding that may originate from cell size and cell cycle differences.
- TopSLAM - [python] - Extracting and using probabilistic Waddington's landscape recreation from single cell gene expression measurements.
- TraCeR - [python] - Reconstruction of T-Cell receptor sequences from single-cell RNA-seq data.
- TRAPeS - [python, C++] - TRAPeS (TCR Reconstruction Algorithm for Paired-End Single-cell), a software for reconstruction of T cell receptors (TCR) using short, paired-end single-cell RNA-sequencing.
- TSCAN - [R] - Pseudo-time reconstruction and evaluation in single-cell RNA-seq analysis.
- ZIFA - [Python] - Zero-inflated dimensionality reduction algorithm for single-cell data.
- Ginkgo - [R, C] - Ginkgo is a web application for single-cell copy-number variation analysis.
- monovar - [python] - Monovar is a single nucleotide variant (SNV) detection and genotyping algorithm for single-cell DNA sequencing data. It takes a list of bam files as input and outputs a vcf file containing the detected SNVs.
- BASIC - [python] - BASIC is a semi-de novo assembly method to determine the full-length sequence of the BCR in single B cells from scRNA-seq data.
- powsim - [R] - Power analysis for bulk and single cell RNA-seq experiments.
- MAGIC - [python] - MAGIC: A diffusion-based imputation method reveals gene-gene interactions in single-cell RNA-sequencing data
- SiFit - [Java] - SiFit: A Method for Inferring Tumor Trees from Single-Cell Sequencing Data under Finite-site Models
- Wishbone - [python] - Wishbone is an algorithm to identify bifurcating developmental trajectories from single cell data. Wishbone can applied to both single cell RNA-seq and mass cytometry datasets.
- Aaron Lun's Single Cell workflow on Bioconductor - [R] - This article describes a computational workflow for basic analysis of scRNA-seq data using software packages from the open-source Bioconductor project.
- Bioconductor2016 Single-cell-RNA-sequencing workshop by Sandrine Dudoit lab - [R] - SCONE, clusterExperiment, and slingshot tutorial.
- BiomedCentral Single Cell Omics collectin - collection of papers describing techniques for single-cell analysis and protocols.
- CSHL Single Cell Analysis - Bioinformatics course materials - Uses Shalek 2013 and Macaulay 2016 datasets to teach machine learning to biologists
- Festival of Genomics California Single Cell Workshop - [R] - Explores basic workflow from exploratory data analysis to normalization and downstream analyses using a dataset of 1679 cells from the Allen Brain Atlas.
- Gilad Lab Single Cell Data Exploration - R-based exploration of single cell sequence data. Lots of experimentation.
- Harvard STEM Cell Institute Single Cell Workshop 2015 - workshop on common computational analysis techniques for scRNA-seq data from differential expression to subpopulation identification and network analysis. See course description for more information
- Hemberg Lab scRNA-seq course materials
- Using Seurat for unsupervised clustering and biomarker discovery - 301 single cells across diverse tissues from (Pollen et al., Nature Biotechnology, 2014)
- Using Seurat for spatial inference in single-cell data - 851 single cells from Zebrafish embryogenesis (Satija*, Farrell* et al., Nature Biotechnology, 2015)
- 10X Genomics datasets - 10x genomics public datasets, including 1.3M cell mouse brain dataset.
- ASAP - Automated Single-cell Analysis Pipeline (deposited in BioRXiv on December 22, 2016).
- conquer - A repository of consistently processed, analysis-ready single-cell RNA-seq data sets.
- D3E - Discrete Distributional Differential Expression (D3E) is a tool for identifying differentially-expressed genes, based on single-cell RNA-seq data.
- Ginkgo - [R, C] - Ginkgo is a web application for single-cell copy-number variation analysis and visualization.
- Neuro Single Cell Expression Portal at the Broad - The Single-Cell RNA-Seq Portal for Brain Research was developed to facilitate sharing scientific results, and disseminate datasets resulting from the NIH's BRAIN initiative.
- SAKE - Single-cell RNA-Seq Analysis and Clustering Evaluation.
- scRNASeqDB - A database aggregating human single-cell RNA-seq datasets. ref
- [Single-cell Transcriptome Study as Big Data] (http://www.sciencedirect.com/science/article/pii/S1672022916000437)
- Comparative analysis of single-cell RNA sequencing methods - a comparison of wet lab protocols for scRNA sequencing.
- CrazyHotTommy's RNA-seq analysis list - Very broad list that includes some single cell RNA-seq packages and papers.
- lazappi's Single-cell Software table - Table of single cell software and it's functions. Live version here.
- agitter's Pseudotime estimation list - An overview of algorithms for estimating pseudotime in single-cell RNA-seq data.
Gender bias at conferences is a well known problem (http://www.sciencemag.org/careers/2015/07/countering-gender-bias-conferences). Creating a list of potential speakers can help mitigate this bias and a community of people developing and maintaining helps to further diversify this list beyond smaller networks.
- Christina Kendziorski (University of Wisconsin–Madison, USA)
- Sandrine Dudoit (UC Berkeley, USA)
- Keegan Korthauer (Dana Farber Cancer Institute, USA)
- Stephanie Hicks (Dana Farber Cancer Institute, USA)
- Dana Pe'er (Columbia University, USA
- Alicia Oshlack (Murdock Children's Research Institute, Australia)
- Aviv Regev (Broad Institute, USA)
- Catalina Vallejos (MRC Biostatistics Unit and EMBL-EBI, UK)
- Sarah Teichmann (Wellcome Trust Sanger Institute, UK)
- Emma Pierson (Stanford University, USA)
- Ning Leng (Morgridge Institute for Research, USA)
- Laleh Haghverdi (Institute of Computational Biology, Germany)
- Rhonda Bacher (University of Wisconsin-Madison, USA)
- Raphael Gottardo (Fred Hutchinson Cancer Research Center, USA)
- John Marioni (EBI, UK)
- Oliver Stegle (EBI, UK)
- Davis McCarthy (EBI, UK)
- Aaron Lun (Cancer Research UK, UK)
- Cole Trapnell (University of Washington, Department of Genome Sciences)
- Rahul Satija (New York Genome Center)
- Martin Hemberg (Sanger Institute, UK)
- Peter Sims (Columbia University, Department of Systems Biology)
- Itai Yanai (New York University, School of Medicine, Institute for Computational Medicine, USA)