Table 1 Participating algorithms: algorithms that were applied in at least one challenge

From: Critical assessment of automated flow cytometry data analysis techniques

Algorithm name

Availabilitya

Brief descriptionb

SN/ref.c

Cell population identification

ADICyt

Commercially available

Hierarchical clustering and entropy-based merging

1.1.1/–

CDP

Python source code

Bayesian nonparametric mixture models, calculated using massively parallel computing on GPUs

1.1.2/ ref. 25

FLAME

R package

Multivariate finite mixtures of skew and heavy-tailed distributions

1.1.3/ref. 9

FLOCK

C source code

Grid-based partitioning and merging

1.1.4/ref. 13

flowClust/Merge

Two R/BioC packages

t mixture modeling and entropy-based merging

1.1.5/refs. 7,8

flowKoh

R source code

Self-organizing maps

1.1.6/–

flowMeans

R/BioC package

k-means clustering and merging using the Mahalanobis distance

1.1.7/ref. 15

FlowVB

Python source code

t mixture models using variational Bayes inference

1.1.8/–

L2kmeans

JAVA source code

Discrepancy learning

1.1.9/ ref. 26

MM, MMPCA

Windows and Linux executable

Density-based Misty Mountain clustering

1.1.10/ref. 14

NMFcurvHDR

R source code

Density-based clustering and non-negative matrix factorization

1.1.11/ref. 10

SamSPECTRAL

R/BioC package

Efficient spectral clustering using density-based downsampling

1.1.12/ref. 12

SWIFT

MATLAB source code

Weighted iterative sampling and mixture modeling

1.1.13/ ref. 27

RadialSVM

MATLAB source code

Supervised training of radial SVMs using example manual gates

1.1.14/ref. 6

Ensemble clustering

R/CRAN package

Combines the results of all participating algorithms

Online Methods/refs. 39,40

Sample classification

   

2DhistSVM

Pseudocode

2D histograms of all pairs of dimensions and support vector machines

1.2.1/–

admire-lvq

MATLAB source code

1D features and learning vector quantization

1.2.2/–

biolobe

Pseudocode

k-means and correlation matrix mapping

1.2.3/–

daltons

MATLAB source code

Linear discriminant analysis and logistic regression

1.2.4/–

DREAM–A

Pseudocode

2D and 3D histograms and cross-validation of several classifiers

1.2.5/–

DREAM–B

Pseudocode

1D Gaussian mixtures and support vector machines

1.2.6/–

DREAM–C

Pseudocode

1D gating and several different classifiers

1.2.7/–

DREAM–D

Pseudocode

4D clustering and bootstrapped t-tests

1.2.8/–

EMMIXCYTOM, uqs

R source code

Skew-t mixture model and Kullback-Leibler divergence

1.2.9/–

fivebyfive

Pseudocode

1D histograms and support vector machines

1.2.10/–

flowBin

R package

High-dimensional cluster mapping across multiple tubes and support vector machines

1.2.11/–

flowCore-flowStats

R source code

Sequential gating and normalization and a beta-binomial model

1.2.12/ ref. 28

flowPeakssvm, Kmeanssvm

R package

k-means and density-based clustering and support vector machines

1.2.13/ref. 16

flowType, flowType FeaLect

Two R/BioC packages

1D gates extrapolated to multiple dimensions and bootstrapped LASSO classification

1.2.14/refs. 17,18

jkjg

JAVA source code

1D Gaussian and logistic regression

1.2.15/–

PBSC

C source code

Multidimensional clustering and cross-sample population matching using a relative distance order

1.2.16/ ref. 13

PRAMS

R source code

2D clustering and logistic regression

1.2.17/–

Pram Spheres, CIHC

Pseudocode

Genetic algorithm and gradient boosting

1.2.18/–

Random Spheres

Pseudocode

Hypersphere-based Monte Carlo optimization

1.2.18/–

SPADE, BCB

MATLAB, Cytoscape, R/BioC

Density-based sampling, k-means clustering and minimum spanning trees

1.2.19/ref. 23

SPCA+GLM

Pseudocode

1D probability binning and principal-component analysis

1.2.20/–

SWIFT

MATLAB source code

SWIFT clustering and support vector machines

1.2.21/ ref. 27

Team21

Python source code

1D relative entropies

1.2.22/–

  1. aSee Supplementary Table 3 for algorithm contact information.
  2. bSee Supplementary Note 1 for more details about each program.
  3. cSupplementary Note 1 section (SN) and reference citation.