Asynchronous training for classification in flow cytometry
The classifier is trained in flow cytometry through asynchronous training methods, which solves the reproducibility problems of traditional manual gating and the problem of machine learning training delay, and achieves efficient and real-time cell subset classification.
Patent Information
- Application Number
- CN202480003663.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-23
- Filing Date
- 2024-06-14
- Publication Date
- 2025-03-25
Smart Images

Figure CN119698548A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application was filed on June 14, 2024 as a PCT international application, and claims the benefit and priority of U.S. application No. 63 / 509,857, filed on June 23, 2023, entitled ASYNCHRONOUS TRAINING FOR CLASSIFICATION IN FLOW CYTOMETRY, the disclosure of which is incorporated herein by reference in its entirety. Background Art
[0003] Flow cytometry is a technique for detecting and analyzing the chemical and physical properties of cells or particles in a fluid sample. For example, a flow cytometer can be used to evaluate cells from blood, bone marrow, tumors, or other body fluids. As particles pass through a nozzle in a single file, they are optically analyzed to generate radiation that includes forward scattered light, side scattered light, and fluorescence. The radiation can then be detected and analyzed to determine one or more characteristics of the particles.
[0004] In some types of flow cytometry, such as multicolor and spectral flow, gates are used to classify cells or particles into subsets. These gates are typically geometric objects such as circles, ellipses, squares, rectangles, and arbitrary n-sided polygons. This concept of creating geometric gates to classify cells has been in flow cytometry since its inception and traditionally involves the user drawing a geometry by which the classification is defined. Either the particle is within the gate or it is not. Summary of the invention
[0005] Examples presented herein relate to an asynchronous training method for classification of cell subsets for flow cytometry. The method includes: identifying a training file for training a classifier; receiving a gate associated with the training file for training the classifier; receiving a model for training the classifier; training the classifier, and while the classifier is being trained, performing the following operations: classifying one or more flow cytometry files; monitoring the accuracy of the classifier; making a determination based on the accuracy whether the gate should be adjusted; and determining that the training of the classifier is complete.
[0006] In other aspects presented herein, the method further comprises displaying the results of the classification of one or more flow cytometry files. In other examples presented herein, the method further comprises showing the changes produced as the classification of one or more flow cytometry files changes in response to the training of the classifier continuing. In other implementations presented herein, the determination of whether the gate should be moved based on accuracy comprises determining the movement that should be applied to the gate. In other examples presented herein, the method further comprises moving the gate in response to determining the movement that should be applied to the gate.
[0007] In other aspects presented herein, the method further includes making a determination to train an additional classifier. In other implementations presented herein, the determination to train an additional classifier is made in response to receiving a selection of an additional classifier. In other aspects presented herein, the method further includes training an additional classifier. In other embodiments presented herein, the method further includes making a determination that one or more statistics should be added to the model. In other examples presented herein, the method further includes making a determination that compensation for the model should be changed.
[0008] In other aspects presented herein, the training file includes a collection of flow cytometry standard (FCS) files. In other aspects presented herein, the gate selection is a geometric gate. In other aspects presented herein, the gate selection is a two-dimensional gate. In other aspects presented herein, the classifier infers one or more additional dimensions outside the two-dimensional gate. In another example presented herein, the classifier generates a function based on a geometric gate.
[0009] Other examples presented herein relate to a system for asynchronous training of classification of cell subsets for flow cytometry. The system includes: one or more processors; a memory including instructions that, when executed by the one or more processors, cause the system to generate a classifier. The classifier is configured to: receive a training file, a gate associated with the training file, and a model; start training based on the training file, the gate, and the model; and perform classification of one or more flow cytometry files while training.
[0010] In other aspects presented herein, the system further comprises a display, wherein the results of classifying one or more flow cytometry files are displayed. In other aspects presented herein, the results are dynamically displayed so that changes in the results due to continued training of the classifier are depicted on the display. In other aspects presented herein, the changes are depicted in real time.
[0011] Other aspects presented herein relate to a system for classification of cell subsets for flow cytometry. The system includes: a flow cytometer; a gating module that communicates with the flow cytometer and includes: a classifier that includes a model; and a training file used by the classifier to train the model; and a display module that displays the results of classifying the flow cytometer file by the classifier, wherein the results are displayed while the classifier is being trained.
[0012] Various additional inventive aspects will be described in the following description. The inventive aspects may relate to individual features or to combinations of features. It should be understood that both the foregoing general description and the following detailed description are merely exemplary and illustrative and are not intended to limit the broad inventive concepts on which the embodiments disclosed herein are based. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] The accompanying drawings, which are incorporated into and constitute a part of the specification, illustrate several aspects of the present disclosure. A brief description of the drawings is as follows:
[0014] Figure 1 An example operating environment is shown in which aspects of the present disclosure may be implemented.
[0015] Figure 2 An example flow cytometry system is shown in which aspects of the present disclosure may be implemented.
[0016] Figure 3 An example classification and analysis apparatus is shown in which aspects of the present disclosure may be implemented.
[0017] Figure 4 An example graphical user interface (GUI) illustrating a portion of a flow cytometry analysis application in accordance with aspects of the present disclosure is shown.
[0018] Figure 5 An example method for asynchronous training of a cell subset classifier in accordance with aspects of the present disclosure is shown.
[0019] Figure 6 The present disclosure shows various aspects of Figure 4 Example of a training file worklist within the GUI.
[0020] Figure 7 A diagram depicting various aspects of the present disclosure is shown. Figure 4 Figure 1. Example gate diagram in the GUI.
[0021] Figure 8 The present disclosure shows various aspects of Figure 4 Example of a user prompt for selecting a model in a GUI.
[0022] Fig. 9 The present invention shows various aspects of the present disclosure. Figure 4 The Classifiers tab of the GUI shows the currently defined classifiers.
[0023] Figure 10 (including Fig. 10A and Fig. 10B ) shows various aspects of the present disclosure Figure 4 An example time-lapse view of the training process presented in the GUI.
[0024] Fig.11 An exemplary architecture of a computing device that can be used to implement aspects of the present disclosure is shown. DETAILED DESCRIPTION
[0025] Reference will now be made in detail to exemplary aspects of the present disclosure, which are illustrated in the accompanying drawings. Wherever possible, the same reference numerals will be used throughout the drawings to refer to the same or like parts.
[0026] Traditional manual gating in flow cytometry lacks reproducibility. Two researchers can look at the same set of graphs and draw the gates differently. Because the populations (defined by the two researchers) are different, any statistics associated with those populations will also be different.
[0027] As described herein, machine learning (ML) can be implemented to address the reproducibility issues of traditional manual gating. At a high level, existing flow cytometry data is used to build a function that will generate a classification for a given cell. For example, a first function is trained to generate a binary classifier with a class name such as "monocyte" or "non-monocyte", while a second function generates a binary classifier with a class name such as "lymphocyte" or "non-lymphocyte", each for a given event in a flow cytometry graph. The constituent data of an event can be composed of an area (A) value, a height (H) value, or a width (W) value typically found in a flow cytometry product. In an embodiment where an output waveform (e.g., supplied by an avalanche photodiode or photomultiplier tube configured to provide a complete waveform output) is available for each event, the function can then also accept the waveform for input. The data-driven method disclosed herein enables the elimination of human variability from the currently implemented classification or gating process.
[0028] However, machine learning introduces its own limitations in the gating process. Machine learning systems typically progress in two distinct phases. First there is the training phase, and then there is the inference phase. Inference is the process of using the trained function to generate a classifier. Inference can typically proceed to compute the classifier in the order of about 10 milliseconds. On the other hand, the training phase can take minutes, hours, or even days to compute, depending on the complexity of the underlying model.
[0029] While in some cases users may be able to tolerate long training times, this delay may limit or prohibit its application in many instances. In particular, situations where training parameters need to be set or retraining is required as part of an analysis may not allow for the effective use of machine learning classification due to time constraints.
[0030] Disclosed herein is a method for training machine learning asynchronously with other analysis activities performed by a user in flow cytometry analysis. This enables the user to use the classification function at a moment after defining the classification function by enabling training as a non-blocking activity. Training does not have to be completed before the user can proceed with other analysis activities. While the training of the classification function is performed in the background, events in the protocol are classified. This classification can be improved over time. The system can also be configured to provide immediate feedback on the quality of the classifier. Feedback can achieve further optimization of the time spent by researchers or clinicians interacting with the data set because users can easily evaluate the reliability of the classification.
[0031] Now refer to Figure 1 , shows an example network environment 100 in which aspects of the present disclosure may be implemented. In particular, the environment 100 may be used to provide a user with one or more analysis tools to assist in gating and other classification of flow cytometry protocol outputs. The analysis tools may include machine learning-based gating utilizing asynchronous training, as discussed in more detail below.
[0032] The environment 100 includes a classification server 102, a flow cytometer 104, a workstation 106, and a network 101. In the example environment 100, the classification server 102 is communicatively connected to the flow cytometer 104 and / or the workstation 106 via a network 101, such as the Internet or a secure local area network.
[0033] The classification server 102 may provide a repository of data and programming for performing gating and other analysis procedures. Either or both of the classification server 102 and the workstation 106 may host one or more analysis programs, such as machine learning models and / or gating or classification analysis programs, which may perform analysis and prediction using particle analysis data acquired by the flow cytometer 104 or stored in the classification server 102. One or more users may access, for example, one or more analysis tools provided by the classification server 102, such as via the workstation 106 or an external user device, for example, to determine a desired set of gates for a particular flow cytometry output data set. Figure 3 The classification server 102 is discussed in more detail.
[0034] The flow cytometer 104 analyzes the sample for classification. Figure 2The flow cytometer 104 is discussed in more detail.
[0035] The workstation 106 provides data output from the classification server 102 and the flow cytometer 104. The workstation 106 enables user interaction with the environment 100 and may provide user control of system components. The workstation 106 may include, for example, a display device and one or more input devices.
[0036] Now refer to Figure 2 , an example of a flow cytometer system 104 is shown. In general, flow cytometry is a technique for measuring and analyzing the properties of particles or cells as they flow in a fluid stream. Data from millions of particles or cells can be collected by the flow cytometer system 104 in a matter of minutes and displayed in a variety of formats. Illustrative example applications of flow cytometry include phenotyping to identify and count specific cell types in a population, analyzing DNA or RNA content within a cell, determining the presence of antigens on a surface or within a cell, and assessing cell health.
[0037] like Figure 2 As shown in the illustrative example of , the flow cytometer system 104 generally includes three major component subsystems: a fluid system 110, an optical system 120, and an electronic system 130. The fluid system 110 includes a nozzle 112 that receives a sample containing particles or cells suspended in a fluid. The nozzle 112 generates and ejects a fluid stream 114 of particles or cells arranged in a single line. Each particle or cell passes through one or more light beams generated by a light source 121. The point where a particle or cell intersects the light beam is called an interrogation zone 116. In some examples, the light source 121 includes one or more lasers.
[0038] The optical system 120 includes a light source 121, an optical element 122, and a detector 124. At the interrogation zone 116, light from the light source 121 strikes particles or cells in the fluid stream 114 and scatters. The optical element 122 directs the scattered light toward the detector 124. The detector 124 may include a forward scatter (FSC) detector for measuring scatter in the path of the light source 121, a side scatter (SSC) detector for measuring scatter at a ninety degree angle relative to the light source 121, and one or more fluorescence detectors (FL1, FL2, FL3 ... FLn) for measuring the intensity of emitted fluorescence at different wavelengths of light.
[0039] Typically, due to the diffraction of light around the particles, the FSC intensity is proportional to the size or diameter of the particles. Therefore, FSC can be used to distinguish particles by size. On the other hand, SSC is produced by light refracted or reflected by the internal structure of the particles, and therefore can provide information about the internal complexity or granularity of the particles. By adding fluorescent markers to the sample, different fluorescent signals / channels (e.g., green, orange, and red) can be analyzed for the functional properties of the cells. For example, since T cells have CD3 binding sites, samples containing T cells can be "stained" by anti-CD3 antibodies conjugated to fluorescent molecules. When these cells pass through the interrogation zone 116, the light from the light source excites the fluorescent label or fluorescent dye to emit photons of a wavelength detectable by the fluorescence detector. Therefore, the detector 124 can measure several parameters at the same time, and can classify particles by their functions based on the wavelength of the detected light.
[0040] The electronic system 130 includes an acquisition device 140 and a classification and analysis device 150. The acquisition device 140 is communicatively coupled to the detector 124 to receive the optical data generated by the detector 124. The classification and analysis device 150 is configured to receive the optical data and to provide the optical data to a user of the flow cytometer system 104, such as a Figure 1 The optical data is displayed at the workstation 106 or the user device 108. In some embodiments, the classification and analysis device 150 includes, for example, a network, such as Figure 1 The example network 101 is a computing device communicatively coupled to a flow cytometer 104. The flow cytometer 104 may include a fluid system 110, an optical system 120, and an acquisition device 140. In other embodiments, the classification and analysis device 150 is integrated with the flow cytometer 104. In an embodiment, the classification and analysis device 150 may be, for example, in Figure 1 The classification server 102 is remote from the flow cytometer 104 and is hosted on a virtual device.
[0041] Figure 3 An example classification and analysis device 150 is shown. The classification and analysis device 150 receives, processes, and displays optical data from the flow cytometer 104 via the acquisition device 140. The classification and analysis device may include an interface 202 to the acquisition device 140 to receive optical data from the flow cytometer system 104. The classification and analysis device 150 may also include a gating module 204, a training data set 206, one or more classifiers 208, one or more models 210, a graphics processing unit (GPU) 212, and a graphical user interface (GUI) 214.
[0042] The gating module 204 includes components for analyzing flow cytometry sample data sets and classifying subsets of cells or particles in these data sets. The training data set 206 provides a repository of known flow cytometry data that can be used to train the classifier 208 and the model 210. In supervised learning, the data in the training data set 206 can be labeled by a user. In unsupervised learning, the data in the training data set 206 can be labeled according to patterns recognized by the system. The files or file sets in the training data set 206 can be flow cytometry standard (FCS) files. The classifier 208 assigns class labels to the sample data received from the flow cytometer. Each classifier 208 includes at least one model 210. The model 210 is a program or algorithm that is programmed or otherwise configured to discover patterns and make determinations from raw or otherwise unseen data.
[0043] The GPU 212 generates graphical output to make the output of the gating module 204 accessible to the user. The GPU 212 can generate interactive user output, such as a GUI 214. The GUI 214 provides visual output data and receives user input to enable the user to interact with the classification and analysis device 150. The classification and analysis device 150 can be executed on one or more processors to provide the functionality described herein in conjunction with the GPU 212, such as receiving user input via the GUI 214. In some embodiments, the GPU 212 and the GUI 214 can be combined and provided by a single component, such as a display module.
[0044] In some implementations, the GPU 212 is used to perform classification during training and inference.
[0045] One or more components of the classification and analysis device 150 may reside, for example, in a cloud computing application in a network distributed system across the network 101. In this regard, the classification and analysis device 150 may be any of a variety of computing devices, including but not limited to a personal computing device, a server computing device, or a distributed computing device. In some examples, the classification and analysis module 150 may also include a storage device, such as a permanent storage device, such as a random access memory (RAM) and / or a long-term non-volatile memory, such as a hard drive.
[0046] Figure 4 An example GUI 300 showing a portion of a flow cytometry analysis application according to aspects of the present disclosure is shown. A first graph 302 shows all event data for a particular output file from a flow cytometer 104. The side scatter (SS) parameter is shown on the Y-axis 304 and the CD45 parameter is shown on the X-axis 306.
[0047] Example graphic 302 presents data based on a protocol run using a blood sample. Lymphocyte, monocyte, and granulocyte populations within the sample have been identified using polygonal gates 308a to 308c. Each of these subpopulations can then be presented in additional detail graphics 310, 312, and 314. For example, the input to graphic 310 is the granulocyte population from gate 308a, the input to graphic 312 is the monocyte population from gate 308b, and lymphocytes from gate 308c are displayed in graphic 314.
[0048] Figure 5 An example method 400 for asynchronous training of a cell subset classifier according to aspects of the present disclosure is shown. The method 400 can be used in a classification and analysis device, such as Figure 3 The method 400 is implemented on the classification and analysis device 150 of the application, or in some embodiments, by the classification and analysis device. The method 400 allows the training to proceed asynchronously with the rest of the application, thereby maintaining the responsiveness of the application.
[0049] At operation 402, a file or set of files containing training data is identified. The training file may be selected by a user or identified by the system. The training file may be a pre-populated training file or may be uploaded by a user or retrieved by the system as part of identifying the training file or set of training files.
[0050] Figure 6 Shows Figure 4 300. The training file worklist 316 can include one or more training files. Each training file can include one or more events. Each component data contributing to an event can be composed of an area value, a height value, and a width value output by a flow cytometer, such as flow cytometer 104. In some embodiments, for example, if a full waveform avalanche photodiode output is available for each event, the training file can include waveform data.
[0051] At operation 404, one or more gates are defined or selected within the training file. In some embodiments, supervised training may be preferred, and gate selections may be received in the form of user input. For example, in one or more selected training files, the user selects gates for the system to use to train the classifier. As some non-limiting examples, gates may be defined as geometric objects such as circles, ellipses, squares, rectangles, and n-sided polygons. The system uses the contents of the geometric gates to establish truth values. Although in some embodiments, the user defines two-dimensional gates, the input to the training process can potentially consist of all n dimensions available in the event.
[0052] At operation 406, a classifier is generated. The classifier may be automatically generated in response to receiving the gate selection. The classifier may be a binary classifier. In some embodiments, the system creates a classifier with the same name as the training gate. A gate with the same name may exist in all training files so that a common classifier may apply the identified gate from each training file. For example, Figure 7 A CD45-SS graphic 302 is shown depicting example gates 308 that can be applied to a training data file or set of files from a worklist 316 to train a classifier. The three gates represent the classes that a user wishes to generate. For example, gate 308a is "granulocytes" and can be used to generate a binary classifier where the first class is "granulocytes" and the second class is "non-granulocytes."
[0053] At operation 408, a model is selected. In some embodiments, a model selection may be received from a user. In some embodiments, the model selection may be automatically determined by the system along with the generation of the classifier. The model may include any known or appropriate machine learning model or algorithm, such as some non-limiting examples, including support vector machines (SVMs), neural networks (NNs) (e.g., deep learning NNs), vector quantization (e.g., k-means clustering), non-parametric learning algorithms (e.g., decision trees), and generative learning algorithms (e.g., naive Bayes classifiers).
[0054] In some examples, the user may be prompted to select a model after gate entry or identification of a training file. Figure 8 Such an example is shown. Three files have been selected from the work list 316 to supply training data, and now a prompt to select a model from a pop-up menu 318 appears. For example, when the user selects the training file, they can right click on a pop-up menu. There will be models on the menu. The user selects the model from the list. If the classifier requires additional parameters, a pop-up dialog box can be displayed for the user to configure the classifier. In some embodiments, reasonable default values are provided for all required and optional parameters.
[0055] At operation 410, training begins. The generated classifier includes the selected model trained according to the selected gate in the identified training file. During training, a classifier function is generated based on the selected gate. The selected gate can typically be a geometric gate. Using this function, the classifier can infer one or more additional dimensions for classification beyond the dimensions defined in the selected gate, such as two dimensions.
[0056] At operation 412, it is determined whether additional classifiers are to be trained. Figure 7As shown, three gates 308a, 308b, and 308c are identified in the training data. In an embodiment of training a binary classifier, each gate 308a, 308b, and 308c requires a separate classifier. In this example, the system can start with gate 308a and start training a first classifier for gate 308a at operation 410, and at operation 412, determine that additional classifiers are needed because classifiers still need to be trained based on gates 308b and 308c.
[0057] The system returns to operation 404 to receive, or retrieve if the next gate has been received, the next gate to be trained, such as gate 308b. Then, at operation 406, a classifier is generated based on gate 308b, a model selection is received at operation 408, and training of the classifier for gate 308b begins at operation 410. In some embodiments, the model selection at operation 408 can be automated. For example, if multiple gate selections are received at operation 404, a common model selection can be made as the system iteratively generates and trains classifiers for each gate, so that each classifier is trained with the same model but different gates. In some embodiments, a different model can be selected for each gate, or multiple models can be selected for a particular classifier, so that an ensemble classifier can be trained for a given gate.
[0058] Once the classifier for gate 308b begins training, the system may again determine to generate additional classifiers, such as the classifier for gate 308c, at operation 412. Once all classifiers have been generated, it may be determined at operation 412 that no additional classifiers are to be generated.
[0059] At operation 414, the classifier is made available while training continues. Fig. 9 A classifier tab 320 is shown showing currently defined classifiers of the GUI 300 according to aspects of the present disclosure. For example, a user can click on the classifier tab 320 and see classifiers 322a, 322b that have been generated or are being generated. For example, if a classifier is selected (e.g., a granulocyte classifier 322a or a monocyte classifier 322b), a loss graph 328 and an accuracy graph 326 show the real-time progress of the classifier, with continuous or periodic updates as training progresses.
[0060] The user can press a classifier, such as SVM monocytes 322b (corresponding to gate 318b) or SVM granulocytes 322a (corresponding to gate 318a), and that classifier is immediately applied to all data in protocol 324. Once the training of the classifier begins, the classifier is available. Thus, the classifier can be used to classify sample data while training is being performed simultaneously in the background.
[0061] like Fig. 9As can be seen in the example of , classifier 322 can become available as it is generated, so that some classifiers become available while other classifiers are still being generated. According to the above example, classifiers 322a and 322b corresponding to gates 318a and 318b are already available, while a third classifier corresponding to gate 318c is still being generated.
[0062] At operation 416, the performance of the classifier is continuously monitored while the classifier is being trained and used simultaneously. The classifier tab 320 may also include an accuracy graph 326 and / or a loss graph 328. The accuracy graph 326 and the loss graph 328 may display current data and continuously updated data reflecting the training status of the classifier so that the user may observe and evaluate the quality of the classifier. As the continued training of the classifier changes the current accuracy and loss, the graph 326 and the graph 328 may be continuously adjusted. As the classifier is being used as the training continues, the graph 326 and the graph 328 provide the user with a context for understanding the reliability of the results in light of the evolving quality of the classifier. The graph 326 and the graph 328 may be adjusted in real time as the training progresses.
[0063] Figure 10 (including Fig. 10A and Fig. 10B ) shows an example time-lapse view of the training process presented in the GUI 300 according to aspects of the present disclosure. The first row 330 shows the results of manual gating, such as gates received from a user. The first row 330 represents the true values provided by the user. Subsequent rows show how the content of the classifier changes over time as training continues. The second row 332 shows the content of the gates generated using the classifier during the initial application to the subject data set. The third row 334 shows how the content of the classifier gates is generated after additional time periods of training. Therefore, the third row 334 can show how the classifier progresses from its initial classification shown in the second row 332. The third row 334 can show the changes in the output results as the classification changes in response to the continued concurrent training of the classifier.
[0064] At operation 418, a determination is made as to whether the model should be adjusted. At operation 416, the determination may be made based on monitoring the performance of the classifier. The determination may be made by the user based on, for example, the accuracy graph 326, the loss graph 328, a time-lapse view showing how the classifier is progressing (e.g., the views in rows 332 and 334 of FIG. 10). The determination may be made by the system, for example, based on a comparison of the current output of the classifier with a manual gate or true value.
[0065] If it is determined that one or more models should be adjusted, the adjustments may be made at operation 420. As some non-limiting examples, the adjustments may include moving a gate in the training data, manually moving an output gate, adding statistics, or adding or changing compensation for the model. For example, it may be determined that a gate should be moved, and thus the determination of the movement to be applied to the gate. The movement may be determined by a classifier or training gate for the gate output and applied to the gate output. The movement may be automatically applied in response to the determination, or may be presented to a user for manual application. After the adjustments are made, at operation 418, another determination is made as to whether the model should be further adjusted.
[0066] Once a determination is reached that the model should not be further adjusted, a determination is made as to whether training has ended at operation 422. If it is determined that training has not yet completed, then at operation 416, the performance of the classifier continues to be monitored. If it is determined that training has completed, then method 400 may end at operation 424. Training stops when, for example, an accuracy threshold is reached or when a configured number of training epochs is achieved.
[0067] Fig.11 An exemplary architecture of a computing device 1000 that may be used to implement aspects of the present disclosure is shown, including a classification and analysis device 150 . Fig.11 The computing device shown can be used to execute the operating systems, application programs, and software modules (including software engines) described herein.
[0068] The computing device 1000 includes at least one processing device 1002, such as a central processing unit (CPU). In this example, the computing device 1000 also includes a system memory 1004 and a system bus 1006 that couples various system components including the system memory 1004 to the at least one processing device 1002. The system bus 1006 is one of any number of types of bus structures including a memory bus or memory controller; a peripheral bus; and a local bus using any of a variety of bus architectures.
[0069] The system memory 1004 includes a read-only memory (ROM) 1008 and a random access memory (RAM) 1010. A basic input / output system 1012 containing the basic routines used to transfer information within the computing device 1000, such as during startup, is typically stored in the read-only memory 1008. In some examples, the system memory 1004 has a large memory capacity, such as equal to or greater than 1 terabyte of RAM. The RAM can be used to load and subsequently analyze waveform data (e.g., raw waveform data, such as stored in a raw waveform data file, which may include digitized waveform data).
[0070] In some implementations, the computing device 1000 also includes a secondary storage device 1014, such as a hard drive, for storing digital data. The secondary storage device 1014 is connected to the system bus 1006 via a secondary storage interface 1016. In some examples, the secondary storage device 1014 and its associated computer-readable media provide non-volatile storage of computer-readable instructions (including applications and program modules), data structures, and other data for the computing device 1000.
[0071] Although the exemplary environment described herein uses a hard disk drive as a secondary storage device, other types of computer-readable storage media are used in other embodiments. Examples of these other types of computer-readable storage media include magnetic tape cassettes, flash memory, digital video disks, Bernoulli cassettes, compact disk read-only memory, digital versatile disk read-only memory, random access memory, or read-only memory. Some embodiments include non-transitory media. In addition, such computer-readable storage media may include local storage or cloud-based storage.
[0072] A number of program modules may be stored in the secondary storage device 1014 or the system memory 1004, including an operating system 1018, one or more application programs 1020, other program modules 1022 (such as the software engines described herein), and program data 1024. The computing device 1000 may use any suitable operating system, such as Microsoft Windows TM , Google Chrome TM , Apple OS, and any other operating system suitable for a computing device.
[0073] In some examples, a user provides input to the computing device 1000 through one or more input devices 1026. Examples of input devices 1026 include a keyboard 1028, a mouse 1030, a microphone 1032, and a touch sensor 1034 (e.g., a touchpad or touch-sensitive display). Additional examples include additional types of input devices 1026, or fewer types of input devices 1026. The input devices 1026 are connected to at least one processing device 1002 via an input / output interface 1036 coupled to the system bus 1006. The input / output interface 1036 may include any number of input / output interfaces, such as a parallel port, a serial port, a game port, or a universal serial bus. In some possible implementations, wireless coupling between the input device 1026 and the input / output interface 1036 is also possible, such as via infrared, 802.11a / b / g / n, cellular or other RF communication systems.
[0074] The GPU 1044 may be used to process GPU commands received from, for example, the processing device 1002, and generate a video output such as a video stream. The GPU 1044 may be a video card or an integrated graphics chip, etc. In this example embodiment, a display device 1042 (e.g., a monitor, a liquid crystal display device, a projector, or a touch-sensitive display device) is also connected to the system bus 1006 via the video adapter 1040. In addition to the display device 1042, the computing device 1000 may also include various other peripheral devices (not shown), such as a speaker or a printer.
[0075] When used in a local area networking environment or a wide area networking environment (e.g., the Internet), the computing device 1000 is typically connected to the network via a network interface 1038 (e.g., an Ethernet interface). Other possible implementations use other communication devices. For example, some implementations of the computing device 1000 include a modem for communicating across a network.
[0076] The computing device 1000 typically includes at least some form of computer-readable media. Computer-readable media includes any available media that can be accessed by the computing device 1000. By way of example, computer-readable media include computer-readable storage media and computer-readable communication media.
[0077] Computer-readable storage media include volatile and nonvolatile, removable and non-removable media implemented in any device configured to store information such as computer-readable instructions, data structures, program modules or other data. Computer-readable storage media include, but are not limited to, random access memory, read-only memory, electrically erasable programmable read-only memory, flash memory, compact disk read-only memory, digital versatile disk or other optical storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device, or any other medium that can be used to store the desired information and can be accessed by a computing device. Computer-readable storage media do not include computer-readable communication media.
[0078] Computer-readable communication media typically embody computer-readable instructions, data structures, program modules, or other data in the form of a modulated data signal such as a carrier wave or other transmission mechanism, and include any information delivery media. The term "modulated data signal" refers to a signal that sets or changes one or more of its characteristics in a manner that encodes information in the signal. By way of example, computer-readable communication media include: wired media, such as a wired network or a direct wired connection; and wireless media, such as acoustic, radio frequency, infrared, and other wireless media. Any combination of the above is also included within the scope of computer-readable media.
[0079] Computing device 1000 is also an example of a programmable electronic device, which may include one or more such computing devices, and when multiple computing devices are included, such computing devices may be coupled together with a suitable data communication network to jointly perform various functions, methods, or operations disclosed herein.
[0080] Having described the preferred aspects and implementations of the present disclosure, modifications and equivalents of the disclosed concepts may be readily apparent to those skilled in the art. However, such modifications and equivalents are intended to be included within the scope of the appended claims.
Claims
1. A method for asynchronous training of classification of cell subsets for flow cytometry, the method comprising: identifying training files for training the classifier; receiving a gate associated with the training file for training the classifier; receiving a model for training the classifier; The classifier is trained, and the following operations are performed while the classifier is being trained: classifying one or more flow cytometry files; monitoring the accuracy of the classifier; and making a determination based on the accuracy whether the door should be adjusted; and It is determined that the training of the classifier is complete.
2. The method according to claim 1, further comprising: Results of the classification of the one or more flow cytometry files are displayed.
3. The method according to claim 2, further comprising: The results show changes as the classification of the one or more flow cytometry files changes in response to the training of the classifier continuing.
4. The method according to any one of claims 1 to 3, wherein: The determining whether the door should be moved based on the accuracy includes determining a movement that should be applied to the door.
5. The method according to claim 4, further comprising: The door is moved in response to determining that the movement should be applied to the door.
6. The method according to any one of claims 1 to 5, further comprising: A determination is made to train additional classifiers.
7. The method according to claim 6, wherein: The determination to train the additional classifier is made in response to receiving a selection of the additional classifier.
8. The method according to claim 6, further comprising: The additional classifier is trained.
9. The method according to any one of claims 1 to 8, further comprising: A determination is made that one or more statistics should be added to the model.
10. The method according to any one of claims 1 to 9, further comprising: A determination is made that compensation for the model should be changed.
11. The method according to any one of claims 1 to 10, wherein: The training files include a collection of Flow Cytometry Standard (FCS) files.
12. The method according to any one of claims 1 to 11, wherein: The gate option is a geometric gate.
13. The method according to claim 12, wherein: The gate option is a two-dimensional gate.
14. The method according to claim 13, wherein: The classifier infers one or more additional dimensions beyond the two-dimensional gate.
15. The method according to claim 12, wherein: The classifier generates a function based on the geometric gate.
16. A system for asynchronous training of classification of cell subsets for flow cytometry, the system comprising: one or more processors; as well as a memory comprising instructions that, when executed by the one or more processors, cause the system to generate: A classifier, the classifier being configured to: receiving a training file, a gate associated with the training file, and a model; Starting training based on the training file, the gate, and the model; and Classification of one or more flow cytometry files is performed concurrently with training.
17. The system of claim 16, further comprising a display, wherein: Results of classifying the one or more flow cytometry files are displayed.
18. The system of claim 17, wherein: The results are displayed dynamically such that changes in the results due to continued training of the classifier are depicted on the display.
19. The system of claim 18, wherein: The changes are depicted in real time.
20. A system for classification of cell subsets by flow cytometry, the system comprising: Flow cytometry; a gating module in communication with the flow cytometer and comprising: including the model's classifier; and a training file used by the classifier to train the model; and A display module displays the result of classification of the flow cytometry file by the classifier, wherein the result is displayed while the classifier is being trained.
Citation Information
Patent Citations
Edge feature integrated two-stage epithelial cell classification method and system
CN113537371A
Flow cytometer cell scatter diagram classification method based on deep learning
CN113870181A
Automated configuration of flow cytometry machines
US20200232901A1
AU2020102877A4