FlowJo’s Smile Library Plugin

One of the cool things about FlowJo and SeqGeq is the plugin API which allows anyone to develop new functionality for the programs. For the first few weeks of FlowJo’s software engineering internship program, the interns (myself included) were tasked with creating a plugin for FlowJo or SeqGeq. In FlowJo. I implemented a clustering algorithm found in the Java Smile library.

The Smile library contains many popular clustering and classification algorithms that can be used for a variety of applications. This plugin currently only implements the DBScan (Density-based spatial clustering of applications with noise) clustering algorithm but more algorithms could be added in the future. With DBScan, clusters are formed based on how close data points are to each other. For each data point, the distance between it an every other point is calculated. If that distance is less than the radius defined by the user, those points are clustered. This can allow for some uniquely shaped clusters that other algorithms are unable to find.

To run this plugin, select a population and choose ‘Smile Library’ from the plugin dropdown. Input the radius in which to classify data points as ‘near to each other’ and the minimum number of points to form a cluster. Select your parameters to cluster on and click ‘Okay.’ DBScan is a sensitive algorithm, meaning that it may take a few tries with different parameters to get some good looking clusters. Here is the result of one of my tests.

Good luck and happy clustering!

Jul 24, 2018   |   Flow Cytometry