I have contributed to multiple software packages for the analysis of genomic data. I am a proponent of open-source software and all packages are freely available.


slingshotTrajectory inference methods for modeling continuous, branching processes. Designed for differentiation processes in scRNA-seq.
tradeSeqSpline-based (zero-inflated) negative binomial models for continuous-time expression data and clustering of temporal expression profiles.
scryAnalysis methods for high-dimensional, small-count data.
DuneConsensus clustering by optimal cluster merging for improved replicability in single-cell RNA-Seq cell type discovery.
TrajectoryUtilsInfrastructure and utilities for single-cell trajectory inference.
condimentsTools for analyzing trajectories across multiple conditions, including tests for differential topology, progression, and differentiation.
travizA suite of functions for plotting trajectory-related objects from Bioconductor packages. It allows plotting trajectories in reduced dimensions, as well as average gene expression smoothers as a function of pseudotime.
VDJdiveMethods for analyzing single-cell immune receptor repertoire data. It implements the E-M Algorithm for clonotype assignment, making use of ambiguous cells for improved quantification.
cytofQCA package for initial cleaning of CyTOF data. It uses a semi-supervised approach for labeling cells with their most likely data type (bead, doublet, debris, dead) and provides associated probabilities.


glmpcaImplements a generalized version of principal components analysis (GLM-PCA) for dimension reduction of non-normally distributed count data.
mazingA generative art package that provides functionality for producing, navigating, and plotting random mazes.