Coexpp is an R package implementing Weighted Gene Co-expression Network Analysis (WGCNA), a method for describing the correlation patterns among genes across microarray/RNASeq samples. Analysis of tens of thousands of probes, however, can take hours and may require the data to be partitioned. Coexpp substantially improves the runtime and memory footprint of WGCNA to enable the unpartitioned analysis of much larger datasets.


Rclusterpp is an R package providing standard geometrical hierarchical clustering routines such as average link, but optimized for multicore processors and large datasets where it is impractical or inefficient to compute the distance matrix. One example is flow cytometry data, where it is not uncommon to cluster more than 100,000 observations. Rclusterpp is being used both in that domain, and to cluster large gene expression datasets. Rclusterpp is available via CRAN.


CytoSPADE is an implementation of the Spanning-tree Progression of Density-normalized Events (SPADE) algorithm for visualizing high-dimensional flow cytometry data. CytoSPADE has two components:

  1. An R package that provides a performant implementation of the SPADE algorithm
  2. A Cytoscape plugin that can be used to setup SPADE analyses and interactively visualize the results

CytoSPADE enables researchers to interactively explore the trees that SPADE produces in the context of the underlying flow cytometry data. Users can effectively uses the tree nodes as gates. CytoSPADE is 12-19 fold faster than the SPADE prototype, ensuring that users can run complex analyses on their laptops in just seconds or minutes. Additional documentation is available via the CytoSPADE homepage and the CytoSPADE R package and Cytoscape plugin Github repositories.

CytoSPADE is described in the following publication:

Linderman MD, Bjornson Z, Simonds EF, Qiu P, Bruggner R, Sheode K, Meng TH, Plevritis SK, Nolan GP. CytoSPADE: High-Performance Analysis and Visualization of High-Dimensional Cytometry Data. Bioinformatics. 2012.


Gappa++ is a tool to help determining and verifying numerical behavior, and particularly rounding error in, computations with floating or fixed point operations. Gappa++ is an extension of Gappa version 0.11.3, developed by Guillaume Melquiond. Gappa++ was used to obtain a 10-15% performance improvement in a computationally demanding Bayesian Network learning application by optimizing the numerical behavior of transcendental operations. Gappa++ is described in the following publication:

Linderman MD, Ho M, Dill DL, Meng TH, Nolan GP. Towards program optimization through automated analysis of numerical precision. Proc IEEE/ACM Intl Symp on Code Generation and Optimization (CGO); 2010. p. 230-7.