Analysis and Interpretation of viSNE Results


After successfully setting up and running a viSNE analysis, the results will need to be interpreted and analyzed. This article outlines methods and considerations for analyzing viSNE results. Click the links below to jump to the relevant section:


Color the viSNE Map by Channel

A key workflow for understanding and analyzing a viSNE map is to color it by channel. Use the dot plots colored by channel functionality to color each event in the viSNE map according to its intensity on a channel within the dataset. The patterns that emerge of channel expression and event colocalization into islands show variety and identity of phenotypes present within the sample(s). Use this functionality in the Working Illustration to quickly and easily make a figure such as the one below, where viSNE maps across different samples and channels can be visualized simultaneously to understand the dataset:

(click to expand - dot plots colored by channel within the Working Illustration. Relevant settings are highlighted in red and green. Green settings indicate the key components of making a figure that rotates through a variety of channels. The Panel/Channel Values option as the coloring channel defers control of this parameter to the Channels Figure Dimension Box where multiple selections can be made)


Assess viSNE Map Quality

Before attempting to proceed with an analysis of a viSNE map, it is necessary to understand if the settings used in the run resulted in a viSNE map with sufficient quality to warrant analysis. Regardless of the quality of the data that were passed through viSNE, it's possible that the settings used for the analysis did not allow for a good result. The most typical reason for this is a lack of iterations when working with viSNE runs with larger numbers of events (as a rough example, in abundance of 400,000 events). If coloring the viSNE map by channel results in overlapping and poorly formed islands of events, another run should be attempted with more iterations to improve the clarity of the results. Other viSNE settings are also available that may improve the separation of events in the viSNE map.

(viSNE maps colored by channel comparing a poorly converged viSNE map to a nicely converged viSNE map. Each row is a single sample colored by four different markers as indicated. The two samples are not related and are from different viSNE analyses. They are only shown together for purposes of comparison and reference for the idea of poor versus good convergence)


Gate the viSNE Map to Define Populations Manually

viSNE takes data and arranges it into an organized map according to the expression profile of each cell within the dataset. After this point it is up to the researcher to decide how to partition and label the map for biological context. A typical approach to this workflow is to manually gate the viSNE map. A simple strategy for manually gating the viSNE map is to use dot plots colored by channel (see above) and the natural separations of the viSNE map to draw gates. Zooming the gating interface will also help with this process. For regions that are difficult to gate because of a lack of clear separation between more continuous phenotypes, other plot types such as uncolored contour plots and contour plots colored by density can be used to help reveal density trends in the viSNE map that can guide gate placement. Black dot plots can be used to increase contrast for small populations that might go overlooked in other contexts:

(different plot types such as contour plots colored by density, black dot plots, and uncolored contour plots can help with gating. Density visualizations assist with dissection of phenotypic subsets that are biologically unique but in a more continuous distribution. Arrow indicates one large subset with more continuous smaller nested subsets, as is often seen in T and B cell biology, for example)

(example of a viSNE map that has been gated)

While it is a typical workflow, manually gating the viSNE map is a somewhat labor-intensive and non-scalable process. It can be challenging (just as in traditional sequential gating) to draw gates in places where there are subtle differences between adjacent populations. Furthermore, gates drawn on one viSNE map aren't portable to future analyses because of the stochastic nature of viSNE. Researchers interested in accelerating viSNE-based workflows should understand options for automated methods for categorizing viSNE maps.


Cluster the viSNE Map to Define Populations Automatically

Concept Overview - Clustering a viSNE Map

A number of methods have been described in the literature whereby manual gating of the viSNE map is replaced with clustering to categorize populations. Regardless of the exact implementation, the general logic of this approach builds on similar principles that a human might use to categorize the viSNE map with manual gates. In particular, using the geography of the tSNE map and patterns of density grouping to assign similarly distributed cells to groups (i.e., clusters). An important distinction of this clustering workflow is that it clusters only on the tSNE parameters that provide the information of the viSNE map. This is to be contrasted with typical clustering workflows which cluster based on the high dimensional channel properties of the data. One example methodology for clustering the viSNE map can be visualized as follows:

(a methodological example of one way to cluster a viSNE map. Left: a viSNE map is displayed as a contour plot colored by density to show patterns of event distribution. Center: peaks are defined using a density estimation algorithm to decide on population centers. Right: an assignment algorithm operates on the data to assign cells to clusters based on proximity to established peaks)

Methods Available for Clustering a viSNE Map

Various methods for the automatic categorization of viSNE maps have been described and used in the literature. Some examples include DensVM, ClusterX, and ACCENSE. DensVM, ClusterX, and ACCENSE are not available in Cytobank. SPADE, however, can possibly help with this workflow and is offered within Cytobank. It is simple to run SPADE on the results of a viSNE analysis in order to automatically categorize viSNE populations. To learn more, read the article: how to run SPADE on viSNE.


Heatmap of viSNE Populations Expression on All Channels

A useful workflow in the analysis of viSNE populations is to express each population as its component channels. This is useful for summarizing the variety of phenotypes present in a viSNE map and comparing different populations quickly in a condensed, easy-to-interpret space:

(methodological example of representing populations identified in a viSNE map as a heatmap with their component expression on each channel within the dataset)

Remember that proper scaling of channel values is an important concept when working with heatmaps. Read about how to configure a heatmap of populations versus many channels and also how to scale it properly.


Check back soon for more content...


Have more questions? Submit a request