Automated gate drawing for flow cytometry data

A supervised deep learning model with self-attention and graph layers automates the gate-drawing process in flow cytometry, enhancing throughput and accuracy for hematological malignancy diagnosis by classifying cells and allowing user manipulation, thus improving clinical decision-making.

JP2026500674APending Publication Date: 2026-01-08INVIVOSCRIBE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025537067
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-12-24
Filing Date
2023-12-12
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

The manual interpretation of flow cytometry data for diagnosing hematological malignancies is time-consuming and prone to errors, limiting the throughput and accuracy of clinical decision-making.

Method used

A supervised deep learning model with self-attention and graph layers is used to automatically classify cells and draw gates in flow cytometry data, allowing for user manipulation and improving throughput by eliminating gate intersections, thus enhancing the efficiency and accuracy of data interpretation.

Benefits of technology

The system significantly improves the throughput and accuracy of flow cytometry analysis by automating the gate-drawing process, enabling scalable and precise classification of cell types, reducing computational resources, and facilitating quick human correction for enhanced clinical diagnostics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026500674000001_ABST
    Figure 2026500674000001_ABST
Patent Text Reader

Abstract

The device receives cell representations generated from a patient sample (e.g., blood or bone marrow) by a flow cytometry machine, the cell representations comprising location data and organized into a graph based on the location data, each cell representation corresponding to a cell in the sample. The device inputs the cell representations into a supervised machine learning model and receives a cell type classification for each of the cell representations from the supervised machine learning model. The device applies an unsupervised machine learning model to the classified cell representations, the unsupervised machine learning model outputting a different gate for each classification field, the different gates forming an intersection region. The device reapplies the unsupervised machine learning model to the cell representations within the intersection region until the intersection region is eliminated.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 63 / 435,244, entitled "Automated Gate Drawing in Flow Cytometry Data," filed December 24, 2022. All of the foregoing subject matter is incorporated herein by reference in its entirety.

[0002] Flow cytometry is a technique used to detect and measure the physical and chemical properties of populations of cells or particles, and can be used to detect and monitor hematological malignancies. The standard approach to accomplish this is to run a sample (e.g., a blood or bone marrow sample) through a flow cytometry machine, which then generates multidimensional measurements for each cell in the sample. The multidimensional data generated by the flow cytometry machine is then loaded into a computer program for visualization. This visualization aids a human expert in interpreting the data. To interpret the data, the human expert will manually separate groups of events (i.e., cells) into different assigned groups. The size of each group of cells is used to generate a human interpretation of the sample. The resulting interpretation can inform clinical decisions for physicians treating patients with hematological malignancies. Summary of the Invention [Means for solving the problem]

[0003] Disclosed herein are systems and methods for automatically interpreting flow cytometry data using machine learning by applying gates to the data and, based on the analysis, generating a user interface for the user to manipulate the gates and prepare a final interpretation. To this end, a supervised deep model with self-attention and graph layers is trained to classify cells into specific cell types (e.g., lymphocytes, monocytes, etc.) based on the flow cytometry data, and gates are drawn around those classifications. The gates are smoothed to ensure that each encompasses a population of cell types without intersecting with other gates in two-dimensional space. A user interface is then generated to allow the user to manipulate the gates to their satisfaction and obtain a diagnosis therefrom. Advantageously, the systems and methods disclosed herein are scalable because the analysis works to draw gates regardless of the number of classifications and automatically remove intersecting areas between gates, thereby resulting in a many-fold improvement in the throughput of flow cytometry analysis. [Brief explanation of the drawings]

[0004] [Figure 1] FIG. 1 illustrates one embodiment of a system environment for implementing a cytometry analysis tool.

[0005] [Figure 2] FIG. 2 illustrates one embodiment of an end-to-end approach for diagnosing disease using the systems and methods disclosed herein.

[0006] [Figure 3] FIG. 3 illustrates one embodiment of exemplary modules and databases used by the cytometry analysis tool.

[0007] [Figure 4A] FIG. 4A shows one embodiment of drawing an initial gate around a cellular representation of flow cytometry data.

[0008] [Figure 4B] FIG. 4B shows vector drawing to find the close neighbors for use in drawing the next gate during the intersection region evacuation process.

[0009] [Figure 5] FIG. 5 shows one embodiment of an updated gate drawing around a cell representation of flow cytometry data where the gate has retracted from the intersection region.

[0010] [Figure 6] FIG. 6 illustrates an exemplary process for drawing gates using a machine learning approach.

[0011] [Figure 7A] 7A-C illustrate an exemplary user interface for operating the gate. [Figure 7B] 7A-C illustrate an exemplary user interface for operating the gate. [Figure 7C] 7A-C illustrate an exemplary user interface for operating the gate.

[0012] The figures depict various embodiments of the present invention for illustrative purposes only. Those skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the present invention as described herein. DETAILED DESCRIPTION OF THE INVENTION

[0013] Detailed Description I. Overview Figure 1 illustrates one embodiment of a system environment for implementing a cytometric analysis tool. As depicted in Figure 1, environment 100 includes a flow cytometer 110, a network 120, a cytometric analysis tool 130, and a client device 140. While only one of each item is depicted, this is for convenience of illustration, and reference to each item in the singular is intended to encompass instances where a plural of the item is present.

[0014] A flow cytometer 110 is a device into which a sample (e.g., biological samples including, but not limited to, blood, bone marrow, cell lines or in vitro cell cultures, biological fluids, or tissues such as solid tumors) is input and multidimensional measurement data is output for each cell in the sample. The multidimensional data can be used to measure the physical and chemical properties of populations of cells or particles. In an exemplary embodiment described herein, the multidimensional data is used to detect hematological malignancies.

[0015] The network 120 facilitates the transmission of data between the flow cytometer 110 and the cytometric analysis tool 130. The network 120 may be any data transmission path, including the Internet, short-range communications, a local area network, wireless communications, tower-based communications, or any other communications. The network 120 may also be used to facilitate communications between the cytometric analysis tool 130 and the client device 140 and / or between the flow cytometer 110 and the client device 140.

[0016] The cytometric analysis tool 130 receives the multidimensional measurement data from the flow cytometer 110. The cytometric analysis tool 130 may be located within a facility (e.g., an academic laboratory, a clinical laboratory, or a reference laboratory) or may be located remotely (e.g., in the cloud or at a location different from the aforementioned laboratory). In certain embodiments, the cytometric analysis tool 130 may be integrated into the flow cytometer 110. The cytometric analysis tool 130 generates gates around cell representations derived from the multidimensional measurement data and generates a user interface with the gates for display on the client device 140, where a user may manipulate the gates using the user interface. Further details about the cytometric analysis tool 130 and the client device 140 are disclosed below with respect to Figures 2-5.

[0017] FIG. 2 illustrates one embodiment of an end-to-end approach for diagnosing disease using the systems and methods disclosed herein. As shown in FIG. 2, process 200 begins with a technician running a sample (e.g., a blood or bone marrow sample) through a flow cytometer (e.g., flow cytometer 110) (210). Multidimensional data is output by the flow cytometer and transmitted to cytometric analysis tool 130, which may preprocess the data into unlabeled point clouds (220). Cytometric analysis tool 130 then predicts cell types for each cell represented by the point clouds and draws (and redraws) gates (230), as will be described below with respect to FIGS. 3-5. Cytometric analysis tool 130 then generates a user interface (240) for display to a user, who may adjust gates using the user interface, after which a report (250) may be sent to a hematopathologist or a diagnosis may be output.

[0018] FIG. 3 illustrates one embodiment of exemplary modules and databases used by a cytometric analysis tool. As depicted in FIG. 3, cytometric analysis tool 130 includes a preprocessing module 331, a transformer module 332, an outlier determination module 333, a gate determination module 334, a user interface module 335, and a machine learning model database 341. The modules and databases depicted in FIG. 3 are merely exemplary, and more or fewer modules and databases may be used to accomplish the activities disclosed herein. Furthermore, the functionality of cytometric analysis tool 130 may be distributed, in part or in whole, across other devices in environment 100 (e.g., user interface module 335 or any other module operates an application installed within client device 140).

[0019] The preprocessing module 331 receives multidimensional data generated by a flow cytometry machine (e.g., flow cytometer 110) based on a patient sample (e.g., blood or bone marrow). The multidimensional data includes cellular representations, each at a location on a multidimensional graph. Each cellular representation is an embedding corresponding to a cell of a given sample from the patient. The preprocessing module 331 preprocesses and manipulates the cellular representations using one or more unsupervised machine learning models and, optionally, additional heuristics, prior to sorting the data for gate drawing. Preprocessing may include removing debris accidentally included as an event (cell), removing doublets, removing anuclear cells, and / or removing any other noise from the multidimensional data.

[0020] The Transformer module 332 obtains the preprocessed cell representations and inputs the preprocessed cell representations into a supervised machine learning model. In one embodiment, the supervised machine learning model is a Transformer, which is a deep learning architecture that includes a self-attention layer that enables connections between data points within the model. One preferred embodiment includes both a self-attention layer and a graph layer. Such an architecture enables the supervised machine learning model to consider the embedding of other cell representations when classifying a given cell representation. In one embodiment, the supervised machine learning model may output a binary classification (e.g., cancerous cell vs. non-cancerous cell). However, in a preferred embodiment, the supervised machine learning model may output a more granular cell type classification (e.g., a cell is a lymphocyte cell type vs. a mononuclear cell type vs. any other cell type). The supervised machine learning model is trained using ground truth preprocessed multidimensional data that is labeled with its corresponding cell type classification. The trained model may be stored in the machine learning model database 341.

[0021] In one embodiment, a supervised machine learning model may be trained to perform multi-level classification. That is, a first machine learning model may be used to predict a cell type classification. A second machine learning model may be used to predict a cell type subclassification. The second machine learning model may be selected from a plurality of candidate subclassification models, each trained to predict a subclassification using training data for its corresponding cell type. As an example, the first machine learning model may predict that a cell phenotype corresponds to a lymphocyte. The second machine learning model may be trained to predict a lymphocyte type (e.g., CD3 positive, CD4 positive, etc.). By predicting a subclassification using multi-level classification, model accuracy is improved and model efficiency is improved in that a leaner model (free from noise from training data for other classifications) is used. Furthermore, the subclassification model operates more efficiently than a larger model trained on all subclassifications because less processing power is required to predict a classification for a cell phenotype using a leaner model.

[0022] The Transformer module 332 receives classifications for each cell representation as they are output from the supervised machine learning model. In practice, cell representations of the same cell type tend to cluster in terms of location within the graph. However, outliers and intersection areas exist where many cell representations from different cell types are clustered, thus confounding the analysis. To this end, the Gate Determination module 334 applies unsupervised machine learning techniques to accurately gate clusters despite such confounding factors.

[0023] Prior to gate determination, the outlier determination module 333 determines outlier cell representations within the graph. The outlier determination module 333 performs this determination by identifying cell representations having a given cell type classification that differs in two dimensions from the cell type classification of each of the neighboring cell representations. That is, if a given cell type (e.g., lymphocytes) is surrounded on all sides by cell representations having different cell types (e.g., monocytes), the outlier determination module 333 determines that the given cell type is an outlier, and the corresponding cell representation is labeled as an outlier.

[0024] The gate determination module 334 draws gates based on which cell representations are considered "in play" or "active" and which cell representations are considered "out of play" or "inactive." The manner in which cell representations are classified as "in play" or "out of play" for purposes of gate determination is described in the next several paragraphs. Other provisional classifications are also used and are described in the next several paragraphs. In one embodiment, the gate determination module may maintain a data structure indicating the active or inactive status for each cell representation.

[0025] Initially, all cell representations are marked as active by the gate determination module 334. That is, the gate determination module 334 may initialize a data structure to indicate an active status for all cell representations. After the outliers are determined by module 333, the gate determination module 334 converts the determined outlier status to an "inactive" or "out of play" status, thus eliminating the outlier cell representations from the cell representations input into the unsupervised model for gate drawing. The reason for this is that, as can be seen in FIG. 4, a population of cell representations with the same cell type classification tends to cluster together. Initially, a gate is drawn to include all cell representations of a given type, resulting in an intersection region where cells of the two types are intermingled. However, if an outlier exists far from its cluster, the iterative gate drawing process consumes significant resources and time to iterate away from the outlier, and this iterative process may be prone to error. By eliminating the outliers initially, the intersection region becomes much smaller, and much less computational power and processing needs to be performed to eliminate the intersection region.

[0026] After removing outliers from the active cell representations, the gate determination module 334 draws a separate convex hull as a gate around all active cells for each cell type. Turning to FIG. 4, FIG. 4A illustrates one embodiment of drawing an initial gate around cell representations of flow cytometry data. Graph 400 shows convex hulls drawn for four different cell types classified by a supervised machine learning model. While depicted using shading, this is for convenience; the shading indicates dense areas of cell representations, with each convex hull surrounding the outermost cell representation on the graph for each cell type. Different shading levels are used for each cell representation, with each shading representing a different cell type. As can be seen, the convex hulls have intersection regions where both cell representations of different types fall within two or more convex hulls. The gate determination module 334 performs an iterative process using an unsupervised machine learning model to partially or completely eliminate each of the intersection regions, as follows:

[0027] Each hull has its own separate iteration. For a given hull, the gate determination module 334 marks cell representations within the given hull that are not within an intersection region with another hull as both "safe" (temporarily defined) and "inactive," thus leaving only cell representations within the intersection region active. The gate determination module 334 inputs the active cell representations into an unsupervised machine learning model (e.g., retrieved from the machine learning model database 341). The machine learning model may be a nearest neighbor module that produces a graph of the k nearest neighbors (k is programmed by the user of the cytometry analysis tool 130).

[0028] The gate determination module 334 may then determine, for each active cell, the average relative vector across k neighbors. That is, the vector represents the direction that most strongly represents where cells of the type belonging to the follicle belong (e.g., because the density of cell representations having a cell type corresponding to the follicle is highest in that direction compared to cell representations having a different cell type). The gate determination module 334 then identifies the closest cell in the vector direction for a given active cell from which the vector for the active cell was derived. For example, the gate determination module 334 may determine the single neighbor cell with the greatest cosine similarity to the average vector. The given active cell is then marked as inactive. The gate determination module 334 then receives a concatenation of the "safe" cells and the "nearest neighbors" and uses the concatenation to define cells that should be initiated as "in play" or active for the next iteration of the process, leaving other cells "inactive" for the next iteration. Note that if a given active cell is designated as the "nearest neighbor," it will remain active.

[0029] FIG. 4B illustrates vector drawing to find nearest neighbors for use in drawing the next gate during the intersection region evacuation process. As shown in FIG. 4B, vector 412 corresponds to one cell type, and vector 417 corresponds to another cell type. Both vectors 412 and 417 are drawn from a given active node based on the K-neighbor analysis and represent directions that most strongly represent where cells of that cell type are located. In the case of vector 412, vector 412 is drawn from active cell representation 411. Cell representation 413 is the nearest cell representation pointed to by vector 412, and therefore cell representation 413 is marked as the nearest cell representation with respect to active cell representation 411. As the process is repeated, vectors are drawn in the same manner from nearest cell representation 413 to point to nearest cell representation 414, and so on. It can be seen that as this process is repeated, the vectors starting from active cell representation 411 and active cell representation 417 are iteratively retreated towards locations where the cell population is dense for each cell type, thus causing the corresponding gates to retreat accordingly away from the intersection region of the two cell types.

[0030] The iterative process continues by drawing a new convex hull around each population (e.g., the intersecting area is now smaller or eliminated), and again inputting the active cells into the machine learning model, and identifying new nearest neighbor cells, etc. The iterative process continues until a stopping condition is met. Stopping for context, what the above iterative process does is iteratively move the boundary of each convex hull away from other convex hulls. That is, because vectors will generally point inward toward the "safe" cells of the convex hull, the intersection area will become smaller as the convex hull is redrawn in each cycle.

[0031] A stopping condition is any condition that stops the iterative cycle described above. The gate determination module 334 may determine that a stopping condition is met based on any condition programmed by a user of the cytometry analysis tool 130. As one example of a stopping condition, the gate determination module 334 may monitor whether there is no longer an intersection area between two populations (e.g., by counting only “prey cells”) and may determine that the stopping condition is met for a given follicle. As another example of a stopping condition, the gate determination module 334 may determine whether one population occupies a predefined amount (e.g., 75+%) of the “prey cells” in the intersection area and, in response to making that determination, may determine that the stopping condition is met. This prevents the gate determination module 334 from reducing the gate for both populations when the intersecting area can be considered to mostly “belong” to only one population. As yet another example, the gate determination module 334 may determine whether there are fewer than a predefined number (e.g., 200) of “cells in prey” of either population within a given intersection region, and may determine that the presence of fewer than a predefined number (e.g., 200) of “cells in prey” of either population within a given intersection region means that the intersection region represents a concave partition of one of the populations and therefore may not be able to be resolved, and accordingly determine that a stopping condition is met where this condition exists.

[0032] After the gate determination module 334 determines that the stopping condition is met for all intersecting populations, the gate determination module 334 may draw a convex hull around the final "cells in play." The gate determination module 334 may assign the remaining intersecting area to populations with more "cells in play" in the intersecting region and subtract the intersecting area from populations with fewer cells in play, thereby enabling a concave gate. The gate determination module 334 may then return all final hulls. An example of this can be seen in FIG. 5, where a concave hull is drawn based on the stopping condition post-processing. Note that while there is a single mathematical convex hull that can be drawn around the cloud of points in Euclidean space, no such single optimal concave hull exists. This iterative approach therefore enables a concave hull that can effectively mimic a human-drawn gate, which often includes concave regions.

[0033] The user interface module 335 generates a user interface for a human operator (e.g., at the client device 140) to manipulate the gates. That is, because stopping conditions are used and assumptions are made from that point on, the gates may not be perfectly accurate. However, they are often very close to being perfectly accurate (e.g., 90-97% accurate), thus allowing the human operator to quickly correct any accuracy issues through gate modification (e.g., dragging, adding, or removing vertices from one or more of the polygon gates) before the next step is taken. The next step may be to provide a report of the gates or a report based on the gates to a physician. Alternatively, the gates may be input into a machine learning model that is trained to output a diagnosis therefrom.

[0034] 7A-C illustrate exemplary user interfaces for manipulating gates. As shown in FIG. 7A, user interface 710 depicts one or more gates 711, each gate being drawn based on the determinations described above with respect to FIGS. 3-5. Vertices may be bolded, and each bolded vertex is selectable. FIG. 7B shows vertex 721 being selected. That is, user interface module 335 detects input from a user directing manipulation of vertex 721. User interface module 335 may receive instructions on how to manipulate vertex 721 using detecting a drag of vertex 721 in a given direction, using instructions to move vertex 721 pixel-by-pixel in any given direction, and / or based on any other mode of instruction. FIG. 7C shows gate 711 being adjusted in response to detecting input to move vertex 721 to the upper left. User input interface 335 may determine that the adjustment is complete based on an instruction from the user that gate 711 has been confirmed. Any number of gates may be manipulated and displayed on the user interface 710, but FIGS. 7A-7C include only one gate for convenience.

[0035] In one embodiment, input from a human operator about where the gates have been redrawn is used to update the training data for the supervised machine learning model that classifies each cell representation. That is, the redrawn gates provide clarity regarding borderline cell representations that were classified one way but should have been classified another way. This information of the changed classification may be used as training data to retrain the supervised machine learning model. Thus, in subsequent classifications and gate drawings, the gates will be drawn differently and more accurately based on previous use of the application that runs the machine learning model, resulting in an improved user interface.

[0036] 6 illustrates an exemplary process for drawing gates using a machine learning approach. Process 600 begins with cytometry analysis tool 130 receiving 602 multidimensional data generated from a patient sample by a flow cytometry machine (and preprocessing the multidimensional data, e.g., using preprocessing module 331). Cytometry analysis tool 130 then inputs 604 the multidimensional data into a supervised machine learning model (e.g., using transformer module 332) and receives 606 cell representations for each cell in the sample from the supervised machine learning model, each cell representation comprising a cell type classification and comprising location data, and the cell representations are organized into a graph based on the location data.

[0037] The cytometry analysis tool 130 applies 608 an unsupervised machine learning model to the cellular representations (e.g., using the gate determination module 334), where the unsupervised machine learning model outputs a different gate for each classification of the set of classifications, and the different gates form an intersection region. The cytometry analysis tool 130 reapplies 610 the unsupervised machine learning model to the cellular representations in the intersection region until the intersection region is eliminated.

[0038] Beneficially, in one or more embodiments, when applying a transformer model to flow data, it is not necessary to specify the number of vertices a gate should have before drawing the gate. Additionally, embodiments of the present invention allow multiple polygons to be analyzed on the same plot without requiring the number of polygons to be specified in advance.

[0039] In one or more embodiments, the methods described herein are performed in a sequential manner to progressively identify more specific subpopulations of cells. For example, as a tube of cells is passed through a flow cytometer, there is a lot of individual information that a single lymphocyte (for example) can provide, depending on the number of cell surface markers being tested using a different fluorescent color for each marker of interest: size and granularity (neither of which require the use of fluorescent markers, as these are physical characteristics that the flow machine measures using the light scattering pattern from each cell), and the number of cell surface markers (e.g., CD3, CD4, CD8, CD45, Ig, etc.). Continuing with this example, an initial application of the method is to plot only information regarding CD45 expression by the cells and the granularity profile of the cells (i.e., the number of granules the cells contain). Then, once all of the different populations in this CD45 vs. SSC plot have been gated, one of the gated populations is selected and the flow cytometer generates data regarding two other properties (e.g., CD4 expression and CD8 expression), and the cells are also being tested for the two other properties. This second step data may be easier to analyze, and therefore the operator may perform the analysis based solely on dividing the output using four quadrants. However, rather than applying a quadrant-based analysis, it is also possible that the operator may apply another step of the disclosed method to distinguish more complex polygon-based clusters.

[0040] II. Summary The foregoing description of embodiments of the invention has been presented for purposes of illustration, but is not intended to be exhaustive or to limit the invention to the precise form disclosed. Those skilled in the art will recognize that many modifications and variations are possible in light of the above disclosure.

[0041] Some portions of this description will describe embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are typically used by those skilled in the data processing arts to effectively convey the substance of their work to others skilled in the art. While these operations are described functionally, computationally, or logically, it will be understood that they may be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Further, it has proven convenient at times to refer to arrangements of these operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combination thereof.

[0042] Any of the steps, operations, or processes described herein may be performed or implemented using one or more hardware or software modules, alone or in combination with other devices. In one embodiment, the software modules are implemented using a computer program product comprising a computer-readable medium containing computer program code that can be executed by a computer processor to perform any steps, operations, or processes described.

[0043] Embodiments of the present invention may also relate to apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes and / or may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored within the computer. Such a computer program may be stored in a non-transitory, tangible computer-readable storage medium or any type of medium suitable for storing electronic instructions that may be coupled to a computer system bus. Furthermore, any computing system referred to herein may include a single processor or may comprise an architecture employing a multiple processor design for increased computing power.

[0044] Embodiments of the present invention may also relate to products produced by the computing processes described herein. Such products may comprise information resulting from the computing processes, which information may be stored on a non-transitory tangible computer-readable storage medium and may include any embodiment of a computer program product or other data combination described herein.

[0045] Finally, the terminology used herein has been selected primarily for readability and instructional purposes, and may not have been selected to delineate or limit the subject matter of the present invention. Accordingly, the scope of the present invention is intended to be limited not by this detailed description, but rather by any claims filed in an application based thereon. Thus, the disclosure of embodiments of the present invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Claims

1. 1. A method comprising: receiving cellular representations generated from a patient sample by a flow cytometry machine, the cellular representations comprising location data and organized into a graph based on the location data, each cellular representation corresponding to a cell of the sample; inputting the cell representations into a supervised machine learning model; receiving a cell type classification for each of the cell representations from the supervised machine learning model; applying an unsupervised machine learning model to the classified cell representations, the unsupervised machine learning model outputting a different gate for each of the classifications, the different gates forming an intersection region; reapplying the unsupervised machine learning model to cell representations within the intersection region until the intersection region is eliminated; and A method comprising:

2. 2. The method of claim 1, wherein the supervised machine learning model is a deep learning Transformer model with connections between data points within the supervised machine learning model, thereby enabling the supervised machine learning model to take into account embeddings of other cell representations when classifying a given cell representation.

3. 3. The method of claim 2, wherein the supervised machine learning model is trained to predict a cell type from a plurality of candidate cell types.

4. prior to reapplying the unsupervised machine learning model to the cell representations until the intersection region is eliminated; determining an outlier cell representation by identifying a given cell representation having a given cell type classification that differs from the cell type classification of each of the neighboring cell representations; removing the outlier cell representations from the cell representations input into the unsupervised machine learning model; The method of claim 1 further comprising:

5. reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated; initializing a data structure for each of the different gates, the data structure tracking each cell representation within each gate as either active or inactive, the initialized data structure marking all cell representations as active for each gate; For a given gate, marking the outlier cell representations as inactive; and marking cell representations within said intersection region as active; marking cell representations outside said intersection region as inactive; and The method of claim 1 further comprising:

6. For each given cell representation marked as active within a given gate, performing a nearest neighbor search on a predefined number of nearest neighbors of the given cell representation; generating a vector pointing towards the statistical representation of the direction of the nearest cell representation; identifying nearest neighbor cells to the given cell representation in the direction of the vector; marking each given cell representation as inactive; Marking each nearest neighbor cell representation as active The method of claim 5 , further comprising performing an iterative reprocessing including:

7. 7. The method of claim 6, wherein reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated comprises performing the iterative reprocessing until a stopping condition is met.

8. In response to determining that the stopping condition is satisfied, redrawing the different gates around the active cell representations of each of the different gates; determining whether any intersection regions remain; and In response to determining that any intersection regions remain, assigning the cell representations of the intersection region to a given classification corresponding to a most frequently occurring classification among the active cell representations within the intersection region; subtracting any intersection area from the gate corresponding to the least represented classification among the active cell representations within the given intersection area; The method of claim 7 further comprising:

9. 10. The method of claim 1, further comprising generating a user interface comprising the different gates for display, the user interface enabling an operator to select a classification for any remaining cell representations.

10. The method of claim 1 , wherein the sample is a blood sample of the patient.

11. The method of claim 1 , wherein the sample is a bone marrow sample from the patient.

12. A non-transitory computer-readable medium comprising a memory with instructions encoded thereon that, when executed by one or more processors, cause the one or more processors to perform operations, including: receiving cellular representations generated from a patient sample by a flow cytometry machine, the cellular representations comprising location data and organized into a graph based on the location data, each cellular representation corresponding to a cell of the sample; inputting the cell representations into a supervised machine learning model; receiving a cell type classification for each of the cell representations from the supervised machine learning model; applying an unsupervised machine learning model to the classified cell representations, the unsupervised machine learning model outputting a different gate for each of the classifications, the different gates forming an intersection region; reapplying the unsupervised machine learning model to cell representations within the intersection region until the intersection region is eliminated; and 1. A non-transitory computer-readable medium comprising:

13. 13. The non-transitory computer-readable medium of claim 12, wherein the supervised machine learning model is a deep learning Transformer model having connections between data points within the supervised machine learning model, thereby enabling the supervised machine learning model to consider embeddings of other cellular representations when classifying a given cellular representation.

14. 14. The non-transitory computer-readable medium of claim 13, wherein the supervised machine learning model is trained to predict a cell type from a plurality of candidate cell types.

15. prior to reapplying the unsupervised machine learning model to the cell representations until the intersection region is eliminated, determining an outlier cell representation by identifying a given cell representation having a given cell type classification that differs from the cell type classification of each of the neighboring cell representations; removing the outlier cell representations from the cell representations input into the unsupervised machine learning model; 13. The non-transitory computer-readable medium of claim 12, further comprising:

16. reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated; initializing a data structure for each of the different gates, the data structure tracking each cell representation within each gate as either active or inactive, the initialized data structure marking all cell representations as active for each gate; For a given gate, marking the outlier cell representations as inactive; and marking cell representations within said intersection region as active; marking cell representations outside said intersection region as inactive; and 13. The non-transitory computer-readable medium of claim 12, further comprising:

17. The operation is For each given cell representation marked as active within a given gate, performing a nearest neighbor search on a predefined number of nearest neighbors of the given cell representation; generating a vector pointing towards the statistical representation of the direction of the nearest cell representation; identifying nearest neighbor cell representations for the given cell in the direction of the vector; marking each given cell representation as inactive; Marking each nearest neighbor cell representation as active 20. The non-transitory computer-readable medium of claim 16, further comprising performing an iterative reprocessing comprising:

18. 20. The non-transitory computer-readable medium of claim 17, wherein reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated comprises performing the iterative reprocessing until a stopping condition is met.

19. In response to determining that the stopping condition is satisfied, the operation comprises: redrawing the different gates around the active cell representations of each of the different gates; determining whether any intersection regions remain; and In response to determining that any intersection regions remain, assigning the cell representations of the intersection region to a given classification corresponding to a most frequently occurring classification among the active cell representations within the intersection region; subtracting any intersection area from the gate corresponding to the least represented classification among the active cell representations within the given intersection area; 20. The non-transitory computer-readable medium of claim 18, further comprising:

20. 13. The non-transitory computer-readable medium of claim 12, wherein the operations further include generating a user interface for display comprising the different gates, the user interface enabling an operator to select a classification for any remaining cellular representations.

21. 13. The non-transitory computer-readable medium of claim 12, wherein the sample is a blood sample of the patient.

22. 13. The non-transitory computer-readable medium of claim 12, wherein the sample is a bone marrow sample from the patient.

23. 1. A system comprising: a memory with instructions encoded thereon; Execution of the instructions by one or more processors causes the processor to perform operations, the operations including: receiving cellular representations generated from a patient sample by a flow cytometry machine, the cellular representations comprising location data and organized into a graph based on the location data, each cellular representation corresponding to a cell of the sample; inputting the cell representations into a supervised machine learning model; receiving a cell type classification for each of the cell representations from the supervised machine learning model; applying an unsupervised machine learning model to the classified cell representations, the unsupervised machine learning model outputting a different gate for each of the classifications, the different gates forming an intersection region; reapplying the unsupervised machine learning model to cell representations within the intersection region until the intersection region is eliminated; and one or more processors, A system comprising:

24. 24. The system of claim 23, wherein the supervised machine learning model is a deep learning Transformer model having connections between data points within the supervised machine learning model, thereby enabling the supervised machine learning model to consider embeddings of other cellular representations when classifying a given cellular representation.

25. 25. The system of claim 24, wherein the supervised machine learning model is trained to predict a cell type from a plurality of candidate cell types.

26. prior to reapplying the unsupervised machine learning model to the cell representations until the intersection region is eliminated, determining an outlier cell representation by identifying a given cell representation having a given cell type classification that differs from the cell type classification of each of the neighboring cell representations; removing the outlier cell representations from the cell representations input into the unsupervised machine learning model; 24. The system of claim 23, further comprising:

27. reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated; initializing a data structure for each of the different gates, the data structure tracking each cell representation within each gate as either active or inactive, the initialized data structure marking all cell representations as active for each gate; For a given gate, marking the outlier cell representations as inactive; and marking cell representations within said intersection region as active; marking cell representations outside said intersection region as inactive; and 24. The system of claim 23, further comprising:

28. For each given cell representation marked as active within a given gate, performing a nearest neighbor search on a predefined number of nearest neighbors of the given cell representation; generating a vector pointing towards the statistical representation of the direction of the nearest cell representation; identifying nearest neighbor cells to the given cell representation in the direction of the vector; marking each given cell representation as inactive; Marking each nearest neighbor cell representation as active 28. The system of claim 27, further comprising performing an iterative reprocessing comprising:

29. 30. The system of claim 28, wherein reapplying the unsupervised machine learning model to cell representations in the intersection region until the intersection region is eliminated comprises performing the iterative reprocessing until a stopping condition is met.

30. In response to determining that the stopping condition is satisfied, redrawing the different gates around the active cell representations of each of the different gates; determining whether any intersection regions remain; and In response to determining that any intersection regions remain, assigning the cell representations of the intersection region to a given classification corresponding to a most frequently occurring classification among the active cell representations within the intersection region; subtracting any intersection area from the gate corresponding to the least represented classification among the active cell representations within the given intersection area; 30. The system of claim 29, further comprising:

31. 24. The system of claim 23, further comprising generating a user interface comprising the different gates for display, the user interface allowing an operator to select a classification for any remaining cell representations.

32. 24. The system of claim 23, wherein the sample is a blood sample of the patient.

33. 24. The system of claim 23, wherein the sample is a bone marrow sample from the patient.