ecl-logo Documentation

AnalyzeGating

AnalyzeGating[dataObject]groupData

filters and/or groups multi dimensional scatter plot data by manual gating or algorithmic clustering.

Details

  • A gate consists of one or more polygons lying in two dimensions, and an indicator specifying whether the points inside the polygons should be included or excluded from the grouping.
  • When specifying gates manually for data[FlowCytometry], the format for a single gate is <|Channels -> {channelX, channelY}, Dimensions -> {dimensionX, dimensionY}, Polygon -> Valid2DPolygon, Action -> Include|Exclude|>}.
  • Use Alt+left-click to add polygon corner points in the Gating app. Points can then be dragged to change the shape of the polygon.
  • KMeans clusters data into k clusters by recursively performing the following steps. First, assign each point to the cluster whose mean yields the least within-cluster sum of squares. Next, calculate the new means to be the centroids of the points in the new clusters.
  • KMerge is a method for post processing data that has been clustered using KMeans. The general idea is that KMeans cannot create clusters in the shape of cell populations. Instead one tries to represent a population with several clusters. KMerge then takes clusters that are in the same population and joins them together. Clusters can only be merged after an initial clustering has been performed.
  • Quadrant clustering is a method where the user clusters the data into four clusters with respect to the user defined quadrant and does not use a distance metric.
  • Manual grouping is a method when user specifies a list of polygons, data points in each polygon forms a cluster while data points ouside of all the polygons forms one cluster. When a data point falls in the overlapping area, it belongs to the cluster generated by the poygon that comes first.
  • ManhattanDistance, EuclideanDistance, SquaredEuclideanDistance are the distance metrics commonly used on Flow Cytometry data.
  • Input
    Output
    General Options
    Messages
  • ClusterChannelsAnsDimensionsLengthMismatchClusterChannels and ClusterDimensions are of different length. The shortter one will be padded right to match the longer one.
    IllegalDimensionsAt least one of the specified dimensions and channels are not available in this data.
    IllegalGateAt least one of the specified `1` gate(s) is illegal. Possible reasons: 1. Gate defined in unavailable Channels or Dimensions; 2. polygon not defined in 2D; 3. polygon not defined with at least 3 coordinates; 4. points that are used in polygon definition is collinear.
    NoDataThe SLL Object you entered has no data associated with it that can be clusterd
    NoDataForGatingNo data is selected from the gating step.
    NotArrayThe data entered was not an array so it cannot be gated. An Array must have the same number of elements in each row.
    NotEnoughClustersThere are not enough initial clusters to perform merging. NumberOfGroups should be at least 3, and no larger than NumberOfMergedGroups .
    NotEnoughPointsSome of the clusters being input into KMerge are too small. Try using fewer initial clusters.

Examples

Basic Examples  (3)

Gating Analysis can be used to autotmatically break flow cytometry data up into groups of closely located data points:

Data can be filtered using manual gating wth the FilterGates option before performing automatic clustering or manual gating to generate groupings:

Data can be grouped manually by specifying lists of gates using the GroupGates option:

Additional Examples  (1)

A list of flow cytometry data can be provided to perform simultaneous gating on:

Options  (15)

App  (1)

The interactive app for clustering can be launched using the App option:

ClusterChannels  (1)

The channels used for automatically clustering can be specified using the ClusterChannels option:

ClusterDimensions  (1)

The dimensions used for automatically clustering can be specified using the ClusterDimensions option:

ClusterMethod  (1)

A clustering method can be used to be used to automatically group data using the ClusterMethod option:

DistanceFunction  (1)

The function which determines the distance between groups when performing automatic clustering can be specified using the DistanceFunction option:

FilterGates  (1)

A specific a list of gates can be provided to filter the data before grouping it using the FilterGates option:

GroupGates  (1)

A specific a list of gates can be provided to classify data into different groups using the GroupGates option:

GroupLabels  (1)

A name can be assoicated with each group using the GroupLabel option:

InitialGroups  (1)

When using KMerge automatic clustering method, a specific list of InitialGroups can be provided before merging to a final number of groups :

Normalize  (1)

The data can be normalized prior to automatic clustering to give equal weight of channels of different scale using the Normalize option:

NumberOfGroups  (1)

A desired number of groups to be returned using an automatic clustering method can be specified using the NumberOfGroups option:

NumberOfMergedGroups  (1)

The desired final number of groups to be returned by the KMerge automatic clustering method can be specified using the NumberOfMergedGroups option:

Options  (1)

The Options from a previous gating analysis can be used to perform an identical analysis on new data:

Output  (1)

Alternative fields from the analysis object such as the NumberOfGroups can be returned using the Return option:

Quadrant  (1)

Using the quadrant method, groups can be formed by breaking the dimensions into four quadrants by specifing the point where the quadrant lines cross:

Messages  (8)

ClusterChannelsAnsDimensionsLengthMismatch  (1)

Must specify at least one channel to overlay:

IllegalDimensions  (1)

Can not cluster on channels or dimensions that are missing in the data object:

IllegalGate  (1)

FilterGates and GroupGates should be specified by valid gates with matches GateP:

NoData  (1)

Cannot gate on data object without valid data field(s):

NoDataForGating  (1)

Cannot exclude all data points in the filtering step:

NotArray  (1)

Each data point must be of the same dimension:

NotEnoughClusters  (1)

KMerge can only operate on enough number of clusters:

NotEnoughPoints  (1)

KMerge can not operate on dataset that is too small: