monocle: Clustering, differential expression, and trajectory analysis for single- cell RNA-Seq

Monocle performs differential expression and time-series analysis for single-cell expression experiments. It orders individual cells according to progress through a biological process, without knowing ahead of time which genes define progress through that process. Monocle also performs differential expression analysis, clustering, visualization, and other useful tasks on single cell expression data. It is designed to work with RNA-Seq and qPCR data, but could be used with other types as well.

Install the latest version of this package by entering the following in R:
AuthorCole Trapnell
Bioconductor views Clustering DataImport DataRepresentation DifferentialExpression GeneExpression Infrastructure MultipleComparison QualityControl RNASeq Sequencing Visualization
Date of publicationNone
MaintainerCole Trapnell <>

View on Bioconductor

Man pages

BEAM: Branched expression analysis modeling (BEAM)

branchTest: Test for branch-dependent expression

buildBranchCellDataSet: Build a CellDataSet that splits cells among two branches

calABCs: Compute the area between curves (ABC) for branch-dependent...

calibrate_per_cell_total_proposal: Calibrate_per_cell_total_proposal

calILRs: Calculate the Instantaneous Log Ratio between two branches

CellDataSet: The CellDataSet class

CellDataSet-methods: Methods for the CellDataSet class

cellPairwiseDistances: Get the matrix of pairwise distances between cells

cellPairwiseDistances-set: Sets the matrix containing distances between each pair of...

CellType: The CellType class

CellTypeHierarchy: The CellTypeHierarchy class

clusterCells: Cluster cells into a specified number of groups.

clusterGenes: Clusters genes by pseudotime trend.

compareModels: Compare model fits

detectBifurcationPoint: Calculate divergence times for branch-dependent genes

detectGenes: Sets the global expression detection threshold to be used...

differentialGeneTest: Test genes for differential expression

diff_test_helper: Helper function for parallel differential expression testing

dispersionTable: Retrieve a table of values specifying the mean-variance...

estimateDispersionsForCellDataSet: Helper function to estimate dispersions

estimateSizeFactorsForMatrix: Function to calculate the size factor for the single-cell...

estimate_t: Find the most commonly occuring relative expression value in...

extract_good_branched_ordering: Extract a linear ordering of cells from a PQ tree

fitModel: Fits a model for each gene in a CellDataSet object.

fit_model_helper: Helper function for parallel VGAM fitting

genSmoothCurveResiduals: Fit smooth spline curves and return the residuals matrix

genSmoothCurves: Fit smooth spline curves and return the response matrix

get_classic_muscle_markers: Return the names of classic muscle genes

load_HSMM: Build a CellDataSet from the HSMMSingleCell package

load_HSMM_markers: Return a CellDataSet of classic muscle genes

load_lung: Build a CellDataSet from the data stored in inst/extdata...

markerDiffTable: Test genes for cell type-dependent expression

mcesApply: Multicore apply-like function for CellDataSet

minSpanningTree: Retrieves the minimum spanning tree generated by Monocle...

minSpanningTree-set: Set the minimum spanning tree generated by Monocle during...

newCellDataSet: Creates a new CellDateSet object.

newCellTypeHierarchy: Classify cells according to a set of markers

orderCells: Orders cells according to pseudotime.

order_p_node: Return an ordering for a P node in the PQ tree

package-deprecated: Plots the minimum spanning tree on cells. This function is...

plot_cell_trajectory: Plots the minimum spanning tree on cells.

plot_clusters: Plots kinetic clusters of genes.

plot_coexpression_matrix: Not sure we're ready to release this one quite yet: Plot the...

plot_genes_branched_heatmap: Create a heatmap to demonstrate the bifurcation of gene...

plot_genes_branched_pseudotime: Plot the branch genes in pseduotime with separate branch...

plot_genes_in_pseudotime: Plots expression for one or more genes as a function of...

plot_genes_jitter: Plots expression for one or more genes as a jittered, grouped...

plot_genes_positive_cells: Plots the number of cells expressing one or more genes as a...

plot_ordering_genes: Plots genes by mean vs. dispersion, highlighting those...

plot_pseudotime_heatmap: Plots a pseudotime-ordered, row-centered heatmap

pq_helper: Recursively builds and returns a PQ tree for the MST

reducedDimA: Get the weights needed to lift cells back to high dimensional...

reducedDimA-set: Get the weights needed to lift cells back to high dimensional...

reducedDimK: Retrieves the the whitening matrix during independent...

reducedDimK-set: Sets the the whitening matrix during independent component...

reducedDimS: Retrieves the coordinates of each cell in the...

reducedDimS-set: Set embedding coordinates of each cell in a CellDataSet.

reducedDimW: Get the whitened expression values for a CellDataSet.

reducedDimW-set: Sets the whitened expression values for each cell prior to...

reduceDimension: Compute a projection of a CellDataSet object into a lower...

relative2abs: Transform relative expression values into absolute transcript...

residualMatrix: Response values

responseMatrix: Response values

scale_pseudotime: Scale pseudotime to be in the range from 0 to 100

selectNegentropyGenes: Filter genes with extremely high or low negentropy

selectTopMarkers: Select the most cell type specific markers

setOrderingFilter: Sets the features (e.g. genes) to be used for ordering cells...

spike_df: Spike-in transcripts data.

vstExprs: Return a variance-stabilized matrix of expression values


addCellType Man page
BEAM Man page
branchTest Man page
buildBranchCellDataSet Man page
calABCs Man page
calculateMarkerSpecificity Man page
calibrate_per_cell_total_proposal Man page
calILRs Man page
CellDataSet Man page
CellDataSet,ANY,ANY-method Man page
CellDataSet-class Man page
CellDataSet-methods Man page
cellPairwiseDistances Man page
cellPairwiseDistances<- Man page
CellType Man page
CellType-class Man page
CellTypeHierarchy Man page
CellTypeHierarchy-class Man page
classifyCells Man page
clusterCells Man page
clusterGenes Man page
compareModels Man page
detectBifurcationPoint Man page
detectGenes Man page
differentialGeneTest Man page
diff_test_helper Man page
dispersionTable Man page
estimateDispersions,CellDataSet-method Man page
estimateDispersionsForCellDataSet Man page
estimateSizeFactors,CellDataSet-method Man page
estimateSizeFactorsForMatrix Man page
estimate_t Man page
extract_good_branched_ordering Man page
fitModel Man page
fit_model_helper Man page
genSmoothCurveResiduals Man page
genSmoothCurves Man page
get_classic_muscle_markers Man page
load_HSMM Man page
load_HSMM_markers Man page
load_lung Man page
markerDiffTable Man page
mcesApply Man page
minSpanningTree Man page
minSpanningTree<- Man page
newCellDataSet Man page
newCellTypeHierarchy Man page
orderCells Man page
order_p_node Man page
plot_cell_trajectory Man page
plot_clusters Man page
plot_coexpression_matrix Man page
plot_genes_branched_heatmap Man page
plot_genes_branched_pseudotime Man page
plot_genes_in_pseudotime Man page
plot_genes_jitter Man page
plot_genes_positive_cells Man page
plot_ordering_genes Man page
plot_pseudotime_heatmap Man page
plot_spanning_tree Man page
pq_helper Man page
reducedDimA Man page
reducedDimA<- Man page
reducedDimK Man page
reducedDimK<- Man page
reducedDimS Man page
reducedDimS<- Man page
reducedDimW Man page
reducedDimW<- Man page
reduceDimension Man page
relative2abs Man page
residualMatrix Man page
responseMatrix Man page
scale_pseudotime Man page
selectNegentropyGenes Man page
selectTopMarkers Man page
setOrderingFilter Man page
sizeFactors,CellDataSet-method Man page
sizeFactors<-,CellDataSet,numeric-method Man page
spike_df Man page
vstExprs Man page


R/BEAM.R R/CellDataSet.R R/CellType.R R/CellTypeHierarchy.R R/cluster_cells.R R/clustering.R R/data_sets.R R/differential_expression.R R/expr_models.R R/methods-CellDataSet.R R/methods-CellTypeHierarchy.R R/normalization.R R/order_cells.R R/plotting.R R/utils.R
man/BEAM.Rd man/CellDataSet-methods.Rd man/CellDataSet.Rd man/CellType.Rd man/CellTypeHierarchy.Rd man/branchTest.Rd man/buildBranchCellDataSet.Rd man/calABCs.Rd man/calILRs.Rd man/calibrate_per_cell_total_proposal.Rd man/cellPairwiseDistances-set.Rd man/cellPairwiseDistances.Rd man/clusterCells.Rd man/clusterGenes.Rd man/compareModels.Rd man/detectBifurcationPoint.Rd man/detectGenes.Rd man/diff_test_helper.Rd man/differentialGeneTest.Rd man/dispersionTable.Rd man/estimateDispersionsForCellDataSet.Rd man/estimateSizeFactorsForMatrix.Rd man/estimate_t.Rd man/extract_good_branched_ordering.Rd man/fitModel.Rd man/fit_model_helper.Rd man/genSmoothCurveResiduals.Rd man/genSmoothCurves.Rd man/get_classic_muscle_markers.Rd man/load_HSMM.Rd man/load_HSMM_markers.Rd man/load_lung.Rd man/markerDiffTable.Rd man/mcesApply.Rd man/minSpanningTree-set.Rd man/minSpanningTree.Rd man/newCellDataSet.Rd man/newCellTypeHierarchy.Rd man/orderCells.Rd man/order_p_node.Rd man/package-deprecated.Rd man/plot_cell_trajectory.Rd man/plot_clusters.Rd man/plot_coexpression_matrix.Rd man/plot_genes_branched_heatmap.Rd man/plot_genes_branched_pseudotime.Rd man/plot_genes_in_pseudotime.Rd man/plot_genes_jitter.Rd man/plot_genes_positive_cells.Rd man/plot_ordering_genes.Rd man/plot_pseudotime_heatmap.Rd man/pq_helper.Rd man/reduceDimension.Rd man/reducedDimA-set.Rd man/reducedDimA.Rd man/reducedDimK-set.Rd man/reducedDimK.Rd man/reducedDimS-set.Rd man/reducedDimS.Rd man/reducedDimW-set.Rd man/reducedDimW.Rd man/relative2abs.Rd man/residualMatrix.Rd man/responseMatrix.Rd man/scale_pseudotime.Rd man/selectNegentropyGenes.Rd man/selectTopMarkers.Rd man/setOrderingFilter.Rd man/spike_df.Rd man/vstExprs.Rd
tests/testthat.R tests/testthat/test.BEAM.R tests/testthat/test.CellDataSet-setup.R tests/testthat/test.branchTest.R tests/testthat/test.buildLineageBranchCellDataSet.R tests/testthat/test.calIABCs.R tests/testthat/test.calILRs.R tests/testthat/test.cellPairwiseDistances.R tests/testthat/test.clusterCells.R tests/testthat/test.clusterGenes.R tests/testthat/test.compareModels.R tests/testthat/test.detectBifurcationPoint.R tests/testthat/test.detectGenes.R tests/testthat/test.differentialExpression.R tests/testthat/test.estimateDispersion.R tests/testthat/test.estimate_t.R tests/testthat/test.fitModels.R tests/testthat/test.genSmoothCurves.R tests/testthat/test.orderCells.R tests/testthat/test.reduceDimension.R tests/testthat/test.relative2abs.R tests/testthat/test.scale_pseudotime.R

Questions? Problems? Suggestions? or email at

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.