WO2024167685A1 - Techniques for segmentation of data processing workflows in instrument systems - Google Patents
Techniques for segmentation of data processing workflows in instrument systems Download PDFInfo
- Publication number
- WO2024167685A1 WO2024167685A1 PCT/US2024/012968 US2024012968W WO2024167685A1 WO 2024167685 A1 WO2024167685 A1 WO 2024167685A1 US 2024012968 W US2024012968 W US 2024012968W WO 2024167685 A1 WO2024167685 A1 WO 2024167685A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- instrument system
- operations
- instrument
- computing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
Definitions
- Embodiments of the present disclosure are directed to analytical instrument systems, as well as algorithms and methods for their operation.
- some embodiments are directed toward data processing workflow segmentation.
- Chemical analysis of samples using a mass spectrometer typically includes at least partially ionizing a sample, and measuring the ratio of mass to charge of the ions produced.
- a mass spectrum describes intensity of a detector signal as a function of mass-to- charge (M/Z) ratio.
- Constituent species are identified by comparing parent ion mass values and decomposition signatures that can be characteristic of specific elements and molecular structures.
- MS mass spectrometer
- An analytical instrument such as a gas chromatograph - mass spectrometer (GC-MS)
- GC-MS gas chromatograph - mass spectrometer
- control software that enables the instrument to generate analytical spectrum data on a semi-continuous basis.
- instruments are controlled by an instrument PC (IPC) that is directly connected to the instrument, for example, via a serial connector (e.g., USB-type serial bus connector).
- the IPC executes the control software, facilitates user interaction with the instrument (e.g., via a user interface), and stores analytical spectrum data locally.
- an analytical spectrum data set which can be multidimensional (referred to as a “data cube,” or the like), is a large-format data volume that can occupy 10 GB or more of local storage at the current data standard. As detectors and other instrument components improve, it is anticipated that datafile size will continue to increase over time.
- Data processing workflows are typically executed on the IPC by processing local datafiles using one or more applications accessible via a user interface of the IPC.
- analytical spectrum datafiles can be processed on client computing devices, such as laptops, after transferring the datafiles.
- client computing devices such as laptops
- Processing data directly on an IPC draws compute resources that could otherwise be dedicated to sample analysis operations, introducing latency into sample analysis and data processing workflows.
- transferring sets of analytical spectrum datafiles introduces network connectivity as a source of latency in data processing workflows.
- a computer-implemented method for segmenting data processing workflows includes determining a configuration of an instrument system.
- the instrument system can include an analytical instrument coupled with an instrument PC (IPC).
- the IPC can be configured to receive raw data from the analytical instrument, to process the raw data, and to communicate with a client computing device coupled with the instrument system.
- the method can also include segmenting a data process workflow based at least in part on the configuration, attributing at least a subset of constituent operations of the data process workflow to the client computing device or the IPC.
- Segmenting the data process workflow can include defining a first subset of operations of the data process workflow.
- the first subset of operations can be executed locally on the IPC using the raw data.
- Segmenting the data process workflow can also include defining a second subset of operations of the data process workflow.
- the second subset of operations can be executed locally on the client computing device using processed data transferred to the client computing device from the instrument system.
- the raw data can include analytical spectrum data.
- the first subset of operations can include implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data.
- the processed data can include compressed spectrum data and spectral analysis metadata.
- the second subset of operations can include, in accordance with receiving a user action via an interactive user environment, initiating a data processing operation of the first subset of operations.
- determining the configuration of the instrument system includes generating a set of parameters describing components of the instrument system, the parameters describing hardware included in the instrument system being configured to process data or to transfer data between two or more components of the instrument system.
- Determining the configuration of the instrument system can include determining a data processing latency for the instrument system using the set of parameters, determining a data transfer latency for the instrument system using the set of parameters, or determining a network latency between the client computing device and the instrument system.
- Determining the data processing latency can include querying a database storing data processing capacity information for hardware.
- Determining the data transfer latency can include querying a database storing data transfer capacity information for the hardware.
- Determining the network latency can include assessing a data transfer rate between the client computing device and the instrument system.
- the method further includes generating an updated configuration of the instrument system, generating an updated latency parameter using the updated configuration, and modifying the segmented data process workflow using the updated latency parameter.
- the instrument system can further include an application specific machine (ASM), operably coupled with the IPC and the client computing device. Segmenting the data process workflow can further include attributing at least a third subset of the operations included in the data process workflow to the ASM.
- ASM application specific machine
- a system in a second aspect, includes a client computing device and an instrument system.
- the instrument system can include an analytical instrument and an instrument PC (IPC).
- the instrument system can further include an application specific machine (ASM).
- the client computing device can communicate with the instrument system via a network.
- the client computing device, the IPC, and/or the ASM can be configured to implement one or more operations of the method of the first aspect.
- the client computing device, the IPC, and/or the ASM can be configured to implement the one or more operations of the method of the first aspect via an interactive user environment configured to receive user input.
- one or more non-transitory machine-readable storage media store instructions that, when executed by a machine, cause the machine to perform operations for segmenting data processing workflows, the operations including one or more operations of the method of the first aspect.
- the machine can be or include one or more components of the system of the second aspect.
- FIG. 1 is a schematic diagram illustrating an example analytical data system, in accordance with some embodiments of the present disclosure.
- FIG. 2 is a schematic diagram illustrating an example configuration of the example system of FIG. 1, in accordance with some embodiments of the present disclosure.
- FIG. 3 is a schematic diagram illustrating an example configuration of the example system of FIG. 1 including an application specific machine, in accordance with some embodiments of the present disclosure.
- FIG. 4 is a schematic diagram illustrating an example data processing workflow for the example system of FIG. 1 configured as illustrated in FIG. 2, in accordance with some embodiments of the present disclosure.
- FIG. 5 is a schematic diagram illustrating an example data processing workflow for the example system of FIG. I configured as illustrated in FIG. 3, in accordance with some embodiments of the present disclosure.
- FIG. 6 is a block flow diagram illustrating an example data processing workflow, in accordance with some embodiments of the present disclosure.
- FIG. 7 is a block flow diagram for an example process for segmenting a data process workflow, in accordance with some embodiments of the present disclosure.
- a mass spectrum describes intensity of a detector signal as a function of mass-to- charge (M/Z) ratio. Constituent species are identified by comparing parent ion mass values and decomposition signatures that can be characteristic of specific elements and molecular structures. In a mass spectrometer (MS) instrument, detailed information can be developed for elemental composition, molecular structure, and other characteristics of the samples (e.g., oxidation state, etc.), by processing raw spectrum data in various ways.
- MS mass spectrometer
- An analytical instrument such as a gas chromatograph - mass spectrometer (GC-MS)
- GC-MS gas chromatograph - mass spectrometer
- control software that enables the instrument to generate analytical spectrum data on a semi-continuous basis.
- instruments are controlled by an instrument PC (IPC) that is directly connected to the instrument, for example, via a serial connector (e.g., USB-type serial bus connector).
- the IPC executes the control software, facilitates user interaction with the instrument (e.g., via a user interface), and stores analytical spectrum data locally.
- An analytical spectrum dataset which can be multi-dimensional (referred to as a “data cube,” or the like), can be or include a set of large-format files that can occupy 10 GB or more of local storage at the current data standard. As detectors and other instrument components improve, it is anticipated that datafile size will continue to increase over time.
- Data processing workflows arc typically executed on the IPC by processing local datafiles using one or more applications accessible via a user interface of the IPC.
- analytical spectrum datafiles can be processed on client computing devices, such as laptops, after transferring the datafiles.
- client computing devices such as laptops
- Processing data directly on an IPC draws away compute resources that could otherwise be dedicated to sample analysis operations, leading to overspecification of IPC hardware and introducing latency into data processing workflows.
- transferring sets of analytical spectrum datafiles introduces network connectivity as a source of latency in data processing workflows. There is a need, therefore, for segmentation of data processing workflows between IPCs and client computing devices that reduces latencies and preserves compute resources for sample analysis (e.g., operation of the analytical instrument(s) and/or instrument system(s)).
- a method can include determining a configuration of an instrument system, where the instrument system includes an analytical instrument coupled with an instrument PC (IPC).
- the IPC can be configured to receive raw data from the analytical instrument, to process the raw data, and/or to communicate with a client computing device coupled with the instrument system.
- the method can also include segmenting a data process workflow based at least in part on the configuration, where the segmented data process workflow can attribute at least a subset of constituent operations of the data process workflow to the client computing device or the IPC. In this way, the segmented data process workflow can reduce overall latency of the constituent operations while also preserving compute resources of the IPC(s) for sample preparation and data generation, among other instrument control processes.
- instrument systems can include analytical instruments configured to generate analytical spectrum data (e.g., mass spectrometry, emission spectrometry, absorption spectrometry, nuclear magnetic resonance spectrometry, Raman spectrometry, infrared spectrometry, confocal imaging, hyperspectral imaging, MRI, x-ray imaging and microanalysis, optical microscopy, charged particle microscopy, quartz-crystal microbalance, electrochemical spectrometry, x-ray spectrometry, chromatography, next-gen sequencing, or the like).
- analytical spectrum data e.g., mass spectrometry, emission spectrometry, absorption spectrometry, nuclear magnetic resonance spectrometry, Raman spectrometry, infrared spectrometry, confocal imaging, hyperspectral imaging, MRI, x-ray imaging and microanalysis, optical microscopy, charged particle microscopy, quartz-crystal microbalance, electrochemical spectrometry, x-ray spectrometry, chromatography, next-gen sequencing
- a “data cube” refers to data arrays that can include hierarchically organized spectra including, but not limited to, spatially referenced spectra, temporally referenced spectra, elution referenced spectra, energy referenced spectra, etc.
- embodiments of the present disclosure can include instrument systems for which an analytical instrument can be configured to take in a sample and generate a datafile.
- the datafile can be processed to generate identifier information descriptive of the physical, chemical, and/or biological nature of the sample.
- FIG. 1 is a schematic diagram illustrating an example analytical data system 100, in accordance with some embodiments of the present disclosure.
- the example system 100 can include one or more instrument systems 105, one or more client computing devices 110, one or more servers 115, and/or one or more datastores 120.
- the instrument system(s) 105 can include one or more analytical instruments 125, one or more IPCs 130, and one or more application specific machines 135 (ASM).
- ASM application specific machines 135
- the various components of the example system 100 can communicate via one or more networks 140 and/or via a direct connection (e.g., a USB- type connection, Bluetooth, WiFi, ethernet, etc.).
- a direct connection e.g., a USB- type connection, Bluetooth, WiFi, ethernet, etc.
- one or more components of example system 100 are omitted.
- embodiments of the present disclosure can omit the server(s) 115, the datastore(s) 120, and/or one or more components of the instrument system(s) 105 (e.g., ASM(s) 135, etc.).
- the instrument system(s) 105 can include components for analyzing material samples according to one or more measurement modalities, facilitated by the configurations of the instrumcnt(s) 125 and software, tools, or the like, available on the IPC(s) 130, ASM(s) 135, client computing device(s) 110, and/or server(s) 115.
- the client computing device(s) 110 and/or server(s) 115 can host software applications configured to implement one or more processing operations using data generated by the instrument(s) 125.
- the performance of the example system 100 can be improved through segmenting data processing workflows implicated in such processing operations, as described in more detail in reference to the forthcoming FIGs. 2-7.
- the client computing device(s) 110 can be or include general purpose (e.g., laptops, tablets, smart phones, desktops, etc.) and/or special purpose computing devices.
- the server(s) 115 can be or include one or more local and/or remote network connected machines including processing, storage, and/or communication components.
- the server(s) can be co-located with the instrument system(s) 105 in a physical location (e.g., a building, campus, or other location), and can communicate with one or more components of the instrument system(s) 105.
- the client computing device(s) 110 can be located at a first physical location different from a second physical location of the instrument system(s) 105.
- the datastore(s) 120 can be located at the first physical location to store large datasets generated by the instrument system(s) 105 and to reduce data transfer latency between the instrument system(s) 105 and the client computing device(s) 110 during periods of relatively high network latency, or, for example, when the first physical location and the second physical location are physically remote (e.g., on different continents or different coasts of the same continent).
- network latency and data read/write capacity of the datastore(s) 120 form a part of the system configuration that is used to segment data processing workflows in accordance with embodiments of the present disclosure.
- IPC(s) 130 can include general purpose or special purpose computing devices.
- embodiments include a PC configured for user interaction (e.g., having display, user interaction peripherals, and user interface), a PC dedicated to coordinating the operation of the instrument(s) 125 without direct user interaction (also referred to as a “dedicated” PC) that lacks user interface components, and/or a compute board incorporated into or otherwise operably coupled with the instrument(s) 125.
- a compute board can include components similar to the dedicated PC, where power circuitry and/or input output components can be shared with the instrument(s) 125 or other elements of the instrument system(s) 105.
- a configuration of the components of example system 100 can include metadata corresponding to internal components, performance parameters, and/or current conditions of the IPC(s) 130, including but not limited to network interface component(s) ("NIC"), processing component(s) ("CPU”), and memory/storage component(s) ("MEMORY").
- the network(s) 140 can be characterized by a bandwidth or other data transfer parameters (e.g., upload rate, download rate, downtime, etc.).
- the IPC(s) 130 can be specially configured to transfer large datasets with negligible or no latency. For example, sets of analytical instrument data including millions of datafiles or more can be generated by the instrument system(s) 105.
- the IPC(s) 130 can be specially configured to process at least a portion of the dataset(s) by applying one or more operations to locally-stored data with negligible or no latency, as part of reducing overall latency of the example system 100.
- the IPC(s) 130 can be configured with special purpose bus circuits and/or large RAM capacity to reduce the latency introduced by locally processing analytical instrument datafiles.
- Application specific machine(s) (ASM(s)) 135 can be special purpose computing devices configured to coordinate the operation of the instrument system(s) 105 (e.g., IPC(s) 130 and/or instrument(s) 125) and/or to facilitate communication with other components of the example system 100.
- the ASM(s) 135 can include similar components as are found in the server(s) 115, client computing device(s) 110, and/or the IPC(S) 130.
- the instrument system(s) 105 omit some or all of the IPC(s) 130 and/or server(s) 115, with the ASM(s) 135 performing the function of controlling the instrument(s) 125 and communicating with outside systems (e.g., via the network(s) 140).
- the instrument(s) 125 can include one or more different types of analytical instruments including, but not limited to, spectrometers, chromatography instruments, sequencers, microscopes, or the like.
- embodiments of the present disclosure can include systems, methods, algorithms, and software configured to segment data processing workflows for a variety of different instrument systems 105, As described in more detail in reference to FIG. 6.
- FIG. 2 is a schematic diagram illustrating an example configuration 200 of the example system 100 of FIG. 1, in accordance with some embodiments of the present disclosure.
- the example configuration 200 includes communication between the IPC(s) 130 and the client computing device(s) 110 via the network(s) 140, omitting or without using the ASM(s) 135.
- the example configuration 200 can correspond to an instrument system 105 that does not include an ASM 135 and/or where the ASM 135 is dedicated to or temporarily addressed at other processes.
- Components of the example system 100 illustrated as part of the example configuration 200 can be respectively characterized by one or more parameters 205. Based at least in part on the parameter(s) 205, constituent operations of a data processing workflow can be segmented between the IPC(s) 130 and the client computing device(s) 110.
- data processing workflows can include one or more operations by which analytical metadata (e.g., spectral analysis, peak identification, structure identification, visualization data, etc.) can be generated using raw data (e.g., GC-MS data, etc.) originating from sample analysis by the instrument(s) 125.
- analytical metadata e.g., spectral analysis, peak identification, structure identification, visualization data, etc.
- raw data e.g., GC-MS data, etc.
- the parameters 205 can include hardware component specifications, such as CPU configuration (e.g., number of cores, clock speed, architecture, etc.), memory configuration (e.g., capacity, read-write speed, etc.), and network connectivity configuration (e.g., upload/download speed, bandwidth, etc.).
- CPU configuration e.g., number of cores, clock speed, architecture, etc.
- memory configuration e.g., capacity, read-write speed, etc.
- network connectivity configuration e.g., upload/download speed, bandwidth, etc.
- segmentation of a data processing workflow can be based at least in part on estimating an overall latency of the workflow from individual latency contributions of constituent operations based at least in part on processing parameters 205 and network connectivity parameters 210. As described in more detail in reference to FIGs. 4-5, latency can arise during processing and/or transfer operations of a data processing workflow.
- models and/or algorithms are encoded in software to implement segmentation of data processing workflows based at least in part on the example configuration 200.
- a rules-based model can take in the parameter(s) 205 of the various components of the example system 100 included in example configuration 200.
- the model can generate a latency for a given data processing workflow as an output.
- the software can include instructions that, when executed by the client computing device(s) 110, cause the client computing device(s) 110 to access, request, retrieve, or otherwise reference the parameter(s) 205 and use the parameter(s) 205 to estimate latency contributions for constituent operations of a given data processing workflow.
- FIG. 3 is a schematic diagram illustrating an example configuration 300 including an application specific machine 135, in accordance with some embodiments of the present disclosure.
- the example configuration 200 includes communication between the IPC(s) 130 and the client computing device(s) 1 10 via the network(s) 140 using the ASM(s) 135 to coordinate communication of multiple IPCs 130 with the client computing dcvicc(s) 110.
- the example configuration 300 can correspond to an instrument system 105 that includes an ASM 135 as part of the instrument system 105 and/or where the ASM 135 is dedicated to or temporarily addressed at coordinating the operation of the IPCs 130, processing data generated by the instruments 125, and/or communicating data between the instrument system 105 and the client computing device(s) 110.
- components of the example system 100 illustrated as part of the example configuration 300 can be respectively characterized by one or more parameters 205 and 210.
- the ASM in turn, can be characterized by one or more parameters 305.
- constituent operations of a data processing workflow can be segmented between the ASM(s) 135, the IPCs 130 and the client computing device(s) 110.
- FIG. 4 is a schematic diagram illustrating an example segmented data processing workflow 400 for the example system of FIG. 1 configured as illustrated in FIG. 2, in accordance with some embodiments of the present disclosure.
- Example sequence 400 illustrates an embodiment where raw instrument data are stored at the IPC(s) 130, rather than being transferred to the client computing device(s) 110. In this way, the client computing device(s) 110 can send and/or receive data from the IPC(s) 130 multiple times in an approach that balances data transfer constraints.
- the data processing sequence in example workflow 400 can omit one or more operations between constituent components of the example system 100, such as between the client computing device(s) 110, the datastore(s) 120, and/or server(s) 115.
- the example workflow 400 is illustrated as a linear sequence of operations, where vertical “lanes” indicate the forward direction of time with dashed lines, representing a component identified above each dashed line. Operations of the example workflow 400 can be reordered, repeated, and/or omitted. In some embodiments, one or more operations are gated by a user action (e.g., a user selection of an action via a user interface). Similarly, one or more operations can be gated by the completion of another process and/or operation. The example workflow 400 can be interrupted, concluded, and/or restarted, for example, by user intervention.
- a user action e.g., a user selection of an action via a user interface
- the example workflow 400 can be interrupted, concluded, and/or restarted, for example, by user intervention.
- the constituent operations of the example workflow 400 include one or more data transfer operations 405, 415, 425, and 435 and one or more data processing operations 410, 420, and 430, applied to data 401, 411, 421, and 431, of various forms.
- the operations can be associated with a respective latency “X” that can be used as a contribution to an overall latency of the example workflow 400 and/or considered individually when segmenting the example workflow 400 between various components of the example system 100.
- an optimization of the overall latency of the data processing workflow can be a part of the segmentation process that results in the example workflow 400. Examples of the segmented data processing workflows are described in reference to FIG. 6, below.
- data 401 generated by the instrument(s) 125 are transferred to and/or stored by IPC(s) 130 that are directly connected to the instrument(s) 125 as part of sample analysis procedures.
- data 401 can be or include data cubes having multiple mass spectra organized in association with an elution time at which the mass spectrum was collected, thereby coupling the gas chromatography data with the mass spectrometry data, as illustrated schematically in FIG. 6.
- Data cubes can include hundreds, thousands, millions, or more spectra, representing very large data files that can be transferred and/or stored relatively quickly on local IPC(s) 130 at transfer operation 405 (e.g., / can be relatively short), but where transferring the entirety of data 401 to client computing device(s) 110, either directly from the instrument(s) 125 or from the IPC(s) 130 can be prohibitively slow (e.g., the corresponding latency can be relatively long).
- One or more data processing operations 410 can be applied to the data 401 by the IPC(s) 130 to generate data 411 that can be transferred to the client computing device(s) 110 at operation 415.
- the workflow 400 can be segmented as illustrated where latency contributions X2 and A3 are relatively shorter than a comparable transfer operation for data 401 from IPC(s) 130 to client computing device(s) 110 directly.
- latency minimization forms a part of the segmentation techniques, complemented by parallelization, serialization, compression, and other processes that can be applied conditionally as part of improving the overall performance of the data processing workflow.
- processing operation 410 can include one or more compression operations applied to data 411 to reduce the size of the files to be transferred at operation 415, where network capacity is limited (e.g., dynamically adjusting the example workflow 400).
- data 411 can correspond to a portion of the data 401, metadata derived from the data 401, visualization data generated using the data 401 (e.g., interactive graph instructions for a visualization application hosted on the client computing device(s) 110).
- the client computing device(s) 110 can implement one or more data processing operations 420 using the data 41 1 received from the IPC(s) 130.
- Data processing operations can include generating and/or displaying visualization data (e.g., as an interactive graph), implementing peak fitting or other spectral analysis algorithms, accessing materials spectrum databases to facilitate identification of samples from which the data 401 were generated, or the like.
- visualization data e.g., as an interactive graph
- peak fitting or other spectral analysis algorithms e.g., accessing materials spectrum databases to facilitate identification of samples from which the data 401 were generated, or the like.
- analysis of spectral data can include various techniques to identify material, chemical, physical, and/or biological characteristics of sample spectra.
- the data 421 generated by the one or more data processing operations can include query data, metadata, and/or processed data that can be transferred to IPC(s) 130 at transfer operation 425.
- data processing operations 430 generate new data 431 from the data 401 based at least in part on parameters and/or configurations included as part of the data 421.
- visualization data transferred to the client computing device(s) 110 at operation 415 can be used to identify a range of spectral data for magnification, peak fitting, and species identification.
- the data 421 can include spectral bounds (e.g., a range of m/z values, or the like), and other metadata to use when generating the new data 431 at operation 430, which can be transferred back to the clinet computing device(s) 110 at operation 435.
- some operations are applied directly to the data 401 generated by the instrument(s) 125, which is stored at the instrument system 105, with smaller data volumes being transferred between the IPC(s) 135 and the client computing device(s) 110 to reduce latency arising from network bandwidth limitations (e.g., between the instrument system(s) 105 and the client computing device(s) 110 and/or the server(s) 115).
- the data 401 are stored as new spectrum files are generated by the instrument(s) 125 and are made available for processing operations.
- data preparation operations applied to the data 401 can include batch transferring from the IPC(s) 130 to the client computing device(s) 110. In this way, latency associated with the operation of the instrument(s) 125 can be reduced by parallelizing data generation and transfer operations.
- processing operations 410 can include preparation of batches for parallel transfer operations 415 to reduce the latency 3.
- segmenting the example workflow 400 can include data preparation operations to structure the data 401 differently from the format in which the data 401 are generated by the instrument(s) 125, as an approach to improving overall performance of the example workflow 400.
- FIG. 5 is a schematic diagram illustrating an example data processing workflow 500 for the example system of FIG. 1 configured in the example configuration 300 of FIG. 3, in accordance with some embodiments of the present disclosure.
- example workflow 500 illustrates an embodiment of the present disclosure in which instrument data are transferred from the IPC(s) 130 to the ASM(s) 135, additionally and/or alternatively to being transferred to the client computing device(s) 110 directly.
- the data processing workflow in the example workflow 500 can omit one or more operations between constituent components of the example system 100, such as between the client computing device(s) 110, the datastore(s) 120, the IPC(s) 130, the ASM(s) 135, and/or the server(s) 115.
- the example workflow 500 is illustrated as a linear sequence of operations, where vertical “lanes” indicate the forward direction of time with dashed lines, with an image representing a component identified above each dashed line. Operations of the example workflow 500 can be reordered, repeated, parallelized, and/or omitted. In some embodiments, one or more operations are gated by a user action (e.g., a user selection of an action via a user interface). Similarly, one or more operations can be gated by the completion of another process and/or operation. The example workflow 500 can be interrupted, concluded, and/or restarted, for example, by user intervention.
- a user action e.g., a user selection of an action via a user interface
- the example workflow 500 can be interrupted, concluded, and/or restarted, for example, by user intervention.
- the constituent operations of the example workflow 500 include data transfer operations 505, 510, 520, 530, 540, 550, and 555 and data processing operations 515, 525, and 545, applied to data of various forms.
- the operations can be associated with a respective latency “ ” that can be used as a contribution to an overall latency of the example workflow 500 and/or considered individually when segmenting the example workflow 500 between various components of the example system 100.
- an optimization of the overall latency of the data processing workflow can form at least part of the segmentation technique that results in the example workflow 500. Examples of the segmented data processing workflows are described in reference to FIG. 6, below.
- At operation 505 at least a portion of instrument data can be transferred from the instrument(s) 125 to the IPC(s) 130. Rather than transfer data directly from the IPC(s) 130 to the client computing device(s) 110, example workflow 500 introduces the ASM(s) 135 to coordinate the data transfer and/or processing operations between the instrument system(s) 105 and the client computing device(s) 110.
- data transfer latencies e.g., I, 2, 7, and/or X8 amongst the components of the instrument system(s) 105 can be balanced with the computational resource demand placed on the IPC(s) 130 to coordinate the operations of the instrument(s) 125 (e.g., one IPC 130 to one instrument 125, one IPC 130 to multiple instruments 125, etc.).
- the ASM(s) 135 can be specifically configured with relatively greater data transfer and/or data processing capacities, in comparison to IPC(s) 125, to shoulder demands placed on instrument system(s) 105 by external queries generated by client computing device(s) 110, and to facilitate segmenting a workflow of multiple data processing operations involved in serving a request by a user of the client computing device(s) 110.
- the instrument(s) 125 can generate data that are transferred to the ASM(s) 135 via the IPC(s) 125, at least partially, at operations 505 and 510, each characterized by a respective transfer latency (XI and 12).
- the data can be processed by the ASM(s) 135 and/or transferred on to the client computing device(s) 110 at operations 515 and 520.
- operations 515 include, but are not limited to, compression, labeling, spectral analysis, spectrum averaging, spectrum processing (e.g., smoothing, denoising, baseline correction, etc.), metadata generation, etc., as also described in reference to FIG. 4.
- data are stored at the instrument system(s) 105 and transferred in response to a data request from the client computing device(s) 110.
- Data processing at operation 515 can also include generating visualization data, for example, as part of a visual presentation of the instrument data using a display of the client computing device 110.
- An example of visualization data can include a vectorized graph file including metadata labels that can be used as part of an interactive data presentation environment. In this way, the volume of data transferred at operation 520 can be reduced, relative to transferring raw instrument data, while providing useful and intuitive information to a user of the client computing device 110.
- the data generated at operation 515 are accessible via the client computing device(s) 110 and/or the IPC(s) 130, as part of an interactive user environment hosted on either or both components.
- components of the example system 100 can include media (e.g., non-transitory machine- readable storage media) storing executable instructions that, when executed by the IPC(s) 130 or the client computing device(s) 110, generate an interactive user environment that presents consistent interactive features on either component and permit a user to initiate one or more data processing workflows (e.g., operation 525) via the user environment that can be segmented based at least in part on the configuration of the various components, as described in more detail in reference to FIGs. 1-3.
- media e.g., non-transitory machine- readable storage media
- executable instructions that, when executed by the IPC(s) 130 or the client computing device(s) 110, generate an interactive user environment that presents consistent interactive features on either component and permit a user to initiate one or more data processing workflows (e.g., operation 525) via the user environment that can be segmented based at least in part on the configuration of the various components, as described in more detail in reference to FIGs. 1-3.
- Instrument systcm(s) 105 can be at least partially automated, with an instrument 125 analyzing multiple samples in sequence, for example, using an autosampler apparatus and automation software coordinated by an IPC 130.
- operations 530-555 demonstrate that data processing workflows of the present disclosure include repeat operations of data access, data generation, data processing, and/or data transfer.
- the client computing device 110 initiates an operation that references data not present at the client computing device 110, for example, data generated by the instrument 125 that is available at IPC 130 but not yet transferred to ASM 135.
- the example workflow 500 includes generating a request for additional data at operation 530 to ASM 135 and a subsequent request to IPC 130 at operation 535 to transfer the data at operation 540.
- the instrument system 105 is configured to omit operation 535.
- example workflow 500 can include data processing operation(s) 545 as part of serving the request to the client computing device(s) 110.
- example workflow 500 segments operations between components of the example system 100 to reduce latency and serve users of the IPC(s) 130 and/or the client computing device(s) 110 with instrument data with improved system and operational performance.
- example workflows 400 and 500 apply at least a subset of data processing operations locally, at IPC(s) 130 and/or at ASM(s) 135.
- Processed data can be transferred with significantly reduced demand placed on compute resources and less susceptible to bandwidth limitations introduced by the network(s) 140.
- segmentation can be based at least in part on the configuration of the components in a system (e.g., example system 100 of FIG. 1), as illustrated in FIGs. 2-3, on a workflow- specific basis, as described in several specific examples in reference to FIG. 6.
- FIG. 6 is a block How diagram illustrating an example data processing workflow 600, in accordance with some embodiments of the present disclosure.
- the data processing workflow includes one or more processing operations applied to data generated by analytical instruments (e.g., the instrument(s) 125 of the example system 100 of FIG. 1 ).
- Data illustrated are a subset of a data cube of GC-MS data, but embodiments of the present disclosure include data from additional and/or alternative analytical techniques, as described in more detail in reference to FIG. 1.
- the operations of the example workflow 600 are not divided into a segmented workflow, but rather are shown as a sequence of operations unassociated from a particular instrument, computing device, or machine, as an approach to illustrate that data volume differs at various points in the example workflow.
- segmenting the example workflow 600 at one or more points can permit relatively small data volumes to be transferred over a network (e.g., where the network is a source of significant latency in the overal workflow) and/or between components in a way that is responsive to user requests while also reducing overall latency and performance penalties, such as delays in sample analysis.
- a network e.g., where the network is a source of significant latency in the overal workflow
- a user of the IPC(s) 130 and/or the client computing device(s) 110 can request visualization data 606 to be generated at operation 605.
- spectrum data 601 can be visualized as a data cube, with mass spectra associated with the corresponding peaks of the chromatogram.
- a mouse cursor 613 is included to indicate that the visualization data 611 can be structured to be interactive as part of the interactive user environment.
- the visualization data 606 can be configured for a dynamic graph utility that permits a user of the interactive user environment to select a point on the GC spectrum to view and/or select the corresponding MS spectrum.
- instrument data 601 (e.g., data 401 of FIG. 4) is processed to generate averaged spectrum data 611 from a data cube of GC-MS data.
- a data cube of GC-MS data can include time-series data (e.g., retention time) generated by the gas chromatograph, each entry of which is associated with one or more mass spectra.
- Examples of averaged spectrum data 611 include where an average mass spectrum is generated for one or more of the elution peaks in the GC spectrum, which can improve signal-to-noise properties, improve accuracy of downstream processing operations, or the like.
- averaged data 606 can include fewer datapoints than instrument data 601, reducing transfer latency.
- operations such as operation 610 can be implemented in parallel with data generation by the instrument(s) 125, further reducing overall latency.
- MS data for a first elution peak can be averaged while mass spectra are still being generated.
- averaged spectrum data 611 is further processed to analyze mass spectra for identification, for example, based at least in part on ionization patterns and retention time.
- the results data 616 can include predicted structure identifications, probability or likelihood data, or the like, for one or more samples (e.g., averaged spectrum data 611 can be aggregated for multiple samples).
- the example workflow 600 can be segmented in various ways, based at least in part on the configuration of the system including instrument(s) 125, IPC(s) 130, client computing device(s) 110, and/or ASM(s) 135, etc. (e.g., example system 100 of FIG. 1).
- MS data e.g., instrument data 401, 601, etc.
- MS data can include original profile signals from a mass spectrometer and/or centroids (referred to as peaks) generated from the profile signals. Peaks can be further analyzed, to see if they may belong to an isotope pattern or be part of a charge envelope.
- isotope pattern and charge envelope are given their typical meaning as would be understood by person of ordinary skill in the relevant art.
- Algorithms for data processing can be compute intensive, and can tax instrument systems when compute resources are limited. Further, profile data from a mass spectrometer can be noisy. Noise can significantly affect accuracy of calculated centroids from profiles of smaller peaks, which, in turn, can impair the accuracy of sample identification processes. noisy data can be smoothed and/or denoised by averaging the profiles of a set of scans to reduce noise, and then determining a set of centroids from the averaged profile.
- segmenting the corresponding workflow can occur in various ways. For example, each of a set of scans (for example, 1-20 scans) are sent from the IPC 130 (or other system which holds the data, such as the ASM 130, datastore 120, etc.) to the client computing device 110 for further processing. This corresponds to a low network latency scenario and/or a relatively high performance client computing device 110, where the instrument data is sent directly to the client computing device 110 from the instrument(s) 125 or IPC(s) 1 0.
- instrument data is generated by an instrument system 105 including a relatively high performance compute platform (e.g., IPC(s) 130 and/or ASM(s) 135)
- compute resource intensive calculations can be performed by the instrument system 105, with the results being sent to the client computing device 110.
- the relative importance of network latency or other data transfer latency can be reduced, as processed data volumes can be smaller than raw data volumes.
- the role of data transfer latency can become significant, determining at least in part whether computationally expensive processes arc performed at the instrument system 105 or the other components.
- averaging can be performed at the data source, such that network traffic is reduced, and averaged spectrum data can be returned to the client computing device 110, which then calculates annotations (e.g., for charges or isotopes).
- the example scenarios described here can form a part of data processing workflow segmentation.
- algorithms making up the workflow e.g., averaging, labelling, generating visualization data, etc.
- the instrument system 105 or by the client computing device 110 can be executed by the instrument system 105 or by the client computing device 110, with the determination of which of the above three scenarios to be adopted to complete the workflow being based at least in part on the configuration of the components and the network.
- EXAMPLE 2 METADATA ANALYSIS
- Instrument data is often associated with metadata that allows spectra or other data to be referenced by one or more identifiers to describe a sample, scan, or the like.
- metadata can include a label of the type of instrument that generated the data and the precursor mass of the sample, (e.g., “this scan is ms/ms data based on the anaysis of precursor mass 345.678”).
- Metadata analysis can be useful as part of processing larger datasets. Further, metadata analysis can proceed without transferring the accompanying data. As metadata is often smaller than the scan data that it references, an instrument system 105 can transfer metadata to a client computing device 110, server 115, and/or datastore 120 as part of performing metadata anaysis. In an illustrative example, a client computing device can generate a query to “find all scans which have precursor mass in the range 345.670 to 345.700”. Such a query can return a set of metadata referencing spectra files that could be stored in a separate location.
- Metadata are typically small in size, where network latency is significant, it can be more efficient to send batches of these metadata (e.g., about 100 entries at a time) where an instrument has acquired a relatively large number of scans (e.g., about 1000 scans, about 100,000 scans, about one million scans, etc.).
- an algorithm to find data in a range can be run on the client computing device 110, referencing data stored at the instrument system 105.
- data reading and search algorithms can be executed by the instrument system 105 or a data server, such that a more compact result (e.g., a list of matching scans) can be transmitted over a relatively limited bandwidth network.
- EXAMPLE 3 LOCAL VS. REMOTE CHARTING
- data volume for an entire scan can be relatively large and can take a significant time to transmit over a network.
- Data visualization such as generating chart data and/or rendering a mass spectrum as an interactable graph, can be a relatively compute intensive process that generates relatively small data volumes.
- vector graphics data objects can be relatively small, compared to the data from which the objects are derived, which allows for less data to be transferred over networks for each view, where a new vector graphics object is generated at each request for a new level of data resolution.
- scan data can be sent to the client computing device 110, such that vector data can be generated by the client computing device.
- vector data can be generated by the instrument system 105 and/or the server(s) 115 and sent to the client computing device.
- scan data can include complex annotations that can depend on zoom levels, a user action such as “zoom” can implicate a network interaction to generate updated visualization data, for example, to retrieve detailed scan data and annotations at a given zoom level that are unavailable locally at the client computing device 110.
- workflow segmentation can be applied in various ways. For example, where data are already present on the client computing device 110, data processing workflows can be executed entirely on the client computing device 110.
- data visualization operations can call scan data directly in response to requests received through the interactive user environment. In this way, scan data can be transferred to the client computing device 110 as requested and used to generate vector objects or other visualization data.
- visualization data can be generated at the instrument system 105 and transferred, where the determination is made at least in part on relative constraints on compute resources.
- scan data are stored on the instrument system and the network 140 is a relatively high latency network (e.g., physically remote or distant network with >300ms ping).
- data visualization workflows can be segmented to reduce data transfer operations, for example, by generating vector objects at the instrument system 105 or where the scan data are stored, and by generating “previews” in response to zoom requests that are populated with limited annotation data or other metadata while the updated visualization data are generated.
- data visualization workflows can be segmented to keep all operations at the instrument system 105 and/or the server 115, with relatively few or no operations applied to scan data or visualization data by the client computing device 110.
- FIG. 7 is a block flow diagram for an example process 700 for segmenting a data processing workflow, in accordance with some embodiments of the present disclosure. As described in reference to FIGS. 1-6, one or more operations making up the example process 700 can be executed and/or initiated by a computer system or other machine operably coupled with components of an analytical instrument (e.g., example the instrument(s) 125 of FIG.
- an analytical instrument e.g., example the instrument(s) 125 of FIG.
- operations can be stored as machine executable instructions in one or more machine readable media that, when executed by the computer system, can cause the computer system to perform at least a portion of the constituent operations of process 700.
- the constituent operations of process 700 can be preceded by, interspersed with, and/or followed by operation(s) that are omitted from the present description, such as sample and/or instrument preparation, operations that take place prior to operations 705 and 710, or the like, that form at least a part of an analytical method for processing a sample to generate spectral data as illustrated in FIGs. 5A-5B.
- operations of the example process 700 can be omitted, repeated, reordered, and/or replaced in some embodiments.
- example process 700 includes determining a configuration of an instrument system (e.g., instrument system(s) 105 of FIG. 1).
- the instrument system can include one or more analytical instruments 125 coupled with one or more IPCs 130.
- the IPC(s) 130 can be configured to receive raw data from the analytical instrument(s) 125, to process the raw data, and to communicate with one or more client computing devices 110 coupled with the instrument system. Determining the configuration can include one or more suboperations.
- the configuration can be based at least in part on a set of parameters describing hardware included in the instrument system (e.g., parameters 205, 210, and 305 of FIGs. 2-3) and/or in communication with hardware included in the instrument system.
- the hardware can be configured to process data and/or to transfer data between two or more components of the instrument system.
- the suboperations of operation 705 can include determining a data processing latency for the instrument system(s), the client computing device(s), and/or the server(s) using the set of parameters describing the components, determining a data transfer latency for the hardware using the list of parameters, and/or determining a network transfer latency between the client computing device(s), the server(s), and/or the instrument system.
- the data processing latency can be based at least in part on compute resources available at each respective component of the instrument system, as described in more detail in reference to FIGs. 2-5, and data transfer latency can be based at least in part on communication hardware and performance.
- systems of the present disclosure can include a database of data processing capacity information and/or data transfer capacity information for the hardware (e.g., datastores 120, or the like).
- determining the latency parameters can include querying the database(s).
- determining the network latency can include assessing a data transfer rate between the client computing device and the instrument system over the network (e.g., via a ping or other operation).
- the configuration is updated and/or determined iteratively and/or dynamically. For example, a scheduled update to the configuration can be applied, an update can be triggered as part of implementing one of a set of data processing workflows (e.g., as described in reference to the examples accompanying FIG. 6), where the set can be defined, for example, in a reference or configuration file. Similarly, the configuration can be revised at the start of a sample analysis run by the instrument system. In some embodiments, the configuration is determined dynamically, as an approach to accounting for shifts in network performance and compute resource availability. For example, ASM(s) 135 can be shared between multiple instrument systems 105 (e.g., as in configuration 300 of FIG. 3), such that the compute resource availability and local network traffic can fluctuate. A dynamic configuration update can account for differences between the stated specification of the component and its current state. In some embodiments, the updated configuration and/or latency parameters can be used to modify the segmented data processing workflow.
- example process 700 includes segmenting the data processing workflow based at least in part on the configuration. Segmenting the data processing workflow includes attributing at least a subset of constituent operations of the data processing workflow to the client computing device(s) 110, the IPC(s) 130, the ASM(s) 135, and/or the server(s) 115. In some embodiments, segmenting the data processing workflow includes defining a first subset of operations of the data processing workflow to be executed locally on the IPC(s) 130 using the raw data. Segmenting the data processing workflow can also include defining a second subset of operations of the data processing workflow to be executed locally on the client computing device using processed data transferred to the client computing device 110 from the instrument system 105.
- the raw data can include analytical spectrum data, such that the first subset of operations can include implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data.
- the processed data can include compressed spectrum data and spectral analysis metadata, As described in more detail in reference to FIGs. 4-6 and the accompanying examples.
- one or more operations of the first subset of operations of the segmented data processing workflow are gated by user interactions via the client computing device(s) 110 and/or the IPC(s) 130.
- the second subset of operations can include initiating a data processing operation of the first subset of operations in accordance with receiving a user action via an interactive user environment.
- Embodiments of the present disclosure are not limited to such embodiments, but rather are intended to address analytical instruments systems for which a wide array of material samples can be analyzed to determine chemical, biological, physical, structural, or other properties, among other aspects, including but not limited to chemical structure, trace element composition, or the like.
- Some embodiments of the present disclosure include a system including one or more data processors and/or logic circuits.
- the system includes a non- transitory computer readable storage medium containing instructions which, when executed on the one or more data processors and/or logic circuits, cause the one or more data processors to perform part or all of one or more methods and/or part or all of one or more processes and workflows disclosed herein.
- Some embodiments of the present disclosure include a computerprogram product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors and/or logic circuits to perform part or all of one or more methods and/or part or all of one or more processes disclosed herein.
- a geometric parameter such as an alignment or angular orientation
- the terms “about” or “substantially” are intended to reflect that the alignment or angular orientation can be different from the exact stated condition (e.g., not exactly normal) within a tolerable limit.
- the term “about” can be understood to describe a deviation from the stated value of up to ⁇ 10%.
- a dimension of “about 10 mm” can describe a dimension from 9 mm to 11 mm.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Aspects of systems, methods, algorithms, and non-transitory media storing computer-readable instructions for segmenting data processing workflows are provided. In a first aspect, a computer-implemented method for segmenting data processing workflows includes determining a configuration of an instrument system. The instrument system can include an analytical instrument coupled with an instrument PC (IPC). The IPC can be configured to receive raw data from the analytical instrument, to process the raw data, and to communicate with a client computing device coupled with the instrument system. The method can also include segmenting a data process workflow based at least in part on the configuration, attributing at least a subset of constituent operations of the data process workflow to the client computing device or the IPC.
Description
TECHNIQUES FOR SEGMENTATION OF DATA PROCESSING WORKFLOWS IN
INSTRUMENT SYSTEMS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Non-Provisional Application S/N 18/166,914, titled “TECHNIQUES FOR SEGMENTATION OF DATA PROCESSING WORKFLOWS INSTRUMENT SYSTEMS”, filed February 9, 2023, and incorporated by reference herein in its entirety.
TECHNICAL FIELD
[0002] Embodiments of the present disclosure are directed to analytical instrument systems, as well as algorithms and methods for their operation. In particular, some embodiments are directed toward data processing workflow segmentation.
BACKGROUND
[0003] Chemical analysis of samples using a mass spectrometer (MS) typically includes at least partially ionizing a sample, and measuring the ratio of mass to charge of the ions produced. A mass spectrum describes intensity of a detector signal as a function of mass-to- charge (M/Z) ratio. Constituent species are identified by comparing parent ion mass values and decomposition signatures that can be characteristic of specific elements and molecular structures. In a mass spectrometer (MS) instrument, detailed information can be developed for elemental composition, molecular structure, and other characteristics of the samples (e.g., oxidation state, etc.), by processing raw spectrum data in various ways.
[0004] An analytical instrument, such as a gas chromatograph - mass spectrometer (GC-MS), can be configured to process multiple samples sequentially, for example, through the use of an auto sampler and control software that enables the instrument to generate analytical spectrum data on a semi-continuous basis. In conventional systems, instruments are controlled by an instrument PC (IPC) that is directly connected to the instrument, for example, via a serial connector (e.g., USB-type serial bus connector). The IPC executes the control software, facilitates user interaction with the instrument (e.g., via a user interface), and stores analytical spectrum data locally. Typically, an analytical spectrum data set, which can be multidimensional (referred to as a “data cube,” or the like), is a large-format data volume that can occupy 10 GB or more of local storage at the current data standard. As detectors and other
instrument components improve, it is anticipated that datafile size will continue to increase over time.
[0005] Data processing workflows are typically executed on the IPC by processing local datafiles using one or more applications accessible via a user interface of the IPC.
Alternatively, analytical spectrum datafiles can be processed on client computing devices, such as laptops, after transferring the datafiles. Processing data directly on an IPC draws compute resources that could otherwise be dedicated to sample analysis operations, introducing latency into sample analysis and data processing workflows. Similarly, transferring sets of analytical spectrum datafiles introduces network connectivity as a source of latency in data processing workflows. There is a need, therefore, for segmentation of data processing workflows between IPCs and client computing devices that reduces latencies and preserves compute resources for sample analysis.
SUMMARY
[0006] Aspects of systems, methods, algorithms, and non-transitory media storing computer- readable instructions for segmenting data processing workflows are provided. In a first aspect, a computer-implemented method for segmenting data processing workflows includes determining a configuration of an instrument system. The instrument system can include an analytical instrument coupled with an instrument PC (IPC). The IPC can be configured to receive raw data from the analytical instrument, to process the raw data, and to communicate with a client computing device coupled with the instrument system. The method can also include segmenting a data process workflow based at least in part on the configuration, attributing at least a subset of constituent operations of the data process workflow to the client computing device or the IPC.
[0007] Segmenting the data process workflow can include defining a first subset of operations of the data process workflow. The first subset of operations can be executed locally on the IPC using the raw data. Segmenting the data process workflow can also include defining a second subset of operations of the data process workflow. The second subset of operations can be executed locally on the client computing device using processed data transferred to the client computing device from the instrument system. The raw data can include analytical spectrum data. The first subset of operations can include implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data. The processed data can include compressed spectrum data and spectral analysis metadata.
The second subset of operations can include, in accordance with receiving a user action via an interactive user environment, initiating a data processing operation of the first subset of operations.
[0008] In some embodiments, determining the configuration of the instrument system includes generating a set of parameters describing components of the instrument system, the parameters describing hardware included in the instrument system being configured to process data or to transfer data between two or more components of the instrument system. Determining the configuration of the instrument system can include determining a data processing latency for the instrument system using the set of parameters, determining a data transfer latency for the instrument system using the set of parameters, or determining a network latency between the client computing device and the instrument system. Determining the data processing latency can include querying a database storing data processing capacity information for hardware. Determining the data transfer latency can include querying a database storing data transfer capacity information for the hardware. Determining the network latency can include assessing a data transfer rate between the client computing device and the instrument system.
[0009] In some embodiments, the method further includes generating an updated configuration of the instrument system, generating an updated latency parameter using the updated configuration, and modifying the segmented data process workflow using the updated latency parameter. The instrument system can further include an application specific machine (ASM), operably coupled with the IPC and the client computing device. Segmenting the data process workflow can further include attributing at least a third subset of the operations included in the data process workflow to the ASM.
[0010] In a second aspect, a system includes a client computing device and an instrument system. The instrument system can include an analytical instrument and an instrument PC (IPC). The instrument system can further include an application specific machine (ASM). The client computing device can communicate with the instrument system via a network. The client computing device, the IPC, and/or the ASM can be configured to implement one or more operations of the method of the first aspect. The client computing device, the IPC, and/or the ASM can be configured to implement the one or more operations of the method of the first aspect via an interactive user environment configured to receive user input.
[0011] In a third aspect, one or more non-transitory machine-readable storage media store instructions that, when executed by a machine, cause the machine to perform operations for
segmenting data processing workflows, the operations including one or more operations of the method of the first aspect. The machine can be or include one or more components of the system of the second aspect.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] The foregoing aspects and many of the attendant advantages of the present disclosure will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings.
[0013] FIG. 1 is a schematic diagram illustrating an example analytical data system, in accordance with some embodiments of the present disclosure.
[0014] FIG. 2 is a schematic diagram illustrating an example configuration of the example system of FIG. 1, in accordance with some embodiments of the present disclosure.
[0015] FIG. 3 is a schematic diagram illustrating an example configuration of the example system of FIG. 1 including an application specific machine, in accordance with some embodiments of the present disclosure.
[0016] FIG. 4 is a schematic diagram illustrating an example data processing workflow for the example system of FIG. 1 configured as illustrated in FIG. 2, in accordance with some embodiments of the present disclosure.
[0017] FIG. 5 is a schematic diagram illustrating an example data processing workflow for the example system of FIG. I configured as illustrated in FIG. 3, in accordance with some embodiments of the present disclosure.
[0018] FIG. 6 is a block flow diagram illustrating an example data processing workflow, in accordance with some embodiments of the present disclosure.
[0019] FIG. 7 is a block flow diagram for an example process for segmenting a data process workflow, in accordance with some embodiments of the present disclosure.
[0020] In the drawings, like reference numerals refer to like parts throughout the various views unless otherwise specified. Not all instances of an element are necessarily labeled to reduce clutter in the drawings where appropriate. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles being described.
DETAILED DESCRIPTION
[0021] While illustrative embodiments have been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the disclosure. Embodiments of the present disclosure focus on mass spectrometry and related instruments in the interest of simplicity of description. To that end, embodiments are not limited to such instruments, but rather are contemplated for analytical instrument systems
more generally, as where one or more instruments can form a part of systems of instruments, networks, and computing devices where compute and network resources can be constrained. [0022] Chemical analysis of samples using a mass spectrometer (MS), typically includes at least partially ionizing a sample, and measuring the ratio of mass to charge of the ions produced. A mass spectrum describes intensity of a detector signal as a function of mass-to- charge (M/Z) ratio. Constituent species are identified by comparing parent ion mass values and decomposition signatures that can be characteristic of specific elements and molecular structures. In a mass spectrometer (MS) instrument, detailed information can be developed for elemental composition, molecular structure, and other characteristics of the samples (e.g., oxidation state, etc.), by processing raw spectrum data in various ways.
[0023] An analytical instrument, such as a gas chromatograph - mass spectrometer (GC-MS), can be configured to process multiple samples sequentially, for example, through the use of an auto sampler and control software that enables the instrument to generate analytical spectrum data on a semi-continuous basis. In conventional systems, instruments are controlled by an instrument PC (IPC) that is directly connected to the instrument, for example, via a serial connector (e.g., USB-type serial bus connector). The IPC executes the control software, facilitates user interaction with the instrument (e.g., via a user interface), and stores analytical spectrum data locally. An analytical spectrum dataset, which can be multi-dimensional (referred to as a “data cube,” or the like), can be or include a set of large-format files that can occupy 10 GB or more of local storage at the current data standard. As detectors and other instrument components improve, it is anticipated that datafile size will continue to increase over time.
[0024] Data processing workflows arc typically executed on the IPC by processing local datafiles using one or more applications accessible via a user interface of the IPC. Alternatively, analytical spectrum datafiles can be processed on client computing devices, such as laptops, after transferring the datafiles. Processing data directly on an IPC draws away compute resources that could otherwise be dedicated to sample analysis operations, leading to overspecification of IPC hardware and introducing latency into data processing workflows. Similarly, transferring sets of analytical spectrum datafiles introduces network connectivity as a source of latency in data processing workflows. There is a need, therefore, for segmentation of data processing workflows between IPCs and client computing devices that reduces latencies
and preserves compute resources for sample analysis (e.g., operation of the analytical instrument(s) and/or instrument system(s)).
[0025] To that end, embodiments of the present disclosure include systems, methods, algorithms, and non-transitory media storing computer-readable instructions for segmenting data processing workflows. In an illustrative example, a method can include determining a configuration of an instrument system, where the instrument system includes an analytical instrument coupled with an instrument PC (IPC). The IPC can be configured to receive raw data from the analytical instrument, to process the raw data, and/or to communicate with a client computing device coupled with the instrument system. The method can also include segmenting a data process workflow based at least in part on the configuration, where the segmented data process workflow can attribute at least a subset of constituent operations of the data process workflow to the client computing device or the IPC. In this way, the segmented data process workflow can reduce overall latency of the constituent operations while also preserving compute resources of the IPC(s) for sample preparation and data generation, among other instrument control processes.
[0026] The following detailed description focuses on embodiments of gas chromatography - mass spectrometer (GC-MS) systems, but it is contemplated that additional and/or alternative instrument systems can be improved through the use of the techniques described. In an illustrative example, instrument systems can include analytical instruments configured to generate analytical spectrum data (e.g., mass spectrometry, emission spectrometry, absorption spectrometry, nuclear magnetic resonance spectrometry, Raman spectrometry, infrared spectrometry, confocal imaging, hyperspectral imaging, MRI, x-ray imaging and microanalysis, optical microscopy, charged particle microscopy, quartz-crystal microbalance, electrochemical spectrometry, x-ray spectrometry, chromatography, next-gen sequencing, or the like). In the context of the present disclosure, a “data cube” refers to data arrays that can include hierarchically organized spectra including, but not limited to, spatially referenced spectra, temporally referenced spectra, elution referenced spectra, energy referenced spectra, etc. In this way, embodiments of the present disclosure can include instrument systems for which an analytical instrument can be configured to take in a sample and generate a datafile. In turn, the datafile can be processed to generate identifier information descriptive of the physical, chemical, and/or biological nature of the sample.
[0027] FIG. 1 is a schematic diagram illustrating an example analytical data system 100, in accordance with some embodiments of the present disclosure. The example system 100 can include one or more instrument systems 105, one or more client computing devices 110, one or more servers 115, and/or one or more datastores 120. The instrument system(s) 105 can include one or more analytical instruments 125, one or more IPCs 130, and one or more application specific machines 135 (ASM). The various components of the example system 100 can communicate via one or more networks 140 and/or via a direct connection (e.g., a USB- type connection, Bluetooth, WiFi, ethernet, etc.). In some embodiments, one or more components of example system 100 are omitted. For example, embodiments of the present disclosure can omit the server(s) 115, the datastore(s) 120, and/or one or more components of the instrument system(s) 105 (e.g., ASM(s) 135, etc.).
[0028] The instrument system(s) 105 can include components for analyzing material samples according to one or more measurement modalities, facilitated by the configurations of the instrumcnt(s) 125 and software, tools, or the like, available on the IPC(s) 130, ASM(s) 135, client computing device(s) 110, and/or server(s) 115. For example, the client computing device(s) 110 and/or server(s) 115 can host software applications configured to implement one or more processing operations using data generated by the instrument(s) 125. The performance of the example system 100 can be improved through segmenting data processing workflows implicated in such processing operations, as described in more detail in reference to the forthcoming FIGs. 2-7.
[0029] The client computing device(s) 110 can be or include general purpose (e.g., laptops, tablets, smart phones, desktops, etc.) and/or special purpose computing devices. The server(s) 115 can be or include one or more local and/or remote network connected machines including processing, storage, and/or communication components. In an illustrative example, the server(s) can be co-located with the instrument system(s) 105 in a physical location (e.g., a building, campus, or other location), and can communicate with one or more components of the instrument system(s) 105. The client computing device(s) 110 can be located at a first physical location different from a second physical location of the instrument system(s) 105. To that end, the datastore(s) 120 can be located at the first physical location to store large datasets generated by the instrument system(s) 105 and to reduce data transfer latency between the instrument system(s) 105 and the client computing device(s) 110 during periods of relatively high network latency, or, for example, when the first physical location and the second physical location are
physically remote (e.g., on different continents or different coasts of the same continent). In some embodiments, network latency and data read/write capacity of the datastore(s) 120 form a part of the system configuration that is used to segment data processing workflows in accordance with embodiments of the present disclosure.
[0030] IPC(s) 130 can include general purpose or special purpose computing devices. For example, embodiments include a PC configured for user interaction (e.g., having display, user interaction peripherals, and user interface), a PC dedicated to coordinating the operation of the instrument(s) 125 without direct user interaction (also referred to as a “dedicated” PC) that lacks user interface components, and/or a compute board incorporated into or otherwise operably coupled with the instrument(s) 125. A compute board can include components similar to the dedicated PC, where power circuitry and/or input output components can be shared with the instrument(s) 125 or other elements of the instrument system(s) 105.
[0031] As described in more detail in reference to FIGs. 2-3, a configuration of the components of example system 100 can include metadata corresponding to internal components, performance parameters, and/or current conditions of the IPC(s) 130, including but not limited to network interface component(s) ("NIC"), processing component(s) ("CPU"), and memory/storage component(s) ("MEMORY"). Similarly, the network(s) 140 can be characterized by a bandwidth or other data transfer parameters (e.g., upload rate, download rate, downtime, etc.). In this way, the IPC(s) 130 can be specially configured to transfer large datasets with negligible or no latency. For example, sets of analytical instrument data including millions of datafiles or more can be generated by the instrument system(s) 105. The IPC(s) 130 can be specially configured to process at least a portion of the dataset(s) by applying one or more operations to locally-stored data with negligible or no latency, as part of reducing overall latency of the example system 100. In an illustrative example, the IPC(s) 130 can be configured with special purpose bus circuits and/or large RAM capacity to reduce the latency introduced by locally processing analytical instrument datafiles.
[0032] Application specific machine(s) (ASM(s)) 135 can be special purpose computing devices configured to coordinate the operation of the instrument system(s) 105 (e.g., IPC(s) 130 and/or instrument(s) 125) and/or to facilitate communication with other components of the example system 100. For example, the ASM(s) 135 can include similar components as are found in the server(s) 115, client computing device(s) 110, and/or the IPC(S) 130. In some embodiments, the instrument system(s) 105 omit some or all of the IPC(s) 130 and/or server(s)
115, with the ASM(s) 135 performing the function of controlling the instrument(s) 125 and communicating with outside systems (e.g., via the network(s) 140). In the context of the present disclosure, the instrument(s) 125 can include one or more different types of analytical instruments including, but not limited to, spectrometers, chromatography instruments, sequencers, microscopes, or the like. To that end, embodiments of the present disclosure can include systems, methods, algorithms, and software configured to segment data processing workflows for a variety of different instrument systems 105, As described in more detail in reference to FIG. 6.
[0033] FIG. 2 is a schematic diagram illustrating an example configuration 200 of the example system 100 of FIG. 1, in accordance with some embodiments of the present disclosure. The example configuration 200 includes communication between the IPC(s) 130 and the client computing device(s) 110 via the network(s) 140, omitting or without using the ASM(s) 135. The example configuration 200 can correspond to an instrument system 105 that does not include an ASM 135 and/or where the ASM 135 is dedicated to or temporarily addressed at other processes. Components of the example system 100 illustrated as part of the example configuration 200 can be respectively characterized by one or more parameters 205. Based at least in part on the parameter(s) 205, constituent operations of a data processing workflow can be segmented between the IPC(s) 130 and the client computing device(s) 110.
[0034] As described in more detail in reference to examples 1-3, data processing workflows can include one or more operations by which analytical metadata (e.g., spectral analysis, peak identification, structure identification, visualization data, etc.) can be generated using raw data (e.g., GC-MS data, etc.) originating from sample analysis by the instrument(s) 125. In some embodiments, the parameters 205 can include hardware component specifications, such as CPU configuration (e.g., number of cores, clock speed, architecture, etc.), memory configuration (e.g., capacity, read-write speed, etc.), and network connectivity configuration (e.g., upload/download speed, bandwidth, etc.). In the illustrative example of configuration 200, segmentation of a data processing workflow can be based at least in part on estimating an overall latency of the workflow from individual latency contributions of constituent operations based at least in part on processing parameters 205 and network connectivity parameters 210. As described in more detail in reference to FIGs. 4-5, latency can arise during processing and/or transfer operations of a data processing workflow.
[0035] In some embodiments, models and/or algorithms are encoded in software to implement segmentation of data processing workflows based at least in part on the example configuration 200. For example, a rules-based model can take in the parameter(s) 205 of the various components of the example system 100 included in example configuration 200. Using the parameter(s) 205, the model can generate a latency for a given data processing workflow as an output. In this way, the software can include instructions that, when executed by the client computing device(s) 110, cause the client computing device(s) 110 to access, request, retrieve, or otherwise reference the parameter(s) 205 and use the parameter(s) 205 to estimate latency contributions for constituent operations of a given data processing workflow.
[0036] FIG. 3 is a schematic diagram illustrating an example configuration 300 including an application specific machine 135, in accordance with some embodiments of the present disclosure. The example configuration 200 includes communication between the IPC(s) 130 and the client computing device(s) 1 10 via the network(s) 140 using the ASM(s) 135 to coordinate communication of multiple IPCs 130 with the client computing dcvicc(s) 110. The example configuration 300 can correspond to an instrument system 105 that includes an ASM 135 as part of the instrument system 105 and/or where the ASM 135 is dedicated to or temporarily addressed at coordinating the operation of the IPCs 130, processing data generated by the instruments 125, and/or communicating data between the instrument system 105 and the client computing device(s) 110. As described in more detail in reference to FIG. 2, components of the example system 100 illustrated as part of the example configuration 300 can be respectively characterized by one or more parameters 205 and 210. The ASM, in turn, can be characterized by one or more parameters 305. Based at least in part on the parameter(s) 205, 210 and 304, constituent operations of a data processing workflow can be segmented between the ASM(s) 135, the IPCs 130 and the client computing device(s) 110.
[0037] FIG. 4 is a schematic diagram illustrating an example segmented data processing workflow 400 for the example system of FIG. 1 configured as illustrated in FIG. 2, in accordance with some embodiments of the present disclosure. Example sequence 400 illustrates an embodiment where raw instrument data are stored at the IPC(s) 130, rather than being transferred to the client computing device(s) 110. In this way, the client computing device(s) 110 can send and/or receive data from the IPC(s) 130 multiple times in an approach that balances data transfer constraints. The data processing sequence in example workflow 400 can omit one or more operations between constituent components of the example system 100, such
as between the client computing device(s) 110, the datastore(s) 120, and/or server(s) 115. The example workflow 400 is illustrated as a linear sequence of operations, where vertical “lanes” indicate the forward direction of time with dashed lines, representing a component identified above each dashed line. Operations of the example workflow 400 can be reordered, repeated, and/or omitted. In some embodiments, one or more operations are gated by a user action (e.g., a user selection of an action via a user interface). Similarly, one or more operations can be gated by the completion of another process and/or operation. The example workflow 400 can be interrupted, concluded, and/or restarted, for example, by user intervention.
[0038] The constituent operations of the example workflow 400 include one or more data transfer operations 405, 415, 425, and 435 and one or more data processing operations 410, 420, and 430, applied to data 401, 411, 421, and 431, of various forms. The operations can be associated with a respective latency “X” that can be used as a contribution to an overall latency of the example workflow 400 and/or considered individually when segmenting the example workflow 400 between various components of the example system 100. In an illustrative example, an optimization of the overall latency of the data processing workflow can be a part of the segmentation process that results in the example workflow 400. Examples of the segmented data processing workflows are described in reference to FIG. 6, below.
[0039] In some embodiments, data 401 generated by the instrument(s) 125 are transferred to and/or stored by IPC(s) 130 that are directly connected to the instrument(s) 125 as part of sample analysis procedures. For example, where the instrument system 105 includes a GC-MS, data 401 can be or include data cubes having multiple mass spectra organized in association with an elution time at which the mass spectrum was collected, thereby coupling the gas chromatography data with the mass spectrometry data, as illustrated schematically in FIG. 6. Data cubes can include hundreds, thousands, millions, or more spectra, representing very large data files that can be transferred and/or stored relatively quickly on local IPC(s) 130 at transfer operation 405 (e.g., / can be relatively short), but where transferring the entirety of data 401 to client computing device(s) 110, either directly from the instrument(s) 125 or from the IPC(s) 130 can be prohibitively slow (e.g., the corresponding latency can be relatively long).
[0040] One or more data processing operations 410 can be applied to the data 401 by the IPC(s) 130 to generate data 411 that can be transferred to the client computing device(s) 110 at operation 415. In a simplistic example of workflow optimization, the workflow 400 can be segmented as illustrated where latency contributions X2 and A3 are relatively shorter than a
comparable transfer operation for data 401 from IPC(s) 130 to client computing device(s) 110 directly. In some embodiments, latency minimization forms a part of the segmentation techniques, complemented by parallelization, serialization, compression, and other processes that can be applied conditionally as part of improving the overall performance of the data processing workflow. For example, processing operation 410 can include one or more compression operations applied to data 411 to reduce the size of the files to be transferred at operation 415, where network capacity is limited (e.g., dynamically adjusting the example workflow 400). In another example, data 411 can correspond to a portion of the data 401, metadata derived from the data 401, visualization data generated using the data 401 (e.g., interactive graph instructions for a visualization application hosted on the client computing device(s) 110).
[0041] The client computing device(s) 110 can implement one or more data processing operations 420 using the data 41 1 received from the IPC(s) 130. Data processing operations can include generating and/or displaying visualization data (e.g., as an interactive graph), implementing peak fitting or other spectral analysis algorithms, accessing materials spectrum databases to facilitate identification of samples from which the data 401 were generated, or the like. A person of ordinary skill in the art of spectral analysis would understand that analysis of spectral data can include various techniques to identify material, chemical, physical, and/or biological characteristics of sample spectra.
[0042] The data 421 generated by the one or more data processing operations can include query data, metadata, and/or processed data that can be transferred to IPC(s) 130 at transfer operation 425. In some embodiments, data processing operations 430 generate new data 431 from the data 401 based at least in part on parameters and/or configurations included as part of the data 421. In an illustrative example, visualization data transferred to the client computing device(s) 110 at operation 415 can be used to identify a range of spectral data for magnification, peak fitting, and species identification. The data 421, therefore, can include spectral bounds (e.g., a range of m/z values, or the like), and other metadata to use when generating the new data 431 at operation 430, which can be transferred back to the clinet computing device(s) 110 at operation 435. In this way, some operations are applied directly to the data 401 generated by the instrument(s) 125, which is stored at the instrument system 105, with smaller data volumes being transferred between the IPC(s) 135 and the client computing
device(s) 110 to reduce latency arising from network bandwidth limitations (e.g., between the instrument system(s) 105 and the client computing device(s) 110 and/or the server(s) 115). [0043] In some embodiments, the data 401 are stored as new spectrum files are generated by the instrument(s) 125 and are made available for processing operations. In such cases, data preparation operations applied to the data 401 can include batch transferring from the IPC(s) 130 to the client computing device(s) 110. In this way, latency associated with the operation of the instrument(s) 125 can be reduced by parallelizing data generation and transfer operations. Similarly, where the data 401 are generated as a single dataset, processing operations 410 can include preparation of batches for parallel transfer operations 415 to reduce the latency 3. In this way, segmenting the example workflow 400 can include data preparation operations to structure the data 401 differently from the format in which the data 401 are generated by the instrument(s) 125, as an approach to improving overall performance of the example workflow 400.
[0044] FIG. 5 is a schematic diagram illustrating an example data processing workflow 500 for the example system of FIG. 1 configured in the example configuration 300 of FIG. 3, in accordance with some embodiments of the present disclosure. In contrast to FIG. 4, example workflow 500 illustrates an embodiment of the present disclosure in which instrument data are transferred from the IPC(s) 130 to the ASM(s) 135, additionally and/or alternatively to being transferred to the client computing device(s) 110 directly. As with FIG. 4, the data processing workflow in the example workflow 500 can omit one or more operations between constituent components of the example system 100, such as between the client computing device(s) 110, the datastore(s) 120, the IPC(s) 130, the ASM(s) 135, and/or the server(s) 115. The example workflow 500 is illustrated as a linear sequence of operations, where vertical “lanes” indicate the forward direction of time with dashed lines, with an image representing a component identified above each dashed line. Operations of the example workflow 500 can be reordered, repeated, parallelized, and/or omitted. In some embodiments, one or more operations are gated by a user action (e.g., a user selection of an action via a user interface). Similarly, one or more operations can be gated by the completion of another process and/or operation. The example workflow 500 can be interrupted, concluded, and/or restarted, for example, by user intervention.
[0045] The constituent operations of the example workflow 500 include data transfer operations 505, 510, 520, 530, 540, 550, and 555 and data processing operations 515, 525, and
545, applied to data of various forms. The operations can be associated with a respective latency “ ” that can be used as a contribution to an overall latency of the example workflow 500 and/or considered individually when segmenting the example workflow 500 between various components of the example system 100. In an illustrative example, an optimization of the overall latency of the data processing workflow can form at least part of the segmentation technique that results in the example workflow 500. Examples of the segmented data processing workflows are described in reference to FIG. 6, below.
[0046] At operation 505, at least a portion of instrument data can be transferred from the instrument(s) 125 to the IPC(s) 130. Rather than transfer data directly from the IPC(s) 130 to the client computing device(s) 110, example workflow 500 introduces the ASM(s) 135 to coordinate the data transfer and/or processing operations between the instrument system(s) 105 and the client computing device(s) 110. In this way, data transfer latencies (e.g., I, 2, 7, and/or X8) amongst the components of the instrument system(s) 105 can be balanced with the computational resource demand placed on the IPC(s) 130 to coordinate the operations of the instrument(s) 125 (e.g., one IPC 130 to one instrument 125, one IPC 130 to multiple instruments 125, etc.). Further, the ASM(s) 135 can be specifically configured with relatively greater data transfer and/or data processing capacities, in comparison to IPC(s) 125, to shoulder demands placed on instrument system(s) 105 by external queries generated by client computing device(s) 110, and to facilitate segmenting a workflow of multiple data processing operations involved in serving a request by a user of the client computing device(s) 110.
[0047] In the example workflow 500, the instrument(s) 125 can generate data that are transferred to the ASM(s) 135 via the IPC(s) 125, at least partially, at operations 505 and 510, each characterized by a respective transfer latency (XI and 12). The data can be processed by the ASM(s) 135 and/or transferred on to the client computing device(s) 110 at operations 515 and 520. Examples of operations 515 include, but are not limited to, compression, labeling, spectral analysis, spectrum averaging, spectrum processing (e.g., smoothing, denoising, baseline correction, etc.), metadata generation, etc., as also described in reference to FIG. 4. In some embodiments, data are stored at the instrument system(s) 105 and transferred in response to a data request from the client computing device(s) 110.
[0048] Data processing at operation 515 can also include generating visualization data, for example, as part of a visual presentation of the instrument data using a display of the client computing device 110. An example of visualization data can include a vectorized graph file
including metadata labels that can be used as part of an interactive data presentation environment. In this way, the volume of data transferred at operation 520 can be reduced, relative to transferring raw instrument data, while providing useful and intuitive information to a user of the client computing device 110. In some embodiments, the data generated at operation 515 are accessible via the client computing device(s) 110 and/or the IPC(s) 130, as part of an interactive user environment hosted on either or both components. In this way, components of the example system 100 can include media (e.g., non-transitory machine- readable storage media) storing executable instructions that, when executed by the IPC(s) 130 or the client computing device(s) 110, generate an interactive user environment that presents consistent interactive features on either component and permit a user to initiate one or more data processing workflows (e.g., operation 525) via the user environment that can be segmented based at least in part on the configuration of the various components, as described in more detail in reference to FIGs. 1-3.
[0049] Instrument systcm(s) 105 can be at least partially automated, with an instrument 125 analyzing multiple samples in sequence, for example, using an autosampler apparatus and automation software coordinated by an IPC 130. In this way, operations 530-555 demonstrate that data processing workflows of the present disclosure include repeat operations of data access, data generation, data processing, and/or data transfer. At operation 530, the client computing device 110 initiates an operation that references data not present at the client computing device 110, for example, data generated by the instrument 125 that is available at IPC 130 but not yet transferred to ASM 135. Large datasets, including hundreds of spectra, thousands of spectra, millions of spectra, or more, can be transferred partially in multiple increments to reduce computational resource demand placed on the instrument(s) 125 and the IPC(s) 130. To that end, the example workflow 500 includes generating a request for additional data at operation 530 to ASM 135 and a subsequent request to IPC 130 at operation 535 to transfer the data at operation 540. In some embodiments, the instrument system 105 is configured to omit operation 535. As the data transferred at operation 540 can differ from data requested at operation 530, example workflow 500 can include data processing operation(s) 545 as part of serving the request to the client computing device(s) 110.
[0050] Advantageously, example workflow 500 segments operations between components of the example system 100 to reduce latency and serve users of the IPC(s) 130 and/or the client computing device(s) 110 with instrument data with improved system and operational
performance. In contrast to an unsegmented workflow, which could include transferring instrument data to client computing devices in large sizes (e.g., 10 GB or more) without preprocessing, example workflows 400 and 500 apply at least a subset of data processing operations locally, at IPC(s) 130 and/or at ASM(s) 135. Processed data can be transferred with significantly reduced demand placed on compute resources and less susceptible to bandwidth limitations introduced by the network(s) 140. As described in more detail in reference to FIG. 7, segmentation can be based at least in part on the configuration of the components in a system (e.g., example system 100 of FIG. 1), as illustrated in FIGs. 2-3, on a workflow- specific basis, as described in several specific examples in reference to FIG. 6.
[0051] FIG. 6 is a block How diagram illustrating an example data processing workflow 600, in accordance with some embodiments of the present disclosure. The data processing workflow includes one or more processing operations applied to data generated by analytical instruments (e.g., the instrument(s) 125 of the example system 100 of FIG. 1 ). Data illustrated are a subset of a data cube of GC-MS data, but embodiments of the present disclosure include data from additional and/or alternative analytical techniques, as described in more detail in reference to FIG. 1. The operations of the example workflow 600 are not divided into a segmented workflow, but rather are shown as a sequence of operations unassociated from a particular instrument, computing device, or machine, as an approach to illustrate that data volume differs at various points in the example workflow. In this way, segmenting the example workflow 600 at one or more points can permit relatively small data volumes to be transferred over a network (e.g., where the network is a source of significant latency in the overal workflow) and/or between components in a way that is responsive to user requests while also reducing overall latency and performance penalties, such as delays in sample analysis.
[0052] As part of the interactive user environment described in reference to previous figures, a user of the IPC(s) 130 and/or the client computing device(s) 110 can request visualization data 606 to be generated at operation 605. For example, spectrum data 601 can be visualized as a data cube, with mass spectra associated with the corresponding peaks of the chromatogram. In the exemplary visualization data, a mouse cursor 613 is included to indicate that the visualization data 611 can be structured to be interactive as part of the interactive user environment. For example, rather than a static image file or vectorized graphic, the visualization data 606 can be configured for a dynamic graph utility that permits a user of the
interactive user environment to select a point on the GC spectrum to view and/or select the corresponding MS spectrum.
[0053] At operation 610, instrument data 601 (e.g., data 401 of FIG. 4) is processed to generate averaged spectrum data 611 from a data cube of GC-MS data. For a given sample, a data cube of GC-MS data can include time-series data (e.g., retention time) generated by the gas chromatograph, each entry of which is associated with one or more mass spectra. Examples of averaged spectrum data 611 include where an average mass spectrum is generated for one or more of the elution peaks in the GC spectrum, which can improve signal-to-noise properties, improve accuracy of downstream processing operations, or the like. Additionally, averaged data 606 can include fewer datapoints than instrument data 601, reducing transfer latency. In some embodiments, operations such as operation 610 can be implemented in parallel with data generation by the instrument(s) 125, further reducing overall latency. In the example of GC-MS data, MS data for a first elution peak can be averaged while mass spectra are still being generated.
[0054] At operation 615, averaged spectrum data 611 is further processed to analyze mass spectra for identification, for example, based at least in part on ionization patterns and retention time. The results data 616 can include predicted structure identifications, probability or likelihood data, or the like, for one or more samples (e.g., averaged spectrum data 611 can be aggregated for multiple samples). As described in more detail in reference to example 1, the example workflow 600 can be segmented in various ways, based at least in part on the configuration of the system including instrument(s) 125, IPC(s) 130, client computing device(s) 110, and/or ASM(s) 135, etc. (e.g., example system 100 of FIG. 1).
EXAMPLE 1: SPECTRUM AVERAGING of MS DATA
[0055] MS data (e.g., instrument data 401, 601, etc.) can include original profile signals from a mass spectrometer and/or centroids (referred to as peaks) generated from the profile signals. Peaks can be further analyzed, to see if they may belong to an isotope pattern or be part of a charge envelope. The terms “isotope pattern” and “charge envelope” are given their typical meaning as would be understood by person of ordinary skill in the relevant art.
[0056] Algorithms for data processing can be compute intensive, and can tax instrument systems when compute resources are limited. Further, profile data from a mass spectrometer can be noisy. Noise can significantly affect accuracy of calculated centroids from profiles of
smaller peaks, which, in turn, can impair the accuracy of sample identification processes. Noisy data can be smoothed and/or denoised by averaging the profiles of a set of scans to reduce noise, and then determining a set of centroids from the averaged profile.
[0057] In circumstances where identifications and other such processing are already complete using raw data, smoothed data can be used for calculations that depend on mass determination of the centroids, such as “charge envelopes” or “isotope patterns,” at a cost of repeating the computationally expensive processes. Segmenting the corresponding workflow (e.g., example workflow 600 of FIG. 6) can occur in various ways. For example, each of a set of scans (for example, 1-20 scans) are sent from the IPC 130 (or other system which holds the data, such as the ASM 130, datastore 120, etc.) to the client computing device 110 for further processing. This corresponds to a low network latency scenario and/or a relatively high performance client computing device 110, where the instrument data is sent directly to the client computing device 110 from the instrument(s) 125 or IPC(s) 1 0.
[0058] In another scenario, where the instrument data is generated by an instrument system 105 including a relatively high performance compute platform (e.g., IPC(s) 130 and/or ASM(s) 135), compute resource intensive calculations can be performed by the instrument system 105, with the results being sent to the client computing device 110. In this example, the relative importance of network latency or other data transfer latency can be reduced, as processed data volumes can be smaller than raw data volumes.
[0059] Similarly, in scenarios where the instrument system 105 and the client computing device 110 and/or the server(s) 115 are similar in terms of compute performance, the role of data transfer latency can become significant, determining at least in part whether computationally expensive processes arc performed at the instrument system 105 or the other components. In an example of MS data, averaging can be performed at the data source, such that network traffic is reduced, and averaged spectrum data can be returned to the client computing device 110, which then calculates annotations (e.g., for charges or isotopes).
[0060] As described in reference to FIG. 6, the example scenarios described here can form a part of data processing workflow segmentation. As part of processing MS profile data, algorithms making up the workflow (e.g., averaging, labelling, generating visualization data, etc.) can be executed by the instrument system 105 or by the client computing device 110, with the determination of which of the above three scenarios to be adopted to complete the workflow being based at least in part on the configuration of the components and the network.
EXAMPLE 2: METADATA ANALYSIS
[0061] Instrument data is often associated with metadata that allows spectra or other data to be referenced by one or more identifiers to describe a sample, scan, or the like. In the example of mass spectrometry data, metadata can include a label of the type of instrument that generated the data and the precursor mass of the sample, (e.g., “this scan is ms/ms data based on the anaysis of precursor mass 345.678”).
[0062] Metadata analysis can be useful as part of processing larger datasets. Further, metadata analysis can proceed without transferring the accompanying data. As metadata is often smaller than the scan data that it references, an instrument system 105 can transfer metadata to a client computing device 110, server 115, and/or datastore 120 as part of performing metadata anaysis. In an illustrative example, a client computing device can generate a query to “find all scans which have precursor mass in the range 345.670 to 345.700”. Such a query can return a set of metadata referencing spectra files that could be stored in a separate location. Even though metadata are typically small in size, where network latency is significant, it can be more efficient to send batches of these metadata (e.g., about 100 entries at a time) where an instrument has acquired a relatively large number of scans (e.g., about 1000 scans, about 100,000 scans, about one million scans, etc.). In this way, an algorithm to find data in a range can be run on the client computing device 110, referencing data stored at the instrument system 105. Alternatively, data reading and search algorithms can be executed by the instrument system 105 or a data server, such that a more compact result (e.g., a list of matching scans) can be transmitted over a relatively limited bandwidth network.
EXAMPLE 3: LOCAL VS. REMOTE CHARTING
[0063] With complex analytical data, such a mass spectrum that can contain a significant amount of annotation (e.g., charge and/or isotope information as noted above in reference to Example 1), data volume for an entire scan can be relatively large and can take a significant time to transmit over a network. Data visualization, such as generating chart data and/or rendering a mass spectrum as an interactable graph, can be a relatively compute intensive process that generates relatively small data volumes. For example, vector graphics data objects can be relatively small, compared to the data from which the objects are derived, which allows for less data to be transferred over networks for each view, where a new vector graphics object is generated at each request for a new level of data resolution. In some cases, scan data can be sent to the client computing device 110, such that vector data can be generated by the client
computing device. In some cases, vector data can be generated by the instrument system 105 and/or the server(s) 115 and sent to the client computing device. As scan data can include complex annotations that can depend on zoom levels, a user action such as “zoom” can implicate a network interaction to generate updated visualization data, for example, to retrieve detailed scan data and annotations at a given zoom level that are unavailable locally at the client computing device 110.
[00641 Based at least in part on on network parameters and available compute performance, workflow segmentation can be applied in various ways. For example, where data are already present on the client computing device 110, data processing workflows can be executed entirely on the client computing device 110. In another case, where data are stored at the instrument system 105, data server(s) 115, and/or datastore(s) 120, and are available over a low latency network (e.g., a local area network, or LAN, with <30ms ping time), data visualization operations can call scan data directly in response to requests received through the interactive user environment. In this way, scan data can be transferred to the client computing device 110 as requested and used to generate vector objects or other visualization data. Additionally and/or alternatively, visualization data can be generated at the instrument system 105 and transferred, where the determination is made at least in part on relative constraints on compute resources.
[0065] In another case, scan data are stored on the instrument system and the network 140 is a relatively high latency network (e.g., physically remote or distant network with >300ms ping). In such cases, data visualization workflows can be segmented to reduce data transfer operations, for example, by generating vector objects at the instrument system 105 or where the scan data are stored, and by generating “previews” in response to zoom requests that are populated with limited annotation data or other metadata while the updated visualization data are generated. Where the client computing device 110 is relatively low performance, data visualization workflows can be segmented to keep all operations at the instrument system 105 and/or the server 115, with relatively few or no operations applied to scan data or visualization data by the client computing device 110. Additionally, interactability of the visualization can be limited in such cases. In this way, embodiments of the present disclosure, based at least in part on system topology and device performance, include determining which segmentation approach results in improved customer experience, improved performance, and/or improved sample analysis.
[0066] FIG. 7 is a block flow diagram for an example process 700 for segmenting a data processing workflow, in accordance with some embodiments of the present disclosure. As described in reference to FIGS. 1-6, one or more operations making up the example process 700 can be executed and/or initiated by a computer system or other machine operably coupled with components of an analytical instrument (e.g., example the instrument(s) 125 of FIG. 1) and/or additional systems or subsystems including, but not limited to, characterization systems, network infrastructure, databases, controllers, relays, power supply systems, and/or user interface devices. To that end, operations can be stored as machine executable instructions in one or more machine readable media that, when executed by the computer system, can cause the computer system to perform at least a portion of the constituent operations of process 700. The constituent operations of process 700 can be preceded by, interspersed with, and/or followed by operation(s) that are omitted from the present description, such as sample and/or instrument preparation, operations that take place prior to operations 705 and 710, or the like, that form at least a part of an analytical method for processing a sample to generate spectral data as illustrated in FIGs. 5A-5B. To that end, operations of the example process 700 can be omitted, repeated, reordered, and/or replaced in some embodiments.
[0067] At operation 705, example process 700 includes determining a configuration of an instrument system (e.g., instrument system(s) 105 of FIG. 1). As described in more detail in reference to FIG. 1, the instrument system can include one or more analytical instruments 125 coupled with one or more IPCs 130. The IPC(s) 130 can be configured to receive raw data from the analytical instrument(s) 125, to process the raw data, and to communicate with one or more client computing devices 110 coupled with the instrument system. Determining the configuration can include one or more suboperations. As described in more detail in reference to FIGs. 2-3 the configuration can be based at least in part on a set of parameters describing hardware included in the instrument system (e.g., parameters 205, 210, and 305 of FIGs. 2-3) and/or in communication with hardware included in the instrument system. The hardware can be configured to process data and/or to transfer data between two or more components of the instrument system.
[0068] The suboperations of operation 705 can include determining a data processing latency for the instrument system(s), the client computing device(s), and/or the server(s) using the set of parameters describing the components, determining a data transfer latency for the hardware using the list of parameters, and/or determining a network transfer latency between the client
computing device(s), the server(s), and/or the instrument system. In this context, the data processing latency can be based at least in part on compute resources available at each respective component of the instrument system, as described in more detail in reference to FIGs. 2-5, and data transfer latency can be based at least in part on communication hardware and performance. For example, systems of the present disclosure can include a database of data processing capacity information and/or data transfer capacity information for the hardware (e.g., datastores 120, or the like). In this way, determining the latency parameters can include querying the database(s). As described in more detail in reference to FIG. 6 and the accompanying examples, determining the network latency can include assessing a data transfer rate between the client computing device and the instrument system over the network (e.g., via a ping or other operation).
[0069] In some embodiments, the configuration is updated and/or determined iteratively and/or dynamically. For example, a scheduled update to the configuration can be applied, an update can be triggered as part of implementing one of a set of data processing workflows (e.g., as described in reference to the examples accompanying FIG. 6), where the set can be defined, for example, in a reference or configuration file. Similarly, the configuration can be revised at the start of a sample analysis run by the instrument system. In some embodiments, the configuration is determined dynamically, as an approach to accounting for shifts in network performance and compute resource availability. For example, ASM(s) 135 can be shared between multiple instrument systems 105 (e.g., as in configuration 300 of FIG. 3), such that the compute resource availability and local network traffic can fluctuate. A dynamic configuration update can account for differences between the stated specification of the component and its current state. In some embodiments, the updated configuration and/or latency parameters can be used to modify the segmented data processing workflow.
[0070] At operation 710, example process 700 includes segmenting the data processing workflow based at least in part on the configuration. Segmenting the data processing workflow includes attributing at least a subset of constituent operations of the data processing workflow to the client computing device(s) 110, the IPC(s) 130, the ASM(s) 135, and/or the server(s) 115. In some embodiments, segmenting the data processing workflow includes defining a first subset of operations of the data processing workflow to be executed locally on the IPC(s) 130 using the raw data. Segmenting the data processing workflow can also include defining a second subset of operations of the data processing workflow to be executed locally on the client
computing device using processed data transferred to the client computing device 110 from the instrument system 105. As described in more detail in reference to FIGs. 4-5, the raw data can include analytical spectrum data, such that the first subset of operations can include implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data. The processed data can include compressed spectrum data and spectral analysis metadata, As described in more detail in reference to FIGs. 4-6 and the accompanying examples.
[0071] In some embodiments, one or more operations of the first subset of operations of the segmented data processing workflow are gated by user interactions via the client computing device(s) 110 and/or the IPC(s) 130. In this way, the second subset of operations can include initiating a data processing operation of the first subset of operations in accordance with receiving a user action via an interactive user environment.
[0072] In the preceding description, various embodiments have been described. For purposes of explanation, specific configurations and details have been set forth in order to provide a thorough understanding of the embodiments. However, it will also be apparent to one skilled in the art that the embodiments may be practiced without the specific details. Furthermore, well- known features may have been omitted or simplified in order not to obscure the embodiment being described. While example embodiments described herein center on spectrometry systems, and mass spectrometry systems in particular, these are meant as non-limiting, illustrative embodiments. Embodiments of the present disclosure are not limited to such embodiments, but rather are intended to address analytical instruments systems for which a wide array of material samples can be analyzed to determine chemical, biological, physical, structural, or other properties, among other aspects, including but not limited to chemical structure, trace element composition, or the like.
[0073] Some embodiments of the present disclosure include a system including one or more data processors and/or logic circuits. In some embodiments, the system includes a non- transitory computer readable storage medium containing instructions which, when executed on the one or more data processors and/or logic circuits, cause the one or more data processors to perform part or all of one or more methods and/or part or all of one or more processes and workflows disclosed herein. Some embodiments of the present disclosure include a computerprogram product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more data processors and/or logic circuits to
perform part or all of one or more methods and/or part or all of one or more processes disclosed herein.
[0074] The terms and expressions which have been employed are used as terms of description and not of limitation, and there is no intention in the use of such terms and expressions of excluding any equivalents of the features shown and described or portions thereof, but it is recognized that various modifications are possible within the scope of the claims. Thus, it should be understood that although the present disclosure includes specific embodiments and optional features, modification and variation of the concepts herein disclosed may be resorted to by those skilled in the art, and that such modifications and variations are considered to be within the scope of the appended claims.
[0075] Where terms are used without explicit definition, it is understood that the ordinary meaning of the word is intended, unless a term carries a special and/or specific meaning in the field of analytical instrument systems or other relevant fields. The terms “about” or “substantially” are used to indicate a deviation from the stated property within which the deviation has little to no influence of the corresponding function, property, or attribute of the structure being described. In an illustrated example, where a dimensional parameter is described as “substantially equal” to another dimensional parameter, the term “substantially” is intended to reflect that the two parameters being compared can be unequal within a tolerable limit, such as a fabrication tolerance or a confidence interval inherent to the operation of the system. Similarly, where a geometric parameter, such as an alignment or angular orientation, is described as “about” normal, “substantially” normal, or “substantially” parallel, the terms “about” or “substantially” are intended to reflect that the alignment or angular orientation can be different from the exact stated condition (e.g., not exactly normal) within a tolerable limit. For dimensional values, such as diameters, lengths, widths, or the like, the term “about” can be understood to describe a deviation from the stated value of up to ±10%. For example, a dimension of “about 10 mm" can describe a dimension from 9 mm to 11 mm.
[0076] The description provides exemplary embodiments, and is not intended to limit the scope, applicability or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing various embodiments. It is understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope as set forth in the appended claims. Specific details are given in the description to provide a thorough
understanding of the embodiments. However, it will be understood that the embodiments may be practiced without these specific details. For example, specific system components, systems, processes, and other elements of the present disclosure may be shown in schematic diagram form or omitted from illustrations in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, components, structures, and/or techniques may be shown without unnecessary detail.
Claims
1. A computer-implemented method for segmenting data processing workflows, the method comprising: determining a configuration of an instrument system, the instrument system including an analytical instrument coupled with an instrument PC (IPC), the IPC being configured to receive raw data from the analytical instrument, to process the raw data, and to communicate with a client computing device coupled with the instrument system; and segmenting a data process workflow based at least in part on the configuration, attributing at least a subset of constituent operations of the data process workflow to the client computing device or the IPC.
2. The computer-implemented method of claim 1, wherein segmenting the data process workflow comprises: defining a first subset of operations of the data process workflow, wherein the first subset of operations is executed locally on the IPC using the raw data; and defining a second subset of operations of the data process workflow, wherein the second subset of operations are executed locally on the client computing device using processed data transferred to the client computing device from the instrument system.
3. The computer-implemented method of claim 2, wherein the raw data comprises analytical spectrum data, and wherein the first subset of operations comprises implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data, the processed data comprising compressed spectrum data and spectral analysis metadata.
4. The computer-implemented method of claim 2, wherein the second subset of operations comprises in accordance with receiving a user action via an interactive user environment, initiating a data processing operation of the first subset of operations.
5. The computer-implemented method of claim 1, wherein determining the configuration of the instrument system comprises:
generating a set of parameters describing components of the instrument system, the parameters describing hardware included in the instrument system being configured to process data or to transfer data between two or more components of the instrument system; determining a data processing latency for the instrument system using the set of parameters; determining a data transfer latency for the instrument system using the set of parameters; or determining a network latency between the client computing device and the instrument system.
6. The computer-implemented method of claim 5, wherein determining the data processing latency comprises querying a database storing data processing capacity information for hardware.
7. The computer-implemented method of claim 5, wherein determining the data transfer latency comprises querying a database storing data transfer capacity information for the hardware.
8. The computer-implemented method of claim 5, wherein determining the network latency comprises assessing a data transfer rate between the client computing device and the instrument system.
9. The computer-implemented method of claim 1 , further comprising: generating an updated configuration of the instrument system; generating an updated latency parameter using the updated configuration; and modifying the segmented data process workflow using the updated latency parameter.
10. The computer-implemented method of claim 1, wherein the instrument system further comprises an application specific machine (ASM), operably coupled with the IPC and the client computing device, and wherein segmenting the data process workflow further comprises attributing at least a third subset of the operations included in the data process workflow to the ASM.
11. One or more non-transitory machine-readable storage media storing instructions that, when executed by a machine, cause the machine to perform operations for segmenting data processing workflows, the operations comprising:
determining a configuration of an instrument system, the instrument system including an analytical instrument coupled with an instrument PC (IPC), the IPC being configured to receive raw data from the analytical instrument, to process the raw data, and to communicate with a client computing device coupled with the instrument system; and segmenting a data process workflow based at least in part on the configuration, attributing at least a subset of constituent operations of the data process workflow to the client computing device or the IPC, wherein the raw data is retained in the instrument system.
12. The one or more non-transitory machine-readable storage media of claim 11, wherein segmenting the data process workflow comprises: defining a first subset of operations of the data process workflow, wherein the first subset of operations is executed locally on the IPC using the raw data; and defining a second subset of operations of the data process workflow, wherein the second subset of operations are executed locally on the client computing device using processed data transferred to the client computing device from the instrument system.
13. The one or more non-transitory machine-readable storage media of claim 12, wherein the raw data comprises analytical spectrum data, and wherein the first subset of operations comprises implementing one or more spectral analysis algorithms configured to input at least a portion of the raw data and to output the processed data, the processed data comprising compressed spectrum data and spectral analysis metadata.
14. The one or more non-transitory machine-readable storage media of claim 12, wherein the second subset of operations comprises, in accordance with receiving a user action via an interactive user environment, initiating a data processing operation of the first subset of operations.
15. The one or more non-transitory machine-readable storage media of claim 11, wherein determining the configuration of the instrument system comprises: generating a set of parameters describing components of the instrument system, the parameters describing hardware included in the instrument system being configured to process data or to transfer data between two or more components of the instrument system; determining a data processing latency for the instrument system using the set of parameters;
determining a data transfer latency for the instrument system using the set of parameters; or determining a network latency between the client computing device and the instrument system.
16. The one or more non-transitory machine-readable storage media of claim 15, wherein determining the data processing latency comprises querying a database storing data processing capacity information for the hardware.
17. The one or more non-transitory machine-readable storage media of claim 15, wherein determining the data transfer latency comprises querying a database storing data transfer capacity information for the hardware.
18. The one or more non-transitory machine-readable storage media of claim 15, wherein determining the network latency comprises assessing a data transfer rate between the client computing device and the instrument system.
19. The one or more non-transitory machine-readable storage media of claim 11, further comprising: generating an updated configuration of the instrument system; generating an updated latency parameter using the updated configuration; and modifying the segmented data process workflow using the updated latency parameter.
20. The one or more non-transitory machine-readable storage media of claim 11, wherein the instrument system further comprises an application specific machine (ASM), operably coupled with the IPC and the client computing device, and wherein segmenting the data process workflow further comprises attributing at least a third subset of the operations included in the data process workflow to the ASM.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US18/166,914 | 2023-02-09 | ||
| US18/166,914 US12333344B2 (en) | 2023-02-09 | 2023-02-09 | Techniques for segmentation of data processing workflows between instrument systems and associated computing devices |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024167685A1 true WO2024167685A1 (en) | 2024-08-15 |
Family
ID=92215761
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/012968 Ceased WO2024167685A1 (en) | 2023-02-09 | 2024-01-25 | Techniques for segmentation of data processing workflows in instrument systems |
Country Status (2)
| Country | Link |
|---|---|
| US (2) | US12333344B2 (en) |
| WO (1) | WO2024167685A1 (en) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190130994A1 (en) * | 2016-04-11 | 2019-05-02 | Discerndx, Inc. | Mass Spectrometric Data Analysis Workflow |
| US20200158697A1 (en) * | 2018-11-21 | 2020-05-21 | Waters Technologies Ireland Limited | Techniques for evaluating analytical instrument performance |
| US20210384024A1 (en) * | 2018-05-31 | 2021-12-09 | Micromass Uk Limited | Mass spectrometer |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6076124A (en) * | 1995-10-10 | 2000-06-13 | The Foxboro Company | Distributed control system including a compact easily-extensible and serviceable field controller |
| US7013232B2 (en) * | 2001-08-15 | 2006-03-14 | National Insurance Corporation | Network-based system for configuring a measurement system using configuration information generated based on a user specification |
| JP5793967B2 (en) * | 2011-05-31 | 2015-10-14 | 日本電気株式会社 | Environmental risk analysis system, environmental risk analysis method, and program |
| WO2016195896A1 (en) * | 2015-06-05 | 2016-12-08 | Abbott Point Of Care Inc. | Systems and methods for assuring quality compliance of point-of-care instruments used with single-use testing devices |
| US10693737B1 (en) * | 2017-09-29 | 2020-06-23 | Charter Communications Operating, Llc | Universal alias and dependency models and network analysis |
| US20210125275A1 (en) * | 2019-10-29 | 2021-04-29 | Talkdesk, Inc. | Methods and systems for customer identifier in data management platform for contact center |
| US20210133805A1 (en) * | 2019-10-30 | 2021-05-06 | Talkdesk, Inc. | Methods and systems for proactive marketing platform in data management platform for contact center |
-
2023
- 2023-02-09 US US18/166,914 patent/US12333344B2/en active Active
-
2024
- 2024-01-25 WO PCT/US2024/012968 patent/WO2024167685A1/en not_active Ceased
- 2024-12-10 US US18/976,061 patent/US20250147814A1/en active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190130994A1 (en) * | 2016-04-11 | 2019-05-02 | Discerndx, Inc. | Mass Spectrometric Data Analysis Workflow |
| US20210384024A1 (en) * | 2018-05-31 | 2021-12-09 | Micromass Uk Limited | Mass spectrometer |
| US20200158697A1 (en) * | 2018-11-21 | 2020-05-21 | Waters Technologies Ireland Limited | Techniques for evaluating analytical instrument performance |
Also Published As
| Publication number | Publication date |
|---|---|
| US12333344B2 (en) | 2025-06-17 |
| US20250147814A1 (en) | 2025-05-08 |
| US20240272956A1 (en) | 2024-08-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Hutchins et al. | LipiDex: an integrated software package for high-confidence lipid identification | |
| Castillo et al. | Algorithms and tools for the preprocessing of LC–MS metabolomics data | |
| Nair et al. | An introduction to clustering algorithms in big data | |
| AU2018268991B2 (en) | Method of data aggregation for cache optimization and efficient processing | |
| KR20210038472A (en) | Method and apparatus for searching multimedia content, device, and storage medium | |
| JP2023152270A (en) | Data labeling method, device, electronic device, storage medium, and program using artificial intelligence | |
| Starostin et al. | End-to-end deep learning pipeline for real-time processing of surface scattering data at synchrotron facilities | |
| US12333344B2 (en) | Techniques for segmentation of data processing workflows between instrument systems and associated computing devices | |
| Gröger et al. | Application of parallel computing to speed up chemometrics for GC× GC–TOFMS based metabolic fingerprinting | |
| US20230420234A1 (en) | Systems and Method for Image and/or Video Processing of Mass Spectrometry Data | |
| Holmberg et al. | Jet energy calibration with deep learning as a Kubeflow pipeline | |
| Handy et al. | Fast, axis-agnostic, dynamically summarized storage and retrieval for mass spectrometry data | |
| Permiakova et al. | CHICKN: extraction of peptide chromatographic elution profiles from large scale mass spectrometry data by means of Wasserstein compressive hierarchical cluster analysis | |
| US7610293B2 (en) | Correlation of resource usage in a database tier to software instructions executing in other tiers of a multi tier application | |
| CN112308644A (en) | Method and device for processing description information | |
| US12462451B2 (en) | Reuse of infographics | |
| WO2023098593A1 (en) | Data processing method and apparatus | |
| US12586769B2 (en) | Parallel processing and horizontal scaling for peak detection | |
| US20240404809A1 (en) | Support systems for mass spectrometry scientific instruments | |
| CN107292893A (en) | Image processing apparatus, image processing method and image processing equipment | |
| Zhang et al. | Fast point cloud simplification method based on optimized feature sampling and geometric continuity preservation | |
| Yu et al. | Open Source Spatial Reactomics (OSSpRe) Workflow for Trapped Ion Mobility Spectrometry (TIMS) Coupled with High Resolution Mass Spectrometry Imaging | |
| CN119166537B (en) | Database extreme test case generation method, database extreme test method | |
| Zhang et al. | Research on distributed heterogeneous data PCA algorithm based on cloud platform | |
| Emara et al. | A Random Sample Partition Data Model for Big Data Analysis |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24753788 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 24753788 Country of ref document: EP Kind code of ref document: A1 |