 Research
 Open Access
 Published:
A theorem proving approach for automatically synthesizing visualizations of flow cytometry data
BMC Bioinformatics volume 18, Article number: 245 (2017)
Abstract
Background
Polychromatic flow cytometry is a popular technique that has wide usage in the medical sciences, especially for studying phenotypic properties of cells. The highdimensionality of data generated by flow cytometry usually makes it difficult to visualize. The naive solution of simply plotting twodimensional graphs for every combination of observables becomes impractical as the number of dimensions increases. A natural solution is to project the data from the original high dimensional space to a lower dimensional space while approximately preserving the overall relationship between the data points. The expert can then easily visualize and analyze this lowdimensional embedding of the original dataset.
Results
This paper describes a new method, SANJAY, for visualizing highdimensional flow cytometry datasets. This technique uses a decision procedure to automatically synthesize twodimensional and threedimensional projections of the original highdimensional data while trying to minimize distortion. We compare SANJAY to the popular multidimensional scaling (MDS) approach for visualization of small data sets drawn from a representative set of benchmarks, and our experiments show that SANJAY produces distortions that are 1.44 to 4.15 times smaller than those caused due to MDS. Our experimental results show that SANJAY also outperforms the Random Projections technique in terms of the distortions in the projections.
Conclusions
We describe a new algorithmic technique that uses a symbolic decision procedure to automatically synthesize lowdimensional projections of flow cytometry data that typically have a high number of dimensions. Our algorithm is the first application, to our knowledge, of using automated theorem proving for automatically generating highlyaccurate, lowdimensional visualizations of highdimensional data.
Background
Polychromatic flow cytometry is a popular technique for measuring cell properties. These properties include DNA and RNA content, intracellular phosphoproteins, cytokines, and cellsurface proteins [1]. In this technique, multiple fluorescent dyes corresponding to desired phenotypic observables are first used to label cell components. The cells are then made to flow through a detector in a single file, and their fluorescence is measured. Flow cytometry has applications in lymphoma phenotyping, cell sorting, HIV, stem cell identification, tumor ploidy, and solid organ transplantation [2]. Unlike traditional techniques that take the statistical average of a sample, flow cytometry works on a percell basis. Therefore, it can be used to analyze multiple phenotypic observables simultaneously and at a rate of thousands of cells per second [2].
Data generated from flow cytometry analysis enables an experimental scientist to identify rare properties of small groups of cells that would not have been traditionally possible through observing the average properties of all cells in a sample. The analysis of such groups of rare cells becomes even more important if we consider the case of cancer patients, where early detection of rare cell phenotypes might be key to saving a patient. Similarly, the absence of rare phenotypic observables in a sample may suggest the termination of certain medication or treatments in subjects already suffering from cancer. The analytical power of flow cytometry brings with it two major barriers that need to be overcome for its effective and widespread employment in scientific practice:

(i)
Since polychromatic flow cytometry can observe multiple phenotypes simultaneously, this leads to data with multiple dimensions. According to various cognitive processing studies, the data analysis capacity of human beings is limited, on average, to about four dimensions that can be processed in parallel [3, 4]. Therefore, flow cytometry techniques that often produce data in 10 or more dimensions cannot be easily analyzed by human experts.

(ii)
Polychromatic flow cytometry is used to generate data about individual cells; so, the size of the data obtained from the analysis is usually very large. The dataset can consist of millions of data points per sample which is well beyond the cognitive memory limit of human beings [5]. Standard statistical methods that involve summarization negate the advantages of flow cytometry by making the result similar to traditional measurement methods that produce observables only on the average property of a sample. Statistical methods may lead to loss of small but significant details needed to detect rare but interesting cellular phenotypes.
We address these problems by designing a new automated technique for synthesizing lowdimensional visualizations of flow cytometry data. This paper makes the following contributions:

(i)
We describe SANJAY – a new algorithmic approach for automatically synthesizing 2D and 3D visualizations of highdimensional flow cytometry data. SANJAY’s main contribution is to employ automated algorithmic synthesis techniques [6, 7] and symbolic decision procedures [8] to create lowdimensional projections of highdimensional data that can be easily visualized.

(ii)
This algorithmic projection approach approximately preserves the original relationship between the points in the highdimensional space. This algorithm avoids stastical summarization thus minimizing the loss of small but rare events.

(iii)
We compare SANJAY to the popular multidimensional scaling (MDS) algorithm on small highdimensional data sets and show that our projections produce distortions that are on average 2.56 times smaller than those produced by MDS (see Table 1).
Automated gating of flow cytometry data
Machine learning methods have been deployed for automatically labeling subpopulations of cells in flow cytometry data sets – a process popularly referred to as gating. In particular, supervised and semisupervised machine learning algorithms [9, 10] have been extensively investigated for automatically identifying related cells.
Sequential gating [11] enables twodimensional visualization of any two colors or dimensions of data from a polychromatic flow cytometer. The human expert then attempts to manually identify subsets of cells that correspond to the same subpopulation. While the process is computationally simple, the result is highly subjective and depends on the intuition of the oncologist. Further, an ndimensional flow cytometry data has n×(n−1)/2 possible twodimensional visualizations. Thus, a 20color polychromatic flow cytometer will produce 190 different 2dimensional visualizations and it is a cognitive challenge for a human expert to verify clinical or experimental conjectures against all 190 visualizations obtained from a biological sample.
Probability binning [12] is an unsupervised quantitative methodology for analyzing polychromatic flow cytometry data that identifies the difference between the distribution of cells in a given sample and a standard control sample. Frequency difference gating [13] extends this approach by enabling multidimensional gating of the bins identified by the probabilitybinning algorithm that contain the largest differences between the given and the control sample.
Cluster analysis methods [14, 15] employ varying levels of expression of antigens to construct subsets of cells that share the same combination of fluorochromes markers. While the technique is unsupervised, the result is only a semiquantitative twodimensional visual description (such as a heat map) of the data set and still needs to be interpreted subjectively by an expert for biological correctness. Standard machine learning algorithms such as kmeans [16] and expectation maximization [17] have been applied to perform cluster analyses of polychromatic flow cytometry data.
The most popular clustering algorithm that operates by building and refining partitions is the kmeans algorithm [18, 19]. The popular kmeans algorithms have also been applied to flow cytometry data [17]. The kmeans algorithm requires three inputs from the user: the number of clusters, an initial cluster assignment, and a metric to measure distance between data points. As the kmeans algorithms converge only to one of the local minima, different initializations of the kmeans algorithm can lead to different final clustering of the data. Such sensitivity to initial conditions is undesirable for an objective flow cytometry data exploration framework.
Principal Component Analysis (PCA) is a particularly popular approach for generating twodimensional visualizations of flow cytometry data [15]. However, lowdimensional visualizations lose a lot of information because of the low correlation between different fluorochromes, and such plots mostly serve as an exploratory tool in the hands of welltrained experts.
In our recent work [20], we have proposed the use of complex network models and their topological properties for discriminating between cancer and normal patients. In our approach, each node in the complex network corresponds to the measurements obtained from a single cell and an edge between two nodes exists if the Euclidean distance between them is smaller than a threshold. The evolution of the network through time can be derived by studying periodically acquired patient samples. By constructing such complex network models for multiple normal patients, we propose to develop a stochastic generative model that describes the flow cytometry data for normal patients. In particular, topological properties such as number of connected components, edge density, number of clusters, etc. are studied. The goal of our stochastic generative modeling is to capture the natural diversity that occurs in the normal patient population (age, race, gender, BMI), and thereby compute the probability that a given flow cytometry sample does not arise from this stochastic generative model. Rare behavior identification algorithms, including our own work [21], can then be employed to compute the probability that a given flow cytometry sample indicates the presence of a physiological anomaly in a patient.
Decision procedures
To the best of our knowledge, our current work is the first effort towards the application of symbolic decision procedures for the algorithmic synthesis of projections from highdimensional data to lowdimensional visualizations. In 1929, Mojzesz Presburger introduced a firstorder theory of arithmetic for natural numbers with addition and equality – a consistent, complete and decidable fragment of logic [22]. Fifty years later, Robert Shostak presented an algorithm for deciding quantifierfree Presburger arithmetic that permits arbitrary uninterpreted functions [23]. More recently, a number of decision procedures for verifying various decidable fragments of logic involving arithmetic and function symbols have been proposed and implemented using the popular SMTLIB standard [24]. In particular, a number of decision procedures for bitvectors involving arithmetic and logical operations have been successfully implemented [25, 26]. Many of these approaches build upon the foundation work of Martin Davis, Hilary Putnam, George Logemann and Donald W. Loveland who introduced the DPLL algorithm for checking the satisfiability of propositional logic formulas in 1962 [27]. We show that our approach based on bitvector decision procedures outperforms classical multidimensional scaling approach – at least on small highdimensional data sets – by consistently creating projections with at least 80% less distortion.
Some notations and definitions
We now recall some basic ideas relevant to our use of decision procedures for the automated synthesis of visualizations.
Definition 1
(Basic bitvector operations) A bitvector is a vector of Boolean values of a given length. Given two bitvectors, their bitwise logical operations are performed by applying the logical operation to the corresponding bits of the bitvectors.
The above equations define the formal semantics of bitvector NOT, OR, and AND operations. Similarly, arithmetic operations such as addition and subtraction can be defined on bitvectors by extending the standard definition of these operations from the decimal to the binary representation.
Definition 2
(Bitvector concatenation) Two bitvectors of length l and l ^{′} can be concatenated into a single bitvector of length l+l ^{′}.
Relational operations on bitvector are defined similarly, using both signed and unsigned interpretations [24]. As these formulas naturally arise in software and hardware verification, several solvers for bitvector decision procedures are widely deployed. The top solvers in the 2015 SMTCOMP competition for bitvectors include Boolector, CVC4, STP, Yices, Mathsat and Z3. Most of these solvers use a combination of bitblasting and rewriting to translate the bitvector decision problem into a combination of lemmas that can be discharged using results from number theory and satisfiability solving [28].
Definition 3
(Distortion) Distortion is defined as the change of distance between two points when they are projected from a highdimensional space to a lower dimension. Let the distance between points x and y in the original space be d(x,y). Let the projections of x and y in the lower dimension space be x ^{′} and y ^{′} respectively. Let d(x ^{′},y ^{′}) be the distance between the projected points. The distortion due to this projection is defined by:
Methods
Graph representation of flow cytometry data
There is an inherent complex network structure in polychromatic flow cytometry data arising from the wellgoverned biological process of cell differentiation. Using our earlier approach [20], we can build a complex network representation of the observed flow cytometry data set. We follow the steps outlined in Fig. 1 to create a structural representation of flow cytometry data.
Definition 4
(Flow Cytometry Network) Given N mdimensional data points representing N cells, each representing m observed properties measured by a polychromatic flow cytometer, the flow cytometry network with threshold T (a TFCN) is a graph G=(V,E) where V is the set of nodes and E is the set of edges, such that:

a node v∈V denotes the m quantities measured for a single cell, i.e. v=(v _{0},v _{1},…,v _{ m−1}), and

(v,v ^{′})∈E if and only if \(\left (v_{0}, \ldots, v_{m1}\right)  \left (v^{\prime }_{0}, \ldots, v^{\prime }_{m1}\right) \leq T\).
The second property above specifies that there’s an edge between two nodes (i.e. between data points representing a pair of cells), when the Manhattan distance between them is less than threshold T. Recall that the Manhattan distance between vectors v=(v _{0},…,v _{ m−1}) and u=(u _{0},…,u _{ m−1}) is defined to be \(\sum ^{m1}_{i=0} \left \lvert v_{i}  u_{i} \right \rvert \).
Given flow cytometry data, a TFCN (flow cytometry network) is determined by the threshold T that is used to decide whether two nodes in the flow cytometry network are connected by an edge in the TFCN. The threshold T is typically learned from experimental data. As T is varied from ∞ to 0, the TFCN goes from being a clique of N nodes to being a network with N components – each node being a component by itself. The variation in T causes changes in the distribution of the topological properties.
Using information theoretic arguments [29, 30], we can compute the value of T that maximizes the information content or entropy of the distribution of the topological properties. Thus, the generated TFCN is the most informative network describing the flow cytometry data set.
Community detection in flow cytometry data
Several existing algorithms are capable of identifying communities in large complex networks [31]. Due to the massive size of the network generated by a typical flow cytometry dataset, one can readily rule out the use of matrix and spectral graph theory based methods. Modularity based methods are known to be biased against small communities and are hence not a method of choice for identifying communities in flow cytometry networks, where small communities may represent rare but interesting anomalies [32].
Keeping in mind our highassurance requirement for biomedical applications, and the large size of flow cytometry datasets, we suggest the use of a parallel version of the Walktrap algorithm for community detection [20] in our flow cytometry networks [33]. The main idea behind Walktrap approach is based on the intuition that random walks of a graph must be trapped in densely connected communities of the TFCN that are only sparsely connected to the rest of the network. As several random walks can be instantiated in parallel on multiple processing nodes, the approach is readily deployable on large supercomputing clusters [34].
Structural representation of flow cytometry networks
Each flow cytometry data set is represented by a TFCN that maximizes the information content of the network. A flow cytometry network TFCN is then decomposed into a number of communities C _{1},…,C _{ n }, using methods described in the previous section where each C _{ i } is itself a TFCN. The centroid of a community can serve as a surrogate representing the approximate position of all the points in the community. To preserve the relative position of the communities, we compute the centroids O _{1},…,O _{ n } of the communities and seek to approximately preserve the distance between these centroids. In order to preserve the geometry of the individual communities, we also must compute the 3centroids \(E^{1}_{i}, E^{2}_{i}, E^{3}_{i}\) for each community C _{ i } when projecting into two dimensions (and 4centroids when projecting into three dimensions). To calculate 3centroids of a community C _{ i }, we break the community into 3 component communities \(C^{1}_{i}, C^{2}_{i},C^{3}_{i}\) using kmeans clustering algorithm where the input k for the kmeans algorithm is equal to 3. We then calculate one centroid for each of the 3 component communities for a total of 3 component centroids \(E^{1}_{i}, E^{2}_{i},E^{3}_{i}\) corresponding to each community C _{ i }. For projecting onto two dimensions, the set of points \(\left \{O_{1}, E^{1}_{1}, E^{2}_{1}, E^{3}_{1}, O_{2}, E^{1}_{2}, E^{2}_{2}, E^{3}_{2}, \ldots, O_{n}, E^{1}_{n}, E^{2}_{n}, E^{3}_{n}\right \}\), that we will also denote by Q _{1},…,Q _{ d } where d=4n and n is the number of communities in the TFCN, serves as a structural representation of the flow cytometry network.
Automated synthesis of projections using decision procedures
Given the structuredefining points {Q _{1},…,Q _{ d }} = \(\left \{O_{1}, E^{1}_{1}, E^{2}_{1}, E^{3}_{1}, O_{2}, E^{1}_{2}, E^{2}_{2}, E^{3}_{2}, \ldots, O_{n}, E^{1}_{n}, E^{2}_{n}, E^{3}_{n}\right \}\) in m dimensions, SANJAY synthesizes an embedding {R _{1},…,R _{ d }} of the points in twodimensional or any other lower dimensional space that approximately preserves the pairwise Manhattan distances between these points up to an error of ε>0. The following expression specifies relationship between the original points Q _{1},…,Q _{ d } and the synthesized lowerdimensional projection R _{1},…,R _{ d } with respect to the distortion ε:
To help in discussing our projection algorithm, we now state, without proof, a lemma that describes the requirement for the location of a point in 2D or 3D space to be fixed.
Lemma 1
(Fixing points in two and three dimensions) For any given point in twodimensional space, its distance from three unique points uniquely identify its coordinates. Similarly, for any point in threedimensional space, its distance from four unique points uniquely identify its coordinates [ 35 ].
Therefore, the twodimensional projection of all points in a community C _{ i } can be obtained using the 2D projections of the 3centroids \(E^{1}_{i}, E^{2}_{i}, E^{3}_{i}\) of that community. Similarly, the threedimensional projections of the points in a community can be obtained from the projections of the 4centroids \(E^{1}_{i}, E^{2}_{i}, E^{3}_{i}, E^{4}_{i}\) of the community.
However, a direct translation of the problem to bitvector decision procedures involves a tradeoff between computational tractability and the accuracy of the obtained projections. Large values of ε lead to decision problems that can be readily solved by decision procedures but correspond to poor projections. Small ε values represent highquality distancepreserving projections but create computationally challenging instances of the decision problem.
The SANJAY algorithm solves the problem by using an iterative refinement to derive the points R _{1},R _{2},…,R _{ d } in the lowerdimensional space from the pairwise distances between the points Q _{1},…,Q _{ d } in the higher dimension. The algorithm starts by synthesizing the highestorder bit in the bitvector representation of these points, and then searches for the other bits.
SANJAY is formally illustrated in Algorithm 1. The algorithm accepts the pairwise distances D _{ i,j }(1≤i,j,≤d) between every pair of d points as an input. It also accepts two other inputs: the length b of the bitvector representing the projected points to be synthesized and the number of bits l that should be learned in every iteration of the projection synthesis loop.
In Algorithm 1, a point Q _{ i } is represented by the bit vector representation \(\left (P^{s}_{x_{i}}a^{r},P^{s}_{y_{i}}b^{r}\right)\) where \(P^{s}_{x_{i}}a^{r}\) is the xcoordinate and \(P^{s}_{y_{i}}b^{r}\) is the ycoordinate. The \(P^{s}_{x_{i}}\) and \(P^{s}_{y_{i}}\) are the parts of the vector that have been calculated by the algorithm, the a ^{r} and b ^{r} are the parts of the vector that have still not been calculated. When all the bits of any vector a ^{r} are 1 then we denote it by 1^{r} similarly when all the bits of the vector are 0 we denote it by 0^{r}. The bit vector a ^{r} has the property that 0^{r}≤a ^{r}≤1^{r}. So, any point Q _{ i } with representation \(\left (P^{s}_{x_{i}}a^{r},P^{s}_{y_{i}}b^{r}\right)\) can take all the values within the square with corners \(\left (P^{s}_{x_{i}}0^{r},P^{s}_{y_{i}}0^{r}\right),\!\left (P^{s}_{x_{i}}0^{r},P^{s}_{y_{i}}1^{r}\right), \left (P^{s}_{x_{i}}1^{r},P^{s}_{y_{i}}0^{r}\right),\left (P^{s}_{x_{i}}1^{r},P^{s}_{y_{i}} 1^{r}\right)\).
Algorithm 1 initializes the length s of the projected points to 0. The algorithm also initializes the length r of the remaining bitvectors to be synthesized with the value b. This means that the point P _{ i } can take all the values within the square denoted by the points (1^{b},1^{b}),(1^{b},0^{b}),(0^{b},1^{b}),(0^{b},0^{b}). This square spans the whole search space, which implies that at the start of the first iteration, the point P _{ i } can be found anywhere in this search space.
A bitvector decision procedure then searches for a better approximation of the projected point by searching for the next l higher order bits \(A^{1}_{1}, A^{1}_{2},\ldots, A^{1}_{l}\) in the binary representation of the projection of the points by solving the following decision problem:
Each iteration of the algorithm breaks down the previous square into 2^{2l} subsquares in which the point P _{ i } can be found and Eq. 2 using bit vector decision procedure selects the best possible subsquare for the point P _{ i }. At the end of the iteration, each of the points is projected to a subsquare with the diagonal \(\left (P^{s}_{x_{i}}A^{l}_{x_{i}}0^{{r}  {l}},P^{s}_{y_{i}}A^{l}_{y_{i}}\, 0^{{r}  {l}}\right)\) and \(\left (P^{s}_{x_{i}}A^{l}_{x_{i}}1^{{r}  {l}},P^{s}_{y_{i}}\,A^{l}_{y_{i}}1^{{r}  {l}}\right)\), where \(P^{s}_{x_{i}}\) and \(P^{s}_{y_{i}}\) denote bit vectors of s bits, \(A^{l}_{x_{i}}\) and \(A^{l}_{y_{i}}\) denote bit vectors of l bits, and 0^{r−l} is a zero bit vector of r−l bits.
As the algorithm iterates, it builds finer abstractions of the bitvector representation of the points being projected. When the algorithm has computed b number of bits in the bitvector representation of the projected points, it assigns the generated bitvectors to the output R _{1},…,R _{ d }.
Results and discussion
We performed our experimental evaluation on a 64core 1.40GHz AMD Opteron(tm) 6376 processor with 64 GB of RAM. We analyzed 30 flow cytometry data sets – each of them having 12 dimensions.
For each dataset, we used MDS [36], random projections [37] and our SANJAY technique, to search for twodimensional projections of 10 randomly selected data points from the original highdimensional data, while seeking to maintain the original interpoint distances. We then computed the maximum and the average distortion of the projections produced by all three techniques.
The comparison between SANJAY and MDS is presented in Tables 1 and 2. SANJAY performed at least 1.44 times better and sometimes as much as 4.15 times better than MDS in terms of minimizing the maximum distance distortion among all the projected points. The average distortions due to SANJAY were as much as 2.33 times lower than those produced using the MDS approach. Figure 2 shows the results of using SANJAY to project 1000 randomly chosen points from 6 of the 30 flow cytometry datasets discussed above.
The comparison between SANJAY and random projections is shown in Tables 3, and 4. When compared with random projections, SANJAY performed 7.02 times better at minimizing the maximum pairwise distortion among points. We envision that such automatically generated visualizations can be used to identify patients whose flow cytometry data indicates a significant number of cells showing abnormal behavior.
Conclusion
In this paper, we described a new algorithmic technique for automatically generating low dimensional visualizations of highdimensional flow cytometry data. We used symbolic decision procedures to exhaustively search for lowdimensional projections in a finite, discretized search space. Our results show that visualizations synthesized using our technique (SANJAY) were better than those produced by the multidimensional scaling and random projections approaches in terms of the maximum distortion in the pairwise distances. The results themselves are not surprising as symbolic decision procedures are often used for solving optimization and search problems.
Our experimental results have so far focussed on small fragments of highdimensional flow cytometry data sets. However, their use in generating such highfidelity visualizations has not been reported before. In the future, we plan to investigate how our approach can be extended to visualize large data sets while establishing provable bounds on the approximation errors.
References
 1
Janes MR, Rommel C. Nextgeneration flow cytometry. Nat Biotechnol. 2011; 29(7):602–4.
 2
Givan AL. Flow Cytometry: First Principles. New York: John Wiley and Sons; 2013.
 3
Kyllonen PC, Christal RE. Reasoning ability is (little more than) workingmemory capacity?!. Intelligence. 1990; 14(4):389–433.
 4
Doumas LA, Hummel JE, Sandhofer CM. A theory of the discovery and predication of relational concepts. Psychol Rev. 2008; 115(1):1.
 5
Baddeley A. Working memory. Science. 1992; 255(5044):556–9.
 6
Jha S, Seshia SA. A theory of formal synthesis via inductive learning. CoRR. 2015;abs/1505.03953: http://arxiv.org/abs/1505.03953.
 7
Jha SK. Towards automated system synthesis using sciduction. 2011. PhD thesis, University of California, Berkeley.
 8
Jha S, Limaye R, Seshia SA. Beaver: Engineering an efficient smt solver for bitvector arithmetic In: Bouajjani A, Maler O, editors. Computer aided verification: 21st International Conference, CAV 2009, Grenoble, France, June 26  July 2, 2009. Proceedings. Berlin: Springer: 2009. p. 668–74. doi:10.1007/9783642026584_53. http://dx.doi.org/10.1007/9783642026584_53
 9
Ramanna S, Jain LC, Howlett RJ. Emerging paradigms in machine learning. Germany: Springer; 2013.
 10
Bishop CM. Pattern recognition and machine learning. Germany: Springer; 2006.
 11
Sutherland DR, Anderson L, Keeney M, Nayar R, ChinYee I. The ishage guidelines for cd34+ cell determination by flow cytometry. J Hematother. 1996; 5(3):213–26.
 12
De Rosa SC, Brenchley JM, Roederer M. Beyond six colors: a new era in flow cytometry. Nat Med. 2003; 9(1):112–7.
 13
Roederer M, Hardy RR. Frequency difference gating: a multivariate method for identifying subsets that differ between samples. Cytometry. 2001; 45(1):56–64.
 14
Perfetto SP, Chattopadhyay PK, Roederer M. Seventeencolour flow cytometry: unravelling the immune system. Nat Rev Immunol. 2004; 4(8):648–55.
 15
Lugli E, Pinti M, Nasi M, Troiano L, Ferraresi R, Mussi C, Salvioli G, Patsekin V, Robinson JP, Durante C, et al. Subject classification obtained by cluster analysis and principal component analysis applied to flow cytometric data. Cytometry Part A. 2007; 71(5):334–44.
 16
Zeng QT, Pratt JP, Pak J, Ravnic D, Huss H, Mentzer SJ. Featureguided clustering of multidimensional flow cytometry datasets. J Biomed Inform. 2007; 40(3):325–31.
 17
Lo K, Brinkman RR, Gottardo R. Automated gating of flow cytometry data via robust modelbased clustering. Cytometry Part A. 2008; 73(4):321–32.
 18
MacQueen J. Some methods for classification and analysis of multivariate observations. In: Proceedings of the Fifth Berkeley Symposium on Mathematical Statistics and Probability, Volume 1: Statistics. Berkeley: University of California Press: 1967. p. 281–97.
 19
Lloyd SP. Least squares quantization in pcm. Inf Theory IEEE Trans. 1982; 28(2):129–37.
 20
Petkova A, Jha SK, Deo N. Discriminative Stochastic Models for Complex Networks Derived from Flow Cytometry Big Data. In: FortyFourth Southeastern International Conference on Combinatorics, Graph Theory, and Computing. Boca Raton: 2013.
 21
Ghosh AK, Hussain F, Jha SK, Langmead CJ, Jha S. Decision Procedure Based Discovery of Rare Behaviors in Stochastic Differential Equation Models of Biological Systems. In: Proceedings of the 2nd IEEE International Conference on Computational Advances in Bio and Medical Sciences (ICCABS 2012). Las Vegas: IEEE Computer Society: 2012. p. 1–6.
 22
Presburger M. Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition also einzige Operation hervortritt. Sprawozdanie z. I Kongresu Matematyków Kajów Slowianskich. 1929;92–101.
 23
Shostak RE. A practical decision procedure for arithmetic with function symbols. J ACM (JACM). 1979; 26(2):351–60.
 24
Ranise S, Tinelli C. The smtlib standard: Version 1.2. Technical report, Technical report, Department of Computer Science, The University of Iowa, 2006 Available at www.SMTLIB.org.
 25
De Moura L, Bjørner N. Z3: An efficient smt solver. In: Tools and Algorithms for the Construction and Analysis of Systems. Germany: Springer: 2008. p. 337–40.
 26
Brummayer R, Biere A. Boolector: An efficient smt solver for bitvectors and arrays. In: Tools and Algorithms for the Construction and Analysis of Systems. Germany: Springer: 2009. p. 174–7.
 27
Davis M, Logemann G, Loveland D. A machine program for theoremproving. Commun ACM. 1962; 5(7):394–7.
 28
De Moura L, Bjørner N. Satisfiability modulo theories: introduction and applications. Commun ACM. 2011; 54(9):69–77.
 29
El Gamal A, Kim YH. Network Information Theory. UK: Cambridge University Press; 2011.
 30
Rosvall M, Bergstrom CT. An informationtheoretic framework for resolving community structure in complex networks. Proc Natl Acad Sci. 2007; 104(18):7327–31.
 31
Lancichinetti A, Fortunato S. Community detection algorithms: a comparative analysis. Phys Rev E. 2009; 80(5):056117.
 32
Newman ME. Modularity and community structure in networks. Proc Natl Acad Sci. 2006; 103(23):8577–82.
 33
Rosvall M, Bergstrom CT. Maps of random walks on complex networks reveal community structure. Proc Natl Acad Sci. 2008; 105(4):1118–23.
 34
Pons P, Latapy M. Computing communities in large networks using random walks. In: Computer and Information SciencesISCIS 2005. Germany: Springer: 2005. p. 284–93.
 35
Blumenthal L. Theory and Applications of Distance Geometry. UK: Oxford University Press; 1953.
 36
Borg I, Groenen PJ. Modern Multidimensional Scaling: Theory and Applications. NY, USA: Springer; 2005.
 37
Achlioptas D. Databasefriendly random projections: Johnsonlindenstrauss with binary coins. J Comput Syst Sci. 2003; 66:671–87.
Acknowledgments
The authors would like to thank the US Air Force for support provided through the AFOSR Young Investigator Award to Sumit Jha. The authors acknowledge support from the National Science Foundation Software & Hardware Foundations #1438989 and Exploiting Parallelism & Scalability #1422257 projects. This material is based upon work supported by the Air Force Office of Scientific Research under award number FA95501610255 and National Science Foundation under award number IIS1064427.
Funding
Publication charges for this article has been funded by an award from the National Science Foundation.
Availability of data and materials
Not applicable.
Authors’ contributions
SR and ZH obtained the experimental results reported in the paper. NT designed a web frontend for visualizing lowdimensional projections. FH and SJ implemented an earlier prototype of the algorithm presented in this paper. JC defined the problem and provided expert inputs on flow cytometry. SP directed the research on data visualization and ND directed the work on complex networks. DT directed the research on data analytics. SR, ZH, and FH investigated the use of decision procedures for data visualization. SJ directed the research on decision procedures for synthesizing projections of data sets. All authors read and approved the final manuscript.
Competing interests
The authors declare that they have no competing interests.
Consent for publication
Not applicable.
Ethics approval and consent to participate
Not applicable.
About this supplement
This article has been published as part of BMC Bioinformatics Volume 18 Supplement 8, 2017: Selected articles from the Fifth IEEE International Conference on Computational Advances in Bio and Medical Sciences (ICCABS 2015): Bioinformatics. The full contents of the supplement are available online at https://bmcbioinformatics.biomedcentral.com/articles/supplements/volume18supplement8.
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Author information
Additional information
From Fifth IEEE International Conference on Computational Advances in Bio and Medical Sciences(ICCABS 2015) Miami, FL, USA. 15–17 October 2015
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
About this article
Cite this article
Raj, S., Hussain, F., Husein, Z. et al. A theorem proving approach for automatically synthesizing visualizations of flow cytometry data. BMC Bioinformatics 18, 245 (2017). https://doi.org/10.1186/s1285901716624
Published:
Keywords
 Automated synthesis
 Symbolic decision procedures
 Highfidelity visualization
 Biomedical informatics
 Highdimensional data
 Flow cytometry