Data-processing method management systems and methods for scientific instruments
A centralized data processing method library for scientific instruments addresses the limitations of embedded algorithms by enabling flexible, efficient, and compliant management of data processing methods, including AI/ML, improving accuracy and reducing manual intervention.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- THERMO ELECTRON NORTH AMERICA LLC
- Filing Date
- 2025-10-28
- Publication Date
- 2026-05-07
AI Technical Summary
Existing data processing algorithms in scientific instruments are embedded in software code, limiting flexibility, efficiency, and requiring manual updates, which is inefficient and risky in regulatory environments.
A centralized, external data processing method library allows users to manage and update algorithms separately from the user-facing application, enabling flexible, efficient, and regulated management of data processing methods, including AI/ML algorithms, with version control and training interfaces.
This approach enhances data processing flexibility, reduces manual intervention, improves accuracy, and ensures compliance by allowing users to tailor algorithms to specific sample types, track versions, and visually review algorithm performance, reducing the need for frequent manual edits and enhancing regulatory compliance.
Smart Images

Figure US2025052784_07052026_PF_FP_ABST
Abstract
Description
Atty. Docket No. [TP388697WO1]DATA-PROCESSING METHOD MANAGEMENT SYSTEMS AND METHODS FOR SCIENTIFIC INSTRUMENTSCross-Reference to Related Applications
[0001] This application claims priority to U.S. Provisional Application No. 63 / 712,671, filed October 28, 2024, titled "DATA-PROCESSING METHOD MANAGEMENT SYSTEMS AND METHODS FOR SCIENTIFIC INSTRUMENTS”, the entire disclosure of which is hereby incorporated by reference in its entirety.Background
[0002] The field of analytical chemistry encompasses a variety of techniques for the separation, identification, and quantification of chemical components within complex mixtures, with chromatography and capillary electrophoresis being among the most widely utilized methods. Such techniques can generate data that require sophisticated analysis to extract meaningful insights. In many instances, software is used for processing of data, analyzing the data, and / or visualizing analytical results.Summary
[0003] A computer-implemented method for processing scientific instrument data is disclosed. The method comprises displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application, , wherein the data processing method library is accessible by a user through a data processing method management interface served by the first environment to the user application, receiving a selection, by a user, of one of the data processing methods from the data processing method library to be used on sample data, executing the selected data processing method to process the sample data, and displaying results of the executed data processing method to the user.
[0004] A computer-implemented method for adaptive data processing of analytical instrument sample data acquired during an instrument run containing a plurality of different sample types is disclosed. The method comprises receiving an indication of a first sample type of a first portion of the analytical instrument sample data, comparing the received indication of first sample type with the plurality of data processing methods stored in a data processing method library, determining a best-fit data processing method for the first portion of the analytical instrument sample data based on the comparison of the first sample type and the plurality of data processing methods, receiving an indication of a second sample type of a second portion of the analytical instrument sample data, wherein the second sample type is different than the first sample type, comparing the received indication of the second sample type with the plurality of data processing methods stored in the data processing method library, determining a best-fit data processing method for the second portion of the analytical instrument sample data based on the comparison of the second sample type and the plurality of data processing methods, wherein the best-fit data processing methods for the first portion and the second portion are different, executing the determined best-fit data processing method for the first portion of the analytical instrument sample data on the first portion, executing the determined best-fit dataAtty. Docket No. [TP388697WO1] processing method for the second portion of the analytical instrument sample data on the second portion, and displaying the processed results of each execution to a user.
[0005] A computer-implemented method for processing scientific instrument data is disclosed. The method comprises displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application, , wherein the data processing method library is accessible by a user through a data processing method management interface served by the first environment to the user application, receiving a selection, by a user, of one of the data processing methods from the data processing method library to be trained, display the selected data processing method within a training interface, training the selected data processing method with training data within the training interface, executing the trained selected data processing method to process test data to generate a confidence score within the training interface, and releasing the trained selected data processing method for use within the data processing method library upon the confidence score exceeding a predetermined threshold.Brief Description of the Drawings
[0006] Embodiments will be readily understood by the following detailed description in conjunction with the accompanying drawings. To facilitate this description, like reference numerals designate like structural elements. Embodiments are illustrated by way of example, not by way of limitation, in the figures of the accompanying drawings.
[0007] FIG. 1 is a block diagram of an example scientific instrument support module for performing support operations, in accordance with various embodiments.
[0008] FIG. 2 is a flow diagram of an example method for performing support operations, in accordance with various embodiments.
[0009] FIG. 3 is a block diagram of an example scientific instrument support module for performing support operations, in accordance with various embodiments.
[0010] FIG. 4 is a flow diagram of an example method for performing support operations, in accordance with various embodiments.
[0011] FIG. 5 is a block diagram of an example scientific instrument support module for performing support operations, in accordance with various embodiments.
[0012] FIG. 6 is a flow diagram of an example method for performing support operations, in accordance with various embodiments.
[0013] FIG. 7 is a block diagram of an example scientific instrument support module for performing support operations, in accordance with various embodiments.
[0014] FIG. 8 is a flow diagram of an example method for performing support operations, in accordance with various embodiments.
[0015] FIG. 9 is an example of a graphical user interface that may be used in the performance of some or all of the support methods disclosed herein, in accordance with various embodiments.Atty. Docket No. [TP388697WO1]
[0016] FIG. 10 is a block diagram of an example computing device that may perform some or all of the scientific instrument support methods disclosed herein, in accordance with various embodiments.
[0017] FIG. 11 is a block diagram of an example scientific instrument support system in which some or all of the scientific instrument support methods disclosed herein may be performed, in accordance with various embodiments.
[0018] FIG. 12 is a block diagram of an example data processing method library and corresponding components used with the data processing method library, in accordance with various embodiments.
[0019] FIG. 13 is an example of portions of a graphical user interface for managing data processing methods, in accordance with various embodiments.
[0020] FIG. 14 depicts a graphical representation of processed data including performance feedback labels corresponding to a data processing method used to process the data, in accordance with various embodiments.
[0021] FIG. 15 depicts a graphical representation of processed data including performance feedback labels corresponding to a data processing method used to process the data, in accordance with various embodiments.
[0022] FIG. 16 is an example of graphical user interface components for managing data processing methods in a training environment where users can define, from a library of data files, which data to use for training of a selected method and which data to use for testing of the selected method, in accordance with various embodiments.
[0023] FIG. 17 is an example of graphical user interface components for managing data processing methods, in accordance with various embodiments.
[0024] FIG. 18 is a block diagram of an example data processing method management system, in accordance with various embodiments.Detailed Description
[0025] Disclosed herein are scientific instrument support systems, as well as related methods, computing devices, and computer-readable media. For example, in some embodiments, data-processing method management systems for scientific instruments are disclosed.
[0026] Disclosed herein are scientific instrument support devices for the processing of data acquired from various separations techniques (e.g. liquid chromatography, Ion chromatography, Gas chromatography, capillary electrophoresis, and similar) with various detectors (e.g. Ultraviolet (UV) - variable, fixed or diode array, Fluorescence (FLR), Refractive index (Rl), Electron capture (ECD), Mass Spectrometry (MS), Charged Aerosol Detection (CAD), and similar). In many instances, this data is produced in two dimensions (a parameter vs time) and / or in 3 dimensions where the third dimension is over a range of the detector (e.g., m / z from 200 to 4000 in the case of MS detection). For the processing of the 2D and / or 3D data, there are mathematical algorithms that are created that weigh relative readings and / or find mathematical significance in the readings (such as slope change over time) and then transmute or act upon those data in response to settings or thresholds set by users or calculated by the algorithm in a different way. This defined algorithmAtty. Docket No. [TP388697WO1] for "processing" the data produces an event (such as a drawn baseline) and from that set of events, will generate results that measure values (such as peak area under the curve, peak height, peak width, etc.).
[0027] Data processing algorithms have traditionally been embedded into the software code where users may have the ability to select between embedded data processing algorithms and adjust the settings for the selected algorithm to be used for processing data. However, having the data processing algorithms embedded in the user application code may introduce several challenges. For example, embedded data processing algorithms can be limited in adjustment unless the user interacts with the application code, which can be very difficult, inefficient, and unpredictable, for example. In regulatory environments, modifying application code to adjust data processing algorithms can also be problematic. A central, externally managed library of data processing methods can overcome and address these challenges.
[0028] Embodiments disclosed herein allow for the ability to house data processing algorithms separate from the user-facing software application in an external data processing method library. The user-facing application can then consume the data processing methods, or algorithms, from the external data processing method library. The code for these methods / algorithms can be written as downloadable and editable file types where users would have the ability to add, edit, retrieve, and manage the methods within the method library using the user-facing application as a gateway. This can prevent a user from having to update or interact with application code of the user-facing application when new data processing methods are desired or when the user wants to update existing data processing methods.
[0029] Examples of methods / algorithms that can be contained in the library for editable use can include machine learning algorithms that could be trained by system data, traditional mathematical based algorithms that have configurable settings and thresholds, or future algorithms of unknown types based on new mathematical basis.
[0030] Embodiments disclosed herein can allow a user to introduce and manage data processing methods for the purpose of data processing as the data processing methods are develop in a use-case based way. Where software and / or algorithms change (e.g. as artificial intelligence and machine learning advances in the field), the traditional embedded algorithm approach can be costly in time in an effort to keep up with the speed of development of new data processing methods. By adding algorithms / methods to the external data processing method library and having the user-facing application consume them from the external data processing method library, the library supports the ability to introduce new commercially trained algorithms or methods which can be more specific to an application (e.g., a standard EPA processing method) and also allow users to have more development flexibility while not requiring the user-facing application be edited (e.g., recoded). Where a new machine learning algorithm with unknown statistical tools is developed, for example, that algorithm can be introduced into the user-facing application without having to embed it into the code of the application. In at least one instance, the new algorithm / methods can be uploaded as a file to the external data processing method library and consumed by the user-facing application without the need for involved edits to the application.Atty. Docket No. [TP388697WO1]
[0031] Embodiments disclosed herein can also allow for the tracking of data processing methods / algorithms versions and metadata surrounding the algorithms / methods contained within the library. Embodiments disclosed herein can also allow for certain algorithms / methods to be present in the library but have their use restricted until they are released through version control and / or other release triggers.
[0032] Embodiments disclosed herein can also allow for the quick deployment of scientific-specific data processing methods. In at least one instance, a user can search the method library for a specific type of data processing method using sample data and / or a keyword search, for example. Embodiments disclosed herein can also allow a user to train data processing methods / algorithms with their own training data in a controlled training environment where a user can test data processing methods and release the data processing methods for use by the user-facing application.
[0033] Embodiments disclosed herein can further allow a user to select different data processing methods for each sample line in an analysis so that the user can tailor their data processing to a particular sample type. For example, a first machine learning algorithm can be trained against a standard sample type and a second machine learning algorithm can be trained against a degraded sample type. The user can then specify that the first machine learning algorithm should be used when processing data of a standard sample type and that the second machine learning algorithm should be used when processing data of a degraded sample type. The sample type can be input into the software by the user or can be automatically detected using the sample data and / or the sample metadata, for example.
[0034] For data processing of a sequence of injections that includes differing sample types (e.g., blanks, standards, controls, samples, degraded samples, etc.), traditional techniques only allow the ability to select a single algorithm to process all of the samples with the same algorithm despite the variability in the samples. Generating calculations based on the data analysis of different sample types using a single data processing algorithm that is not sample-specific can result in less accurate or useful calculations (e.g. a calibration curve from multiple standards that is used for the calculation of an unknown). This restricted workflow in conventional approaches can produce results that a user does not agree with for specific samples because the method or data processing settings in a single data processing method are not able to compensate for the variability in the sample data (sample type, for example). Embodiments disclosed herein can reduce the need for users to manually correct incorrect data processing results which can take additional time and introduce additional human error.
[0035] Embodiments disclosed herein can allow users the ability to select an algorithm more suited to a specific sample type, allow users to train AI / ML algorithms in a specific way to be more effective for processing data of a specific sample type, reduce the need for users to modify the algorithm for every run and / or individually modify specific results, and / or reduce the need for users to create complex review procedures, justify occurrences, or dedicate time to study and optimize algorithms that are producing incorrectly processed results. Thus, embodiments disclosed herein can increase confidence in processed results in regulated environments.Atty. Docket No. [TP388697WO1]
[0036] For example, an analyst may be required to group sample types together that are run with the same method in order to save instrument time for data processing. The analyst receives a four-month degraded sample, fractions that represent different portions of a fractionated sample, and release samples which all must be grouped with blanks, standards, and controls to demonstrate system suitability for the analysis. All of the samples have different chromatography results because they are from different points in the process. A user can employ embodiments disclosed herein to select a "standard" algorithm to generate results from the blanks, standards, controls, and release sample while also selecting a "degraded" algorithm for the stability sample and a "fractions" algorithm for the fractionated samples. The resulting data from each sample type can be processed with their corresponding algorithms that were selected by the user and produce more appropriate results that require minimal to zero intervention. In at least one instance, the algorithms are selected automatically by the systems disclosed herein by looking at metadata, or other information attached to the sample data, to determine a best suited data processing algorithm for each sample data.
[0037] Embodiments disclosed herein can allow users the ability to standardize algorithms that don't require editing for every analysis to try to compensate for sample variability. For example, a user can employ a long-standing algorithm for samples that are always tested or have consistent data (standards, controls, blanks, drug substance release, etc.). Embodiments disclosed herein can allow users to develop separate algorithms as a method is used for different sample types with less consistent data. For example, a user can create a new algorithm specific to progressive stability studies, process development, fractionation, degradation studies, etc. Embodiments disclosed herein can reduce the need for a user to edit methods which can pose a results quality risk. Embodiments disclosed herein can reduce the need to manually intercede in order to address results generated by an algorithm poorly suited to a specific data type which can also pose a results quality risk.
[0038] Algorithms have traditionally been embedded into the software code where users may have the ability to select between embedded algorithms and adjust the threshold settings for those algorithms for their immediate processing and the adjusted algorithm can be saved as a processing method file to be used. Processing methods have a lifecycle (create, edit, delete) where software with compliant features can be configured to deny users the ability to perform these actions - but where these actions are binary - e.g. users can edit or not, but there is no restriction on the editing severity. In regulated environments, there is a high scrutiny placed on who, when, and what was changed when processing methods are used and / or changed for subsequent analysis performed at different times over the lifecycle of the product being tested.
[0039] Embodiments disclosed herein allow users to create new methods of different types including AI / ML methods. Embodiments disclosed herein allow a user to manage new methods within a training interface where examples could be pulled into this interface to develop the method through either threshold setting and / or AI / ML model training based on example data entry. The methods can then be tested on selected test data. The methods can then be released once that method is determined to be ready (basedAtty. Docket No. [TP388697WO1] on a variety of factors, user-initiated and / or machine initiated) with optional controlled electronic signature steps.
[0040] Embodiments disclosed herein allow a user to introduce new and / or modified AI / ML algorithms that users train themselves. Because AI / ML training requires many (hundreds, for example) of examples to produce a well-trained algorithm, and because customers will have different chromatography needs and will integrate their chromatography data differently than other customers, there exists a need for an interface where users can select which data to use for training particular data processing methods and / or which data to use for testing data processing methods with the workflow ability to perform those actions. In some embodiments, the interface can be separate from the results that are generated specifically for reporting.
[0041] Embodiments disclosed herein provide a more comprehensive data processing method management system. In conventional approaches, processing methods are validated as a part of method validation, however, where users are forced to edit them frequently to meet changing chromatograph variability, they are questioned on the validation of those processing methods. Embodiments disclosed herein can separate the management of processing methods out of the data analysis workflow and allows for users to take advantage of controlled steps, the ability to trend, restrict, compare, and proof changes prior to new versions of a method being released for use.
[0042] Conventional approaches require processing method changes be scrutinized through the use of comparison tools (past and current results comparison and past and current setting comparison) and through text audit trails which is a labor-intensive process for customers that requires they know exactly where changes can occur and where to look for them in the software. Embodiments disclose herein centralize data processing method management into an interface allowing for the design of better review tools, a more granular release mechanism for processing method changes, and would keep a system record of proof testing for users to support any verification requirements when they edit the processing method thresholds or retrain the AI / ML based on new examples.
[0043] In at least one instance, a user can utilize an AI / ML algorithm for processing sample data by downloading an algorithm file from a method library and / or creating a new algorithm file and selecting the algorithm / file in the method management interface for training / testing. From the method management interface, the user queries files that include approved integration results data in the interface and select which of the files they want to use for training the selected algorithm and which of the files they want to use for testing the selected algorithm. The user can then initiate training of the selected algorithm where the algorithm will be trained with the results files selected for training. The resulting algorithm can be considered a test algorithm and can be associated with a confidence score. Using that test algorithm, the user can then process the previously selected test results files with the test algorithm. The results of test can be used to score the performance of the test algorithm. If the results are adequate (determined by a user, or automatically), the test algorithm can then be released for general use into a method library with the option of viewing details of the creation of the algorithm (e.g., e-signature review cycle, who created it, how was itAtty. Docket No. [TP388697WO1] created, what training data was used, what testing data was used, who approved it, when was it approved, etc.).
[0044] In at least one instance, a user can edit a data processing algorithm / method based on unsatisfactory performance, for example. The user can select an existing algorithm (stored in the method library, for example) in the method management interface (such as a training environment, or interface, for example. From the interface, the user can query test files (including results data, for example) that are not integrated and change thresholds and / or settings that are applied to those files to produce approved results. If the results are adequate, the user can release the method for general use into the method library with the option of viewing details of the creation of the algorithm (e.g., e-signature review cycle, who created it, how was it created, what training data was used, what testing data was used, who approved it, when was it approved, etc.).
[0045] Embodiments disclosed herein further allow a user to audit the testing process of an algorithm. The user can select an existing algorithm (stored in the method library, for example) in the method management interface. From the interface, the user can see the modeled results of the training and testing in a graphical display (including historical trends, for example). For example, a user can see a retention time placement of events with an error bar to display where that has occurred in all of the training data or an ideal model created out of all the training examples with a percent difference and / or overlay of the current injection to visually demonstrate differences.
[0046] In at least one instance, a user can audit an algorithm history from the method management interface. The user can select an existing algorithm in the method management interface. The user can see version history (who, when, why, what saved different), comparisons between settings / metadata, and / or lifecycle history for each version (create, reviewed, approved e-signatures).
[0047] Embodiments disclosed herein allow users to graphically review the results generated by an AI / ML algorithm on a new "raw" data against the results generated during the testing of the AI / ML algorithm. For example, a user can select 100 results to train an AI / ML model to generate a visual model that is a compilation of those 100 results and / or to create a statistical window of confidence where the baseline is assigned as a colorized bar, or some combination or otherwise visual model is created. The visual model can then be overlaid with the new singular result that was generated with the particular AI / ML algorithm so that users can see where the placement of the baseline is within the statistical window of confidence and / or where the new singular result is different from the visual model representing the data used to train the AI / ML model for the purposes of review.
[0048] Where users adopt AI / ML models from a method management interface, for example, users can review the confidence or goodness-of-fit of a selected model against any new data it processed. In this way, a user can ensure that the model was adequately trained and is operating as expected.
[0049] Where the industry has required that users track trends of their processing methods over time to assess the data quality risk from users changing the settings, embodiments disclosed herein provide theAtty. Docket No. [TP388697WO1] user with the ability to see results trends to see how the AI / ML model has changed over time. Embodiments disclosed herein allow a user to visually inspect trending results as an AI / ML model is used.
[0050] A user selects new data and processes it with the AI / ML algorithm. In the review window they can see a combined trace for all of the training data used above the trace of the test data. They can overlay the model data with the new data and see where the traces don't line up together and determine uncertainty in the AI / ML event placement where the two traces are radically different.
[0051] Data processing results obtained using AI / ML data processing methods may be subject to higher levels of uncertainty and trust due to their complexity and lack of understanding in the field of how the results are calculated. Embodiments disclosed herein give users a visual way to review historical results and / or see trends in the data that were used to train the model. Embodiments disclosed herein can provide a visual indication of goodness-of-fit and / or model performance, for example. Embodiments disclosed herein also allow a user to assign confidence intervals to event placements in the results.
[0052] In some instances, users may have difficulty in understanding the performance impact of a processing method that changes (retrained, for example) over time. Embodiments disclosed herein include an interface to review the historical trends against real-time data analysis. This may offer a more robust investigative tool to users as compared to comparing underlying settings or training data, for example, in version one vs version two and trying to decipher or predict the performance impact thereof.
[0053] In at least one embodiment, a user selects data to be processed and processes it with a selected AI / ML algorithm. In a results review window, the user can see a combined trace for all of the training data used above the trace of the test data. The user can overlay the model data with the new data and see where the traces don't line up together and determine uncertainty in the AI / ML event placement where the two traces are radically different.
[0054] A user can also select to display the standard deviation bars for the peak placement from the model training data on top of the new data to see how close the new data peak placement is to historical data.
[0055] In at least one instance, a user can make a judgement that the resultant peak placements of an AI / ML algorithm are within a standard deviation and that the trace is close enough to the model and trusts the results generated by the AI / ML integration without having to intervene.
[0056] In conventional approaches, data has to be manually trended after the data is processed by a user who would go through the result list and create an overlay of all of the traces. This method is reliant on human eye as there is no standard deviation calculation performed. The user would also have to look through the integration method changes by comparing results generated with version one settings to results generated with version two (and other versions), where the settings differences were only reviewable as numerical changes (e.g., threshold was 0.02 and changed to 0.03) and then interpret if those changes made a difference in the overlays for the processed data.
[0057] Embodiments disclosed herein can create a graphical representation of historical data trends without users having to create it manually or interpret it manually. While users could review changes manually, a visual basis for the model results can be created by automatically creating a model of theAtty. Docket No. [TP388697WO1] training data. The model result of the training data can then be compared back to the current data processing result without having to trend them manually.
[0058] Embodiments are disclosed herein which offer a network-accessible (open network, VPN, and / or SaaS) user interface for ML algorithm creation, testing, and / or reviewing for customers. Embodiments disclosed herein include a publicly available interface, hosted by a vendor, for example, where users can submit any suitable data files from any suitable application such as an external application, for example, to create a new data processing method (train / create a new ML model, for example), select files and test the ML model, and / or review the results of that ML model as a "trial" or "demo" without having to locally install the data processing method. The data processing methods can be network-accessible to train over a network, test over a network, review over a network, modify over a network, etc., prior to locally installing the data processing method. In at least one instance, users can deploy data processing methods permanently from the network-accessible location without having to ever install the data processing method locally.
[0059] Embodiments disclosed herein can be used during sales-engagements and / or for pre-sales trials to allow users to trial ML algorithms on their own data files. Embodiments disclosed herein can also allow users to judge the effectiveness, usefulness, accuracy of all of the available ML tools for their specific use case to identify a best fit, for example. Embodiments can also allow the ML algorithm host the ability to enhance user experience after deployment to a customer for training purposes and / or as a support model for product transition support.
[0060] In at least one instance, a user loads 500 exported result files (files that have been processed and have integration supplied) generated by a second chromatography data software / system into a location to be used with the data processing management systems disclosed herein, selects that 450 be used to train the network-accessible model and 50 be used to test the network-accessible model. The network-accessible model is then trained (in the cloud, for example) to produce a new ML algorithm. The test files are then used to test the new ML algorithm. The test files have a version supplied by the user that is integrated previously, but the new ML model is applied to the RAW file information to produce a "new result" that is a product of the ML algorithm. The user then engages an interface where they can review the results of the new ML model against the provided result version generated by the second chromatography data software / system and analyze any differences to determine how well the new ML performed. The user also can have access to any statistical analysis performed from the 450 training injections (e.g. standard deviation of retention time, drop line placement) so they can review and compare the supplied result files against the results from the new ML algorithm. In at least one instance, the user can have the option to save the new ML algorithm in the network-accessible location and / or upload the ML algorithm into their local repository. In at least one instance, all training and results data used to train the algorithm is permanently deleted upon exiting the network-accessible system.
[0061] The scientific instrument support embodiments disclosed herein may achieve improved performance relative to conventional approaches as discussed herein. The embodiments disclosed hereinAtty. Docket No. [TP388697WO1] thus provide improvements to scientific instrument technology (e.g., improvements in the computer technology supporting such scientific instruments, among other improvements).
[0062] Various ones of the embodiments disclosed herein may improve upon conventional approaches to achieve the technical advantages of increased integration accuracy, higher throughput, flexible data processing method management, easier implementation and / or release of new data processing methods, more precise access control and tracking of data processing methods, allowing users to further edit, review, and deploy customer-specific data processing methods, allow users to further define data processing methods (ML models, e.g.) to be more specific to their use-cases, reducing the need for users to constantly edit generic processing methods for each use case using only one adjustable parameter, allowing users to manage new data processing methods themselves within a separate interface, allowing users additional review, editing, training, and / or testing tools for data processing methods within the interface, controlling the release of new data processing methods, tracking new data processing methods, assessing strength of new data processing methods as compared to other data processing methods, by providing the data processing method management systems disclosed herein. Such technical advantages are not achievable by routine and conventional approaches, and all users of systems including such embodiments may benefit from these advantages (e.g., by assisting the user in the performance of a technical task, such as managing data processing methods, by means of a guided human-machine interaction process). The technical features of the embodiments disclosed herein are thus decidedly unconventional in the field of data processing, as are the combinations of the features of the embodiments disclosed herein. As discussed further herein, various aspects of the embodiments disclosed herein may improve the functionality of a computer itself. The computational and user interface features disclosed herein do not only involve the collection and comparison of information but apply new analytical and technical techniques to change the operation of data analysis. The present disclosure thus introduces functionality that neither a conventional computing device, nor a human, could perform.
[0063] Accordingly, the embodiments of the present disclosure may serve any of a number of technical purposes, such as controlling a specific technical system or process; determining from measurements how to control a machine; determining properties of a human subject by processing data obtained from physiological sensors; providing estimates and confidence intervals for biological samples. In particular, the present disclosure provides technical solutions to technical problems, including but not limited to allowing users to manage data processing methods. In at least one instance, the embodiments disclosed herein eliminate the need for embedded code within a software application to be altered, or updated, every time a data processing method is updated, or released, by sourcing the data processing methods from an environment external to the environment hosting the software application and allowing the software application to consume the data processing methods from the external environment.
[0064] The embodiments disclosed herein thus provide improvements to data analysis technology (e.g., improvements in the computer technology supporting scientific instruments, among other improvements).Atty. Docket No. [TP388697WO1]
[0065] In the following detailed description, reference is made to the accompanying drawings that form a part hereof wherein like numerals designate like parts throughout, and in which is shown, by way of illustration, embodiments that may be practiced. It is to be understood that other embodiments may be utilized, and structural or logical changes may be made, without departing from the scope of the present disclosure. Therefore, the following detailed description is not to be taken in a limiting sense.
[0066] Various operations may be described as multiple discrete actions or operations in turn, in a manner that is most helpful in understanding the subject matter disclosed herein. However, the order of description should not be construed as to imply that these operations are necessarily order dependent. In particular, these operations may not be performed in the order of presentation. Operations described may be performed in a different order from the described embodiment. Various additional operations may be performed, and / or described operations may be omitted in additional embodiments.
[0067] For the purposes of the present disclosure, the phrases "A and / or B" and "A or B" mean (A), (B), or (A and B). For the purposes of the present disclosure, the phrases "A, B, and / or C" and "A, B, or C" mean (A), (B), (C), (A and B), (A and C), (B and C), or (A, B, and C). Although some elements may be referred to in the singular (e.g., "a processing device”), any appropriate elements may be represented by multiple instances of that element, and vice versa. For example, a set of operations described as performed by a processing device may be implemented with different ones of the operations performed by different processing devices. As used herein, the phrase "based on” should be understood to mean "based at least in part on,” unless otherwise specified.
[0068] The description uses the phrases "an embodiment," "various embodiments,” and "some embodiments," each of which may refer to one or more of the same or different embodiments. Furthermore, the terms "comprising," "including," "having," and the like, as used with respect to embodiments of the present disclosure, are synonymous. When used to describe a range of dimensions, the phrase "between X and Y" represents a range that includes X and Y. As used herein, an "apparatus” may refer to any individual device, collection of devices, part of a device, or collections of parts of devices. The drawings are not necessarily to scale.
[0069] FIGS. 1, 3, 5, and 7 are block diagrams of examples of scientific instrument support modules 1000, 1100, 1200, and 1300 for performing support operations, in accordance with various embodiments. The scientific instrument support modules 1000, 1100, 1200, and 1300 may be implemented by circuitry (e.g., including electrical and / or optical components), such as a programmed computing device. The logic of the scientific instrument support modules 1000, 1100, 1200, and 1300 may be included in a single computing device, or may be distributed across multiple computing devices that are in communication with each other as appropriate. Examples of computing devices that may, singly or in combination, implement the scientific instrument support modules 1000, 1100, 1200, and 1300 are discussed herein with reference to the computing device 4000 of FIG. 10, and examples of systems of interconnected computing devices, in which the scientific instrument support modules 1000, 1100, 1200, and 1300 may be implemented across one orAtty. Docket No. [TP388697WO1] more of the computing devices, is discussed herein with reference to the scientific instrument support system 5000 of FIG. 11.
[0070] The scientific instrument support module 1000 may include data processing model display logic 1002, data processing model retrieval logic 1004, data processing model execution logic 1006, and data processing results logic 1008. As used herein, the term "logic” may include an apparatus that is to perform a set of operations associated with the logic. For example, any of the logic elements included in the support module 1000 may be implemented by one or more computing devices programmed with instructions to cause one or more processing devices of the computing devices to perform the associated set of operations. In a particular embodiment, a logic element may include one or more non-transitory computer-readable media having instructions thereon that, when executed by one or more processing devices of one or more computing devices, cause the one or more computing devices to perform the associated set of operations. As used herein, the term "module” may refer to a collection of one or more logic elements that, together, perform a function associated with the module. Different ones of the logic elements in a module may take the same form or may take different forms. For example, some logic in a module may be implemented by a programmed general-purpose processing device, while other logic in a module may be implemented by an application-specific integrated circuit (ASIC). In another example, different ones of the logic elements in a module may be associated with different sets of instructions executed by one or more processing devices. A module may not include all of the logic elements depicted in the associated drawing; for example, a module may include a subset of the logic elements depicted in the associated drawing when that module is to perform a subset of the operations discussed herein with reference to that module.
[0071] The data processing model display logic 1002 may be configured to display a library of data processing models, methods, and / or systems. The library of data processing models, methods, and / or systems may be stored in a location, or environment, external to the user-facing environment for chromatography analysis, for example. For example, the data processing models, methods, and / or systems can be stored in local storage, network-attached storage, cloud storage, enterprise storage, virtual storage, or any combination thereof.
[0072] As discussed herein, data processing models, methods, and / or systems may include any number of components and / or modules. In at least one instance, the models, methods, and / or systems include one or more ML algorithms, one or more non-ML algorithms such as rules-based, one or more results-display logic, and / or any other suitable component. These components can govern how data is input into the data processing model, method, and / or system and / or how the processed data is output from the data processing model, method, and / or system, etc. In at least one instance, the data processing models, methods, and / or systems include only a single component, such as an ML algorithm, for example, and do not further define how processed data is visualized, for example. This can be further defined by a user outside of the selected data processing model, method, and / or system. In another instance, the data processing model, method, and / or system includes a package of components (which may be able to be individually turned off and on based on user request) for sorting / filtering input data, training an ML algorithm, processing the data with theAtty. Docket No. [TP388697WO1]ML algorithm, displaying output data according to a specific format, performing one or more additional analyses on the processed data, etc. The components can be building blocks for a specific data processing model, method, and / or system and the number and / or function of the building blocks can vary from model to model, for example.
[0073] In at least one instance, the components include identifying information, integration method, calculation method, and / or results-display logic. In at least one instance, the identifying information indicates the sample type corresponding to the data processing method. In at least one instance, the integration method includes how the data processing method detects or defines the baselines, peaks, retention times, reduces noise, etc. of the data. Integration methods includes machine learning-based or classical integration methods, for example. In at least one instance, the calculation method includes how the defined or detected baselines, peaks, retention times, etc (the output of the integration method) are reduced to final reportable values such as integration values. Such calculations methods may include performing quantitative and / or statistical calculations from the peak values such as calibration curve fitting, for example.
[0074] In at least one instance, a user interfaces with a software application hosted in an environment that is separate to the environment containing the library of data processing methods. In at least one instance, the user-facing software application is hosted within an on-premise environment (local server, user PC, e.g.), in a cloud environment, and / or as a SaaS (software as a service) deployment. The library of data processing methods can be stored, managed, and served to the user-facing software application from an environment different than the environment hosting the software application. In at least one instance, the library of data processing methods is stored within a cloud environment that contains the necessary components for storing, managing, and serving the library of data processing methods to the user-facing software application. As can be seen in FIG. 18, an example of an architecture 6100 for the disclosed methods, systems, and apparatuses, is disclosed. The architecture 6100 includes a first environment 6110 hosting the user-facing application 6111 and a second environment 6150 hosting an application platform 6151. The first environment 6110 may include a user PC, for example, and the second environment 6150 may include a cloud-based environment, for example. In the example shown in FIG. 18, the second environment 6150 is responsible for storing the data processing methods in a database 6152 such as the executable code for each method, the training data, etc., serving the method library service 6153 to the user-facing application 6111, executing the data processing methods with an Al inference engine 6154 and training the data processing methods with a training engine 6155 As can be seen in FIG. 18, the user application 6111 contains a client 6112 for interacting with data-processing and method management systems in the second environment 6150. The client 6112 may contain a classic processing method 6113 built in. In at least one instance, classic processing methods are also managed within the second environment similar to the machine-learning based methods. The client 6112 can have built in Ul logic that lets users interact with external data processing method library such as those disclosed herein and an engine for locally executing results and / or displaying results. In at least one instance, the engine of the client 6112 runs a downloaded or locally cached data processing method on instrument data.Atty. Docket No. [TP388697WO1]
[0075] In at least one instance, communication between multiple environments is established by any suitable means. A communication pathway between a first environment and a second environment allows the user application to display a data processing method management interface containing the data processing method library. The communication pathway also allows the user to interact with the management interface such that the environment hosting the management interface can train the methods with user uploaded data, update methods and maintain the updated methods (updates may be edits made by the user or edits made by the entity hosting the management interface), etc. In at least one instance, the environment can communicate via an application programing interface.
[0076] The data processing model retrieval logic 1004 may be configured to download a user-selected data processing model, method, and / or system from its respective storage location. For example, a user can select a data processing model, method, and / or system in the library to process data and the logic 1004 can download, as an extension, for example, the selected data processing model, method, and / or system locally in order to process data. In at least one instance, the selected data processing model, method, and / or system is not downloaded locally but, rather, the selected data processing model, method, and / or system is executed in an environment outside of the user-facing interface such as, for example, a cloud-based storage location. In another instance, the selected data processing model, method, and / or system is executed locally in part. In at least one instance, the library of data processing methods displayed to a user includes many data processing methods such as those described herein. A user can select one or more of the methods to be used to process, display results for, etc., the user's sample data.
[0077] One example of a library of data processing methods can be seen in FIG. 12. A library 6000 is shown. The library informs a user of the name of the method, processing type (machine learning based and / or traditional (non-machine learning based), for example), version (versions can change for a variety of reasons such as, for example, if model architecture changes, weights are tuned differently, training is updated, etc., and the method's source which may indicate the origin and / or location of the method. For example, "Download” may indicate that this was a method downloaded from an external location such as another environment, for example, "Trained” may indicate that this was a method trained by a user in the environment hosting the user application, "NEW” may indicate that this method has never been used in this instance of the application or for a the user logged into the application, for example, "Copied” may indicate that this was a method copied from another method, and "User” may indicate that this was a model created by a user.
[0078] The data processing model execution logic 1006 may be configured to execute the now- downloaded data processing model, method, and / or system to process data. As discussed herein, in another instance, after method selection by a user, the sample data may be processed using the selected method within the environment hosting the library of data processing methods instead of being downloaded locally to the environment of the user application. An advantage of either arrangement eliminates the need to modify source code of the user application every time a new data processing method is used. In one instance, the method is consumed by the user application. In another instance, the method is executedAtty. Docket No. [TP388697WO1] elsewhere and the user application only serves as an interface between the data processing method and the sample data. A user may be able to adjust settings of the data processing method, adjust which data is processed, etc. when interacting with the library of data processing methods. A "new” data processing method may be a retrained method, a slightly modified existing method, a new version of a method, etc. The embodiments disclosed herein allow for the data processing methods to be consumed by the user application and hosted / managed by an environment external to the user application.
[0079] The data processing results logic 1008 may be configured to display results to a user of the processed data using the executed data processing model, method, and / or system. In at least one instance, the data processing method may further include one or more modules that specify how the results should be displayed to a user, preprocess data ahead of the more involved data processing model (classic and / or machine learning-based), what data to use for processing and what data to discard prior to processing, etc. Regarding the specific display logic that may be included in a data processing method, some of the methods in the library may not contain specific display logic but, rather, display the results according to a default defined in the user application. Predefining display logic within the data processing method can further enhance the user's experience with a newly released method by tailoring the predefined display logic to the specific data processing method, for example. This allows multiple components of a data processing method to be prepackaged for a user ahead of use. The components may also be interchangeable and can be selected by a user within the user facing application or can be interchanged on the backend by the environment hosting the library of data processing methods.
[0080] In at least one instance, the data processing methods can be updated within the environment in which they are hosted. The update may be triggered by a party external to a user such as, for example, a software technician associated with the environment hosting the library of data processing methods (cloud service, for example). The update may be triggered by the user and any changes made to the data processing method can be directed by the user. In at least one instance, the changes are made to the data processing method within the library and only directed by the user-facing application. In at least one instance, the update may include any of the method parameters disclosed herein such as, for example, new training, updated model architecture, or updated non-processing modules such as the display logic, for example. At any rate, the user may select the updated data processing method for processing their sample data.
[0081] In at least one instance, the embodiments disclosed herein may further include training a machine learning-based data processing method with a user's sample data. In at least one instance, the user's data may also be used to test the newly-trained data processing method. In such an instance, a user can select a data processing method in the library, indicate that they would like to train a data processing model of the method with a portion of their own sample data and test the method with another portion of their own sample data. Such an updated method can be created and stored in the library for future use and / or editing, for example. In at least one instance, the sample data includes sample data from a single instrument run.Atty. Docket No. [TP388697WO1]
[0082] FIG. 2 is a flow diagram of a method 2000 of performing support operations, in accordance with various embodiments. Although the operations of the method 2000 may be illustrated with reference to particular embodiments disclosed herein (e.g., the scientific instrument support module 1000 discussed herein with reference to FIG. 1, the GUI 3000 discussed herein with reference to FIG. 9, the computing devices 4000 discussed herein with reference to FIG. 10, and / or the scientific instrument support system 5000 discussed herein with reference to FIG. 11), the method 2000 may be used in any suitable setting to perform any suitable support operations. Operations are illustrated once each and in a particular order in FIG. 2, but the operations may be reordered and / or repeated as desired and appropriate (e.g., different operations performed may be performed in parallel, as suitable).
[0083] At 2002, operations may be performed. For example, the logic 1002 of the support module 1000 may perform the operations of 2002. The operations 2002 may include displaying a library of data processing models, methods, and / or systems to a user.
[0084] At 2004, operations may be performed. For example, the logic 1004 of the support module 1000 may perform the operations of 2004 and 2006. The operations 2004 may include receiving a user selection of one of the data processing models, methods, and / or systems contained in the library to process data. The operations 2006 may include retrieving the selected data processing model, method, and / or system (as executable code, for example), from an external storage location such as, for example, a cloud-based storage location.
[0085] At 2006 and 2008, operations may be performed. For example, the logic 1006 of the support module 1000 may perform the operations of 2008. The operations 2008 may include executing the selected, and now-retrieved (or downloaded, for example), data processing model, method, and / or system to process data.
[0086] At 2010, operations may be performed. For example, the logic 1008 of the support module 1000 may perform the operations of 2010. The operations 2010 may include displaying results of the processed data to a user.
[0087] Referring to FIG. 3, the scientific instrument support module 1100 may include sample information retrieval logic 1102, comparison logic 1104, data processing model-determining logic 1106, data processing model execution logic 1108, and data processing results logic 1110. The scientific instrument support module 1100 may allow a user to determine and / or select a sample-specific data processing model, method, and / or system with which to process sample data.
[0088] The sample information retrieval logic 1102 may be configured to receive sample information or type corresponding to sample data, for example. The sample information may be based on user input and / or based on automatic detection based on sample data to be processed, for example. In at least one instance, the sample information or type can be based on the method of how the sample data was acquired, for example. In at least one instance, the sample data for many different sample types (degraded sample, standard sample, fractionated samples, release samples, blanks, controls, etc.) are all collected during a single instrument run to save time.Atty. Docket No. [TP388697WO1]
[0089] In at least one instance, the sample information or type can be determined utilizing one or more corresponding attributes or fields contained within the sample data. These values can be defined by the user during the instrument run that produced the sample data. In at least one instance, a file naming convention is used to define and convey the sample type and the information corresponding to the sample type is embedded in the file naming convention of the sample data. In at least one instance, metadata of the sample data is used to determine the sample type. The sequence interface 6001 shown in FIG. 12 show specific sample types corresponding to each data file. This information can be populated based on the metadata of the data files or by user input when acquiring the data, for example.
[0090] The comparison logic 1104 may be configured to compare the sample information or type to corresponding information of each data processing model, method, and / or system contained within a library of data processing models, methods, and / or systems. The comparison can be made to determine a best-fit data processing model, method, and / or system based on the sample information or type, as discussed in greater detail below.
[0091] The data processing model-determining logic 1106 can search the library of data processing models, methods, and / or systems for a best-fit data processing method to process sample data. In at least one instance, data processing models, methods, and / or systems are scored and ranked relative to the sample data and the results of the comparison are displayed to a user to show a user how the determined data processing models, methods, and / or systems were determined. Details about the data processing models, methods, and / or systems can also be displayed. Further details can be displayed showing how the determined data processing models, methods, and / or systems relate to the sample information or type, for example.
[0092] In at least one instance, the determination can be made via a rules-based system where the sample information or type is compared to corresponding sample information or types associated with each data processing method stored within the library. In at least one instance, the determination can be made by a machine learning model hosted within the environment hosting the data processing library. In at least one instance, the sample data is injected into the machine learning model and, based on one or more attributes of the sample data, an output is generated containing a best-fit data processing method. The training data for this determination can include various sample types and associated best-fit data processing methods. In such an instance, the machine learning model can match a best-fit data processing method upon intake of the sample data. At any rate, the best-fit data processing method can be output to a user via a graphical user interface such as those disclosed herein.
[0093] The data processing model execution logic 1106 may be configured to execute the determined data processing model, method, and / or system to process the sample data. In at least one instance, user confirmation of the best-fit data processing method is required prior to processing.
[0094] The data processing results logic 1108 may be configured to display results to a user of the processed data using the executed data processing model, method, and / or system. One example ofAtty. Docket No. [TP388697WO1] displayed results can be seen in FIG. 14. As shown in FIG. 14, a graph 6020 depicting integration results is displayed. Integration type, training score, and release date are also all displayed.
[0095] In at least one instance, a user may have multiple sample data files to be processed each corresponding to a different sample type. The embodiments disclosed herein allow for the determination of best-fit data processing methods for each sample data file according to sample type and / or information, for example. In such an instance, each determined best-fit data processing method can be determined and executed on the multiple sample data files. The data processing results for each sample data file can be displayed to and interacted with by a user.
[0096] FIG. 4 is a flow diagram of a method 2100 of performing support operations, in accordance with various embodiments. Although the operations of the method 2100 may be illustrated with reference to particular embodiments disclosed herein (e.g., the scientific instrument support module 1100 discussed herein with reference to FIG. 3, the GUI 3000 discussed herein with reference to FIG. 9, the computing devices 4000 discussed herein with reference to FIG. 10, and / or the scientific instrument support system 5000 discussed herein with reference to FIG. 11), the method 2100 may be used in any suitable setting to perform any suitable support operations. Operations are illustrated once each and in a particular order in FIG. 4, but the operations may be reordered and / or repeated as desired and appropriate (e.g., different operations performed may be performed in parallel, as suitable).
[0097] At 2102, operations may be performed. For example, the logic 1102 of the support module 1100 may perform the operations of 2102. The operations 2102 may include receiving sample information / type corresponding to sample data to be processed.
[0098] At 2104, operations may be performed. For example, the logic 1104 of the support module 1100 may perform the operations of 2104. The operations 2104 may include comparing sample information / type to corresponding information of each data processing model, method, and / or system to determine a best fit data processing model, method, and / or system, for processing the sample data. Any suitable scoring or ranking system can be used.
[0099] At 2106, operations may be performed. For example, the logic 1108 of the support module 1100 may perform the operations of 2106. The operations 2106 may include executing the determined data processing model, method, and / or system to process data. In at least one instance, a user is required to select a data processing model, method, and / or system from a list of matches determined by the module 1100 to be executed to process sample data.
[0100] At 2108, operations may be performed. For example, the logic 1110 of the support module 1100 may perform the operations of 2108. The operations 2010 may include displaying results of the processed data to a user.
[0101] Referring to FIG. 5, the scientific instrument support module 1200 may include data processing model selection logic 1202, data processing model training logic 1204, data processing model testing logic 1206, and data processing model deployment logic 1208. The scientific instrument support module 1200 can allow for a data processing model training environment with controlled access such that models are notAtty. Docket No. [TP388697WO1] deployable by a user outside of the training environment until the model is determined to be ready for release by the data processing model deployment logic.
[0102] The data processing model selection logic 1202 may be configured to display to a user a plurality of data processing models for user selection. A user can select one or more of the data processing models to train, view, or otherwise edit, for example.
[0103] The data processing model training logic 1204 may be configured to train the selected one or more data processing models. In at least one instance, the user may define the training data used to train the selected one or more data processing models. In at least one instance, the user can select data to train the selected one or more data processing models and select data to test the one or more selected data processing models after the selected one or more data processing models have been trained using the selected training data.
[0104] The data processing model testing logic 1206 may be configured to test the selected one or more data processing models with selected test data. The selected test data is fed into the one or more data processing models to generate data processing results on the test data.
[0105] In at least one instance, data processing methods contained within the library of data processing methods can be individually trained and / or tested by a user with their own data. In such an instance, a user can select a first data processing method having a first trainable component (a machine learning-based data processing model, e.g.) and select one or more sample data files for training and one or more sample data files for testing the just trained model. Referring to FIG. 16, an example data processing library 6040 is shown, where a user selects OPEN in the data processing library 6040 to open the training module, or interface, 6041 The training module 6041 shows the user the available data files for training and / or testing the data processing model of the method selected in the data processing library. As can be seen in FIG. 16, some data files are selected for training, some data files are selected for testing, and some data files are selected for both training and testing the data processing model. Once the user is satisfied with the selection, the user can continue with training. As discussed herein, training can happen within the environment hosting the data processing library or can happen locally with respect to the user application depending on where the model resides. Either way, training and / or testing can happen in either environment. The data files may be sent to the external environment for training and / or testing. In at least one instance, the testing and / or training occurs locally and the data files never leave the user application environment. In such an instance, the model to be trained and the corresponding method containing the model can be downloaded and consumed by the user application to be hosted in the application environment.
[0106] As discussed herein, a user can load a data processing method from the library into a training interface for one or more reasons. In at least one instance, a user can create a new data processing method in training interface to build, train, test, score, and release the data processing method. In such an instance, a user can select from predefined components (such as processing models, results display logic, etc.) to build the data processing method. In at least one instance, a user can bring an existing data processing method into the training interface from the library to edit its performance. In such an instance, the user canAtty. Docket No. [TP388697WO1] modify thresholds and settings of the data processing algorithm or data processing model, for example, to produce results. If the results are as expected or desired by the user, the user can release the method for use in the library. In at least one instance, a user can explore an existing data processing method from the library in the training interface. In such an instance, the user can view modeled results of the training process and the testing process in a graphical display. In at least one instance, historical trends are viewed in the display. In at least one instance, a user can audit the history of a data processing method within the training interface. From the interface, the user can see version history, who created or edited the method, when the method was created or edited, etc.
[0107] The training interface provides a separate environment for interacting with data processing methods where users, technicians, or any party associated with the creation, management, and release of such methods can interact with the methods in a controlled manner. In at least one instance, certain users may not have the required credentials to edit methods in the training interface. In at least one instance, users may be able to edit in the training interface but not be able to release methods from the interface.
[0108] The data processing model deployment logic 1208 may be configured to release data processing models as they are determined to be ready for release from the training environment. In at least one instance, a training accuracy threshold must be met before a data processing model can be released from the training environment for use. Any suitable factors, or combination of factors, can be employed by the deployment logic 1208 to determine whether the one or more data processing models can be released from the training / testing environment for use. Once a data processing model is released from the training environment, a user can select the data processing model to process data outside of the training environment. In at least one instance, the training accuracy threshold may require a model confidence threshold. In at least one instance, a threshold amount of training data may be required prior to release.
[0109] In at least one instance, prior to releasing the methods for use in the library, the methods can remain locked using an e-signature protocol.
[0110] FIG. 6 is a flow diagram of a method 2200 of performing support operations, in accordance with various embodiments. Although the operations of the method 2200 may be illustrated with reference to particular embodiments disclosed herein (e.g., the scientific instrument support module 1200 discussed herein with reference to FIG. 5, the GUI 3000 discussed herein with reference to FIG. 9, the computing devices 4000 discussed herein with reference to FIG. 10, and / or the scientific instrument support system 5000 discussed herein with reference to FIG. 11), the method 2200 may be used in any suitable setting to perform any suitable support operations. Operations are illustrated once each and in a particular order in FIG. 6, but the operations may be reordered and / or repeated as desired and appropriate (e.g., different operations performed may be performed in parallel, as suitable).
[0111] At 2202, operations may be performed. For example, the logic 1202 of the support module 1200 may perform the operations of 2202. The operations 2202 may include selecting a data processing model from a plurality of data processing models to train contained within a model library such as those disclosed herein, for example.Atty. Docket No. [TP388697WO1]
[0112] At 2204, operations may be performed. For example, the logic 1204 of the support module 1200 may perform the operations of 2204. The operations 2204 may include training the selected data processing model with first sample data. In at least one instance, the first sample data is selected by a user. In at least one instance, the first sample data is uploaded by a user into the training environment. In at least one instance, additional data (second sample data, for example) can be selected at this time, prior to training, to test the selected data processing model once training is completed. In at least one instance, test data can be selected after training is completed.
[0113] At 2206, operations may be performed. For example, the logic 1206 of the support module 1200 may perform the operations of 2206. The operations 2206 may include testing the trained data processing model using second sample data. In at least one instance, the first sample data and the second sample data are different. However, the first sample data and the second sample data may be contained within the same set of data uploaded by a user, for example. In at least one instance, a set of data is uploaded or otherwise selected by a user within the training environment and the user selects a portion of the set of data to be used for training and another portion of the set of data to be used for testing. In at least one instance, some of the set of data is left unselected. In another instance, all of the set of data is accounted for and is binned, by the user, in either the first sample data for training the data processing model or the second sample data for testing the data processing model.
[0114] At 2208, operations may be performed. For example, the logic 1208 of the support module 1200 may perform the operations of 2208. The operations 2208 may include determining if the trained data processing model is ready to be released from the training environment based on the testing of the trained data processing model with the second sample data. In at least one instance, the determination of whether the trained data processing model is ready to be released for use outside of the training environment includes any suitable thresholds or combination of thresholds. For example, the determination can be made based on a performance threshold, accuracy threshold, quantity of training data used during training, etc.
[0115] At 2210, operations may be performed. For example, the logic 1208 of the support module 1200 may perform the operations of 2210. The operations 2210 may include releasing the trained, and now- tested, data processing model from the training environment if the logic 1208 determines that the data processing model is ready to be released from the training environment to be used on data outside of the training environment by a user. Once the data processing model is released, there may be included a visual indication and / or alert to a user within the training environment that a particular data processing model is released, or cleared, for use outside of the training environment.
[0116] Referring to FIG. 7, the scientific instrument support module 1300 may include data processing logic 1302, model training / retraining logic 1304, data reprocessing logic 1306, and model performance determining logic 1308. The scientific instrument support module 1300 can allow a user to compare and review the performance of a data processing model before training (or retraining) and after training (or retraining) to be able to quickly determine a goodness-of-fit of a particular data processing model, for example. This can help a user ensure that a data processing model is still performing as expected asAtty. Docket No. [TP388697WO1] compared to how the data processing model was performing before the model was trained / retrained. This can help a user ensure that the data processing model is operating as expected and / or that the model was adequately trained through the life cycle of the data processing model.
[0117] The data processing logic 1302 may be configured to process data with a data processing model to output first results.
[0118] The model training / retraining logic 1304 may be configured to train, or retrain, the data processing model using any of the methods disclosed herein, for example.
[0119] The data re-processing logic 1306 may be configured to process the data used by the logic 1302 and / or new data to output second results after the data processing model has been trained or retrained.
[0120] The model performance determining logic 1308 may be configured to determine the performance of the data processing model by analyzing the first results and determine the performance of the data processing model by analyzing the second results. The model performance determining logic 1308 may further provide, to a user, a graphical representation of the performance of the data processing model as it relates to the first results and the performance of the data processing model as it relates to the second results. With the graphical representation, a user can compare the performance of the data processing model over time and, more specifically, before and after training / retraining to ensure that the data processing model is operating as expected, for example. FIG. 15 illustrates two different results 6030, 6031 in accordance with various embodiments. Differences between the results are highlighted for the user to see how the data processing methods performed relative to each other. In at least one instance, differences between model tuning, data processing settings, etc. can be shown to a user to allow a user to determine why certain models are performing the way they are performing. FIG. 17 is a results display 6050 and example of a method management interface 6051 for managing a data processing method (MTD X). A previous confidence interval is shown along with a training program to be run by a user. A user can select train to train the data processing method. The user can also select to test the method and approve the method to start an e-signature process.
[0121] FIG. 8 is a flow diagram of a method 2300 of performing support operations, in accordance with various embodiments. Although the operations of the method 2300 may be illustrated with reference to particular embodiments disclosed herein (e.g., the scientific instrument support module 1300 discussed herein with reference to FIG. 7, the GUI 3000 discussed herein with reference to FIG. 9, the computing devices 4000 discussed herein with reference to FIG. 10, and / or the scientific instrument support system 5000 discussed herein with reference to FIG. 11), the method 2300 may be used in any suitable setting to perform any suitable support operations. Operations are illustrated once each and in a particular order in FIG. 8, but the operations may be reordered and / or repeated as desired and appropriate (e.g., different operations performed may be performed in parallel, as suitable).
[0122] At 2302, operations may be performed. For example, the logic 1302 of the support module 1300 may perform the operations of 2302. The operations 2302 may include processing first data with a data processing model to output first results.Atty. Docket No. [TP388697WO1]
[0123] At 2304, operations may be performed. For example, the logic 1304 of the support module 1300 may perform the operations of 2304. The operations 2304 may include training / retraining of the data processing model.
[0124] At 2306, operations may be performed. For example, the logic 1306 of the support module 1300 may perform the operations of 2306. The operations 2306 may include processing second data with the trained / retrained data processing model to output second results.
[0125] At 2308, operations may be performed. For example, the logic 1308 of the support module 1300 may perform the operations of 2308. The operations 2308 may include determining the performance of the data processing model based on the outputted first results and the performance of the data processing model based on the outputted second results.
[0126] At 2310, operations may be performed. For example, the logic 1308 of the support module 1300 may perform the operations of 2310. The operations 2310 may include providing, to a user, a graphical representation of the performance of the data processing model based on the outputted first results and the performance of the data processing model based on the outputted second results.
[0127] In at least one instance, embodiments disclosed herein provide multiple different interfaces within the user application. A sequence interface may be provided which can show a user a list of the samples run in a sequence, each outputting a data set, the integration method chosen to process the data, and the calculation method chosen to process the data. A refinement interface can also be accessed by a user and allow a user to see visual scoring of any of the data processing methods in the library and trends of data processing method performance over time. The refinement interface may allow a user to report results of model performance, review results, or make adjustments to the data processing methods. Further, a method management interface may be accessed by a user to train methods, test methods, and approve methods. This provides a controlled environment for a user to interact with data processing methods prior to the data processing method being available for execution on a sample.
[0128] The scientific instrument support methods disclosed herein may include interactions with a human user (e.g., via the user local computing device 5020 discussed herein with reference to FIG. 11). These interactions may include providing information to the user (e.g., information regarding the operation of a scientific instrument such as the scientific instrument 5010 of FIG. 11, information regarding a sample being analyzed or other test or measurement performed by a scientific instrument, information retrieved from a local or remote database, or other information) or providing an option for a user to input commands (e.g., to control the operation of a scientific instrument such as the scientific instrument 5010 of FIG. 11, or to control the analysis of data generated by a scientific instrument), queries (e.g., to a local or remote database), or other information. In some embodiments, these interactions may be performed through a graphical user interface (GUI) that includes a visual display on a display device (e.g., the display device 4010 discussed herein with reference to FIG. 10) that provides outputs to the user and / or prompts the user to provide inputs (e.g., via one or more input devices, such as a keyboard, mouse, trackpad, or touchscreen, included in theAtty. Docket No. [TP388697WO1] other I / O devices 4012 discussed herein with reference to FIG. 10). The scientific instrument support systems disclosed herein may include any suitable GUIs for interaction with a user.
[0129] FIG. 9 depicts an example GUI 3000 that may be used in the performance of some or all of the support methods disclosed herein, in accordance with various embodiments. As noted above, the GUI 3000 may be provided on a display device (e.g., the display device 4010 discussed herein with reference to FIG.10) of a computing device (e.g., the computing device 4000 discussed herein with reference to FIG. 10) of a scientific instrument support system (e.g., the scientific instrument support system 5000 discussed herein with reference to FIG. 11), and a user may interact with the GUI 3000 using any suitable input device (e.g., any of the input devices included in the other I / O devices 4012 discussed herein with reference to FIG. 10) and input technique (e.g., movement of a cursor, motion capture, facial recognition, gesture detection, voice recognition, actuation of buttons, etc.).
[0130] The GUI 3000 may include a data display region 3002, a data analysis region 3004, a scientific instrument control region 3006, and a settings region 3008. The particular number and arrangement of regions depicted in FIG. 9 is simply illustrative, and any number and arrangement of regions, including any desired features, may be included in a GUI 3000.
[0131] The data display region 3002 may display data generated by a scientific instrument (e.g., the scientific instrument 5010 discussed herein with reference to FIG. 11).
[0132] The data analysis region 3004 may display the results of data analysis (e.g., the results of analyzing the data illustrated in the data display region 3002 and / or other data). For example, the data analysis region 3004 may display any of the data analysis results disclosed herein. In some embodiments, the data display region 3002 and the data analysis region 3004 may be combined in the GUI 3000 (e.g., to include data output from a scientific instrument, and some analysis of the data, in a common graph or region).
[0133] The scientific instrument control region 3006 may include options that allow the user to control a scientific instrument (e.g., the scientific instrument 5010 discussed herein with reference to FIG. 11). For example, the scientific instrument control region 3006 may include any of the control systems disclosed herein.
[0134] The settings region 3008 may include options that allow the user to control the features and functions of the GUI 3000 (and / or other GUIs) and / or perform common computing operations with respect to the data display region 3002 and data analysis region 3004 (e.g., saving data on a storage device, such as the storage device 4004 discussed herein with reference to FIG. 10, sending data to another user, labeling data, etc.).
[0135] As noted above, the scientific instrument support module 1000 may be implemented by one or more computing devices. FIG. 10 is a block diagram of a computing device 4000 that may perform some or all of the scientific instrument support methods disclosed herein, in accordance with various embodiments.In some embodiments, the scientific instrument support module 1000 may be implemented by a single computing device 4000 or by multiple computing devices 4000. Further, as discussed below, a computingAtty. Docket No. [TP388697WO1] device 4000 (or multiple computing devices 4000) that implements the scientific instrument support module 1000 may be part of one or more of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 of FIG. 11 .
[0136] The computing device 4000 of FIG. 10 is illustrated as having a number of components, but any one or more of these components may be omitted or duplicated, as suitable for the application and setting. In some embodiments, some or all of the components included in the computing device 4000 may be attached to one or more motherboards and enclosed in a housing (e.g., including plastic, metal, and / or other materials). In some embodiments, some of these components may be fabricated onto a single system-on-a- chip (SoC) (e.g., an SoC may include one or more processing devices 4002 and one or more storage devices 4004). Additionally, in various embodiments, the computing device 4000 may not include one or more of the components illustrated in FIG. 10, but may include interface circuitry (not shown) for coupling to the one or more components using any suitable interface (e.g., a Universal Serial Bus (USB) interface, a High-Definition Multimedia Interface (HDMI) interface, a Controller Area Network (CAN) interface, a Serial Peripheral Interface (SPI) interface, an Ethernet interface, a wireless interface, or any other appropriate interface) . For example, the computing device 4000 may not include a display device 4010, but may include display device interface circuitry (e.g., a connector and driver circuitry) to which a display device 4010 may be coupled.
[0137] The computing device 4000 may include a processing device 4002 (e.g., one or more processing devices). As used herein, the term "processing device" may refer to any device or portion of a device that processes electronic data from registers and / or memory to transform that electronic data into other electronic data that may be stored in registers and / or memory. The processing device 4002 may include one or more digital signal processors (DSPs), application-specific integrated circuits (ASICs), central processing units (CPUs), graphics processing units (GPUs), cryptoprocessors (specialized processors that execute cryptographic algorithms within hardware), server processors, or any other suitable processing devices.
[0138] The computing device 4000 may include a storage device 4004 (e.g., one or more storage devices). The storage device 4004 may include one or more memory devices such as random access memory (RAM) (e.g., static RAM (SRAM) devices, magnetic RAM (MRAM) devices, dynamic RAM (DRAM) devices, resistive RAM (RRAM) devices, or conductive-bridging RAM (CBRAM) devices), hard drive-based memory devices, solid-state memory devices, networked drives, cloud drives, or any combination of memory devices. In some embodiments, the storage device 4004 may include memory that shares a die with a processing device 4002. In such an embodiment, the memory may be used as cache memory and may include embedded dynamic random access memory (eDRAM) or spin transfer torque magnetic random access memory (STT-MRAM), for example. In some embodiments, the storage device 4004 may include non-transitory computer readable media having instructions thereon that, when executed by one or more processing devices (e.g., the processing device 4002), cause the computing device 4000 to perform any appropriate ones of or portions of the methods disclosed herein.Atty. Docket No. [TP388697WO1]
[0139] The computing device 4000 may include an interface device 4006 (e.g., one or more interface devices 4006). The interface device 4006 may include one or more communication chips, connectors, and / or other hardware and software to govern communications between the computing device 4000 and other computing devices. For example, the interface device 4006 may include circuitry for managing wireless communications for the transfer of data to and from the computing device 4000. The term "wireless" and its derivatives may be used to describe circuits, devices, systems, methods, techniques, communications channels, etc., that may communicate data through the use of modulated electromagnetic radiation through a nonsolid medium. The term does not imply that the associated devices do not contain any wires, although in some embodiments they might not. Circuitry included in the interface device 4006 for managing wireless communications may implement any of a number of wireless standards or protocols, including but not limited to Institute for Electrical and Electronic Engineers (IEEE) standards including Wi-Fi (IEEE 802.11 family), IEEE 802.16 standards (e.g., IEEE 802.16-2005 Amendment), Long-Term Evolution (LTE) project along with any amendments, updates, and / or revisions (e.g., advanced LTE project, ultra mobile broadband (UMB) project (also referred to as "3GPP2"), etc.). In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with a Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), High Speed Packet Access (HSPA), Evolved HSPA (E- HSPA), or LTE network. In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with Enhanced Data for GSM Evolution (EDGE), GSM EDGE Radio Access Network (GERAN), Universal Terrestrial Radio Access Network (UTRAN), or Evolved UTRAN (E-UTRAN). In some embodiments, circuitry included in the interface device 4006 for managing wireless communications may operate in accordance with Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Digital Enhanced Cordless Telecommunications (DECT), Evolution-Data Optimized (EV-DO), and derivatives thereof, as well as any other wireless protocols that are designated as 3G, 4G, 5G, and beyond. In some embodiments, the interface device 4006 may include one or more antennas (e.g., one or more antenna arrays) to receipt and / or transmission of wireless communications.
[0140] In some embodiments, the interface device 4006 may include circuitry for managing wired communications, such as electrical, optical, or any other suitable communication protocols. For example, the interface device 4006 may include circuitry to support communications in accordance with Ethernet technologies. In some embodiments, the interface device 4006 may support both wireless and wired communication, and / or may support multiple wired communication protocols and / or multiple wireless communication protocols. For example, a first set of circuitry of the interface device 4006 may be dedicated to shorter-range wireless communications such as Wi-Fi or Bluetooth, and a second set of circuitry of the interface device 4006 may be dedicated to longer-range wireless communications such as global positioning system (GPS), EDGE, GPRS, CDMA, WiMAX, LTE, EV-DO, or others. In some embodiments, a first set of circuitry of the interface device 4006 may be dedicated to wireless communications, and a second set of circuitry of the interface device 4006 may be dedicated to wired communications.Atty. Docket No. [TP388697WO1]
[0141] The computing device 4000 may include battery / power circuitry 4008. The battery / power circuitry 4008 may include one or more energy storage devices (e.g., batteries or capacitors) and / or circuitry for coupling components of the computing device 4000 to an energy source separate from the computing device 4000 (e.g., AC line power).
[0142] The computing device 4000 may include a display device 4010 (e.g., multiple display devices). The display device 4010 may include any visual indicators, such as a heads-up display, a computer monitor, a projector, a touchscreen display, a liquid crystal display (LCD), a light-emitting diode display, or a flat panel display.
[0143] The computing device 4000 may include other input / output (I / O) devices 4012. The other I / O devices 4012 may include one or more audio output devices (e.g., speakers, headsets, earbuds, alarms, etc.), one or more audio input devices (e.g., microphones or microphone arrays), location devices (e.g., GPS devices in communication with a satellite-based system to receive a location of the computing device 4000, as known in the art), audio codecs, video codecs, printers, sensors (e.g., thermocouples or other temperature sensors, humidity sensors, pressure sensors, vibration sensors, accelerometers, gyroscopes, etc.), image capture devices such as cameras, keyboards, cursor control devices such as a mouse, a stylus, a trackball, or a touchpad, bar code readers, Quick Response (QR) code readers, or radio frequency identification (RFID) readers, for example.
[0144] The computing device 4000 may have any suitable form factor for its application and setting, such as a handheld or mobile computing device (e.g., a cell phone, a smart phone, a mobile internet device, a tablet computer, a laptop computer, a netbook computer, an ultrabook computer, a personal digital assistant (PDA), an ultra mobile personal computer, etc.), a desktop computing device, or a server computing device or other networked computing component.
[0145] One or more computing devices implementing any of the scientific instrument support modules or methods disclosed herein may be part of a scientific instrument support system. FIG. E is a block diagram of an example scientific instrument support system 5000 in which some or all of the scientific instrument support methods disclosed herein may be performed, in accordance with various embodiments. The scientific instrument support modules and methods disclosed herein (e.g., the scientific instrument support modules 1000, 1100, 1200, 1300 of FIGS. 1, 3, 5, and 7 and the methods 2000, 2100, 2200, 2300 of FIGS. 2, 4, 6, and 8) may be implemented by one or more of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 of the scientific instrument support system 5000.
[0146] Any of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may include any of the embodiments of the computing device 4000 discussed herein with reference to FIG. 10, and any of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may take the form of any appropriate ones of the embodiments of the computing device 4000 discussed herein with reference to FIG. 10.Atty. Docket No. [TP388697WO1]
[0147] The scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may each include a processing device 5002, a storage device 5004, and an interface device 5006. The processing device 5002 may take any suitable form, including the form of any of the processing devices 4002 discussed herein with reference to FIG. 10, and the processing devices 5002 included in different ones of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may take the same form or different forms. The storage device 5004 may take any suitable form, including the form of any of the storage devices 4004 discussed herein with reference to FIG. 10, and the storage devices 5004 included in different ones of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may take the same form or different forms. The interface device 5006 may take any suitable form, including the form of any of the interface devices 4006 discussed herein with reference to FIG. 10, and the interface devices 5006 included in different ones of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, or the remote computing device 5040 may take the same form or different forms.
[0148] The scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, and the remote computing device 5040 may be in communication with other elements of the scientific instrument support system 5000 via communication pathways 5008. The communication pathways 5008 may communicatively couple the interface devices 5006 of different ones of the elements of the scientific instrument support system 5000, as shown, and may be wired or wireless communication pathways (e.g., in accordance with any of the communication techniques discussed herein with reference to the interface devices 4006 of the computing device 4000 of FIG. 10). The particular scientific instrument support system 5000 depicted in FIG. 11 includes communication pathways between each pair of the scientific instrument 5010, the user local computing device 5020, the service local computing device 5030, and the remote computing device 5040, but this "fully connected” implementation is simply illustrative, and in various embodiments, various ones of the communication pathways 5008 may be absent. For example, in some embodiments, a service local computing device 5030 may not have a direct communication pathway 5008 between its interface device 5006 and the interface device 5006 of the scientific instrument 5010, but may instead communicate with the scientific instrument 5010 via the communication pathway 5008 between the service local computing device 5030 and the user local computing device 5020 and the communication pathway 5008 between the user local computing device 5020 and the scientific instrument 5010.
[0149] The scientific instrument 5010 may include any appropriate scientific instrument such as a chromatography instrument, for example.
[0150] The user local computing device 5020 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is local to a user of the scientific instrument 5010. In some embodiments, the user local computing device 5020 may also be local to the scientific instrument 5010, but this need not be the case; for example, a user local computing device 5020 that is in a user's home or office may be remote from, but in communication with, the scientific instrumentAtty. Docket No. [TP388697WO1]5010 so that the user may use the user local computing device 5020 to control and / or access data from the scientific instrument 5010. In some embodiments, the user local computing device 5020 may be a laptop, smartphone, or tablet device. In some embodiments the user local computing device 5020 may be a portable computing device. In some embodiments, the user local computing device 5020 may execute only locally-stored data processing methods within the local computing device. In at least one instance, the locally-stored data processing methods can be downloaded within the data processing management interface. In at least one instance, data processing methods contained within the data processing management interface can be stored in a location other than locally and training and testing of a particular data processing method stored in another location can be trained and tested by the computing resources of the another location. Training and testing can occur prior to downloading the data processing method.
[0151] The service local computing device 5030 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is local to an entity that services the scientific instrument 5010. For example, the service local computing device 5030 may be local to a manufacturer of the scientific instrument 5010 or to a third-party service company. In some embodiments, the service local computing device 5030 may communicate with the scientific instrument 5010, the user local computing device 5020, and / or the remote computing device 5040 (e.g., via a direct communication pathway 5008 or via multiple "indirect” communication pathways 5008, as discussed above) to receive data regarding the operation of the scientific instrument 5010, the user local computing device 5020, and / or the remote computing device 5040 (e.g., the results of self-tests of the scientific instrument 5010, calibration coefficients used by the scientific instrument 5010, the measurements of sensors associated with the scientific instrument 5010, etc.). In some embodiments, the service local computing device 5030 may communicate with the scientific instrument 5010, the user local computing device 5020, and / or the remote computing device 5040 (e.g., via a direct communication pathway 5008 or via multiple "indirect” communication pathways 5008, as discussed above) to transmit data to the scientific instrument 5010, the user local computing device 5020, and / or the remote computing device 5040 (e.g., to update programmed instructions, such as firmware, in the scientific instrument 5010, to initiate the performance of test or calibration sequences in the scientific instrument 5010, to update programmed instructions, such as software, in the user local computing device 5020 or the remote computing device 5040, etc.). A user of the scientific instrument 5010 may utilize the scientific instrument 5010 or the user local computing device 5020 to communicate with the service local computing device 5030 to report a problem with the scientific instrument 5010 or the user local computing device 5020, to request a visit from a technician to improve the operation of the scientific instrument 5010, to order consumables or replacement parts associated with the scientific instrument 5010, or for other purposes.
[0152] The remote computing device 5040 may be a computing device (e.g., in accordance with any of the embodiments of the computing device 4000 discussed herein) that is remote from the scientific instrument 5010 and / or from the user local computing device 5020. In some embodiments, the remote computing device 5040 may be included in a datacenter or other large-scale server environment. In someAtty. Docket No. [TP388697WO1] embodiments, the remote computing device 5040 may include network-attached storage (e.g., as part of the storage device 5004). The remote computing device 5040 may store data generated by the scientific instrument 5010, perform analyses of the data generated by the scientific instrument 5010 (e.g., in accordance with programmed instructions), facilitate communication between the user local computing device 5020 and the scientific instrument 5010, and / or facilitate communication between the service local computing device 5030 and the scientific instrument 5010. The remote computing device may train and / or test data processing methods as discussed herein, for example. Thus, the computational resources necessary for training a data processing method need not be supplied by the end user, for example. This also reduces the complexity of the software served to a client by being able to update and / or modify the code of the data processing methods externally with respect to the client device, for example, instead of having the code of the data processing methods embedded within the software installed on the client device which may require more complex and time-intensive processes to be updated.
[0153] In some embodiments, one or more of the elements of the scientific instrument support system 5000 illustrated in FIG. 11 may not be present. Further, in some embodiments, multiple ones of various ones of the elements of the scientific instrument support system 5000 of FIG. 11 may be present. For example, a scientific instrument support system 5000 may include multiple user local computing devices 5020 (e.g., different user local computing devices 5020 associated with different users or in different locations). In another example, a scientific instrument support system 5000 may include multiple scientific instruments 5010, all in communication with service local computing device 5030 and / or a remote computing device 5040; in such an embodiment, the service local computing device 5030 may monitor these multiple scientific instruments 5010, and the service local computing device 5030 may cause updates or other information may be "broadcast” to multiple scientific instruments 5010 at the same time. Different ones of the scientific instruments 5010 in a scientific instrument support system 5000 may be located close to one another (e.g., in the same room) or farther from one another (e.g., on different floors of a building, in different buildings, in different cities, etc.). In some embodiments, a scientific instrument 5010 may be connected to an I nternet-of-Things (loT) stack that allows for command and control of the scientific instrument 5010 through a web-based application, a virtual or augmented reality application, a mobile application, and / or a desktop application. Any of these applications may be accessed by a user operating the user local computing device 5020 in communication with the scientific instrument 5010 by the intervening remote computing device 5040. In some embodiments, a scientific instrument 5010 may be sold by the manufacturer along with one or more associated user local computing devices 5020 as part of a local scientific instrument computing unit 5012.
[0154] In some embodiments, different ones of the scientific instruments 5010 included in a scientific instrument support system 5000 may be different types of scientific instruments 5010. In some such embodiments, the remote computing device 5040 and / or the user local computing device 5020 may combine data from different types of scientific instruments 5010 included in a scientific instrument support system 5000.Atty. Docket No. [TP388697WO1]
[0155] The following paragraphs provide various examples of the embodiments disclosed herein.
[0156] Example 1 includes a computer-implemented method for processing scientific instrument data comprising displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application, , wherein the data processing method library is accessible by a user through a data processing method management interface served by the first environment to the user application, receiving a selection, by a user, of one of the data processing methods from the data processing method library to be used on sample data, executing the selected data processing method to process the sample data, and displaying results of the executed data processing method to the user.
[0157] Example 2 includes the subject matter of Example 1, wherein the selected data processing method is executed by a service of the first environment.
[0158] Example 3 includes the subject matter of any of Examples 1 and 2, wherein the first environment is a cloud-based environment and the second environment is an on-premise computing environment.
[0159] Example 4 includes the subject matter of any of Examples 1-3, wherein the first environment is a first cloud-based environment and the second environment is a second cloud-based environment.
[0160] Example 5 includes the subject matter of any of Examples 1-4, further comprising, downloading executable code of the selected data processing method from the first environment, and wherein executing the selected data processing method comprises executing the data processing method by the user application.
[0161] Example 6 includes the subject matter of any of Examples 1-5, further comprising updating at least one of the data processing methods in the first environment, receiving a selection, by the user, of the updated data processing method from the data processing method library to be used on the sample data, and executing the selected updated data processing method to process the sample data.
[0162] Example 7 includes the subject matter of any of Examples 1-6, wherein updating at least one of the data processing methods includes updating a version of the at least one of the data processing methods, and wherein the updated version of the at least one of the data processing methods comprises an updated training of the at least one data processing method.
[0163] Example 8 includes the subject matter of any of Examples 1-7, wherein the data processing method library contains a machine learning-based data processing method and a non-machine learningbased data processing method.
[0164] Example 9 includes the subject matter of any of Examples 1-8, wherein at least one of the data processing methods comprises data processing logic for processing the sample data and graphical user interface logic to display results of the data processing logic in a manner specific to the at least one of the data processing methods.
[0165] Example 10 includes the subject matter of any of Examples 1-9, further comprising training a machine learning-based data processing method of the data processing methods on a first subset of theAtty. Docket No. [TP388697WO1] sample data and testing the machine learning-based data processing method on a second subset of the sample data.
[0166] Example 11 includes the subject matter of any of Examples 1-10, wherein the sample data is acquired from a single instrument run.
[0167] Example 12 includes the subject matter of any of Examples 1-11, further comprising displaying, within a user interface, the data processing method library in the user application, receiving a second selection, by a user, of a different one of the data processing methods from the data processing method library to be used on second sample data, executing the second selected data processing method to process the second sample data, and displaying results of the second executed data processing method to the user.
[0168] Example 13 includes a computer-implemented method for adaptive data processing of analytical instrument sample data acquired during an instrument run containing a plurality of different sample types, comprising receiving an indication of a first sample type of a first portion of the analytical instrument sample data, comparing the received indication of first sample type with the plurality of data processing methods stored in a data processing method library, determining a best-fit data processing method for the first portion of the analytical instrument sample data based on the comparison of the first sample type and the plurality of data processing methods, receiving an indication of a second sample type of a second portion of the analytical instrument sample data, wherein the second sample type is different than the first sample type, comparing the received indication of the second sample type with the plurality of data processing methods stored in the data processing method library, determining a best-fit data processing method for the second portion of the analytical instrument sample data based on the comparison of the second sample type and the plurality of data processing methods, wherein the best-fit data processing methods for the first portion and the second portion are different, executing the determined best-fit data processing method for the first portion of the analytical instrument sample data on the first portion, executing the determined best-fit data processing method for the second portion of the analytical instrument sample data on the second portion, and displaying the processed results of each execution to a user.
[0169] Example 14 includes the subject matter of Example 13, wherein each data processing method stored in the data processing method library contains an indication of sample type to which the data processing method corresponds.
[0170] Example 15 includes the subject matter of any of Examples 13 or 14, wherein the indication of the first sample type comprises a standard sample type.
[0171] Example 16 includes the subject matter of any of Examples 13-15, wherein the indication of the second sample type comprises a degraded sample type.
[0172] Example 17 includes the subject matter of any of Examples 13-16, wherein the first sample type is defined by a user during an instrument run generating the sample data.
[0173] Example 18 includes the subject matter of any of Examples 13-17, wherein the first sample type is contained within metadata of the sample data.Atty. Docket No. [TP388697WO1]
[0174] Example 19 includes a computer-implemented method for processing scientific instrument data, comprising displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application, , wherein the data processing method library is accessible by a user through a data processing method management interface served by the first environment to the user application, receiving a selection, by a user, of one of the data processing methods from the data processing method library to be trained, display the selected data processing method within a training interface, training the selected data processing method with training data within the training interface, executing the trained selected data processing method to process test data to generate a confidence score within the training interface, and releasing the trained selected data processing method for use within the data processing method library upon the confidence score exceeding a predetermined threshold.
[0175] Example 20 includes the subject matter of Example 19, further comprising generating subsequent confidence scores of the trained data processing method during use of the trained data processing method outside of the training interface, and displaying a trend of the subsequent confidence scores to a user.
Claims
Atty. Docket No. [TP388697WO1]1 . A computer-implemented method for processing scientific instrument data, comprising: displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application, wherein the data processing method library is accessible by a user through a data processing method management interface served by the first environment to the user application; receiving a selection, by a user, of one of the data processing methods from the data processing method library to be used on sample data; executing the selected data processing method to process the sample data; and displaying results of the executed data processing method to the user.
2. The method of Claim 1 , wherein the selected data processing method is executed by a service of the first environment.
3. The method of Claim 1 , wherein the first environment is a cloud-based environment and the second environment is an on-premise computing environment.
4. The method of Claim 1 , wherein the first environment is a first cloud-based environment and the second environment is a second cloud-based environment.
5. The method of Claim 1 , further comprising, downloading executable code of the selected data processing method from the first environment, and wherein executing the selected data processing method comprises executing the data processing method by the user application.
6. The method of Claim 1 , further comprising: updating at least one of the data processing methods in the first environment; receiving a selection, by the user, of the updated data processing method from the data processing method library to be used on the sample data; and executing the selected updated data processing method to process the sample data.
7. The method of Claim 6, wherein updating at least one of the data processing methods includes updating a version of the at least one of the data processing methods, and wherein the updated version of the at least one of the data processing methods comprises an updated training of the at least one data processing method.
8. The method of Claim 1, wherein the data processing method library contains a machine learningbased data processing method and a non-machine learning-based data processing method.Atty. Docket No. [TP388697WO1]9. The method of Claim 1 , wherein at least one of the data processing methods comprises data processing logic for processing the sample data and graphical user interface logic to display results of the data processing logic in a manner specific to the at least one of the data processing methods.
10. The method of Claim 1, further comprising training a machine learning-based data processing method of the data processing methods on a first subset of the sample data and testing the machine learning-based data processing method on a second subset of the sample data.11 . The method of Claim 10, wherein the sample data is acquired from a single instrument run.
12. The method of Claim 1, further comprising: displaying, within a user interface, the data processing method library in the user application; receiving a second selection, by a user, of a different one of the data processing methods from the data processing method library to be used on second sample data; executing the second selected data processing method to process the second sample data; and displaying results of the second executed data processing method to the user.
13. A computer-implemented method for adaptive data processing of analytical instrument sample data acquired during an instrument run containing a plurality of different sample types, comprising: receiving an indication of a first sample type of a first portion of the analytical instrument sample data; comparing the received indication of first sample type with the plurality of data processing methods stored in a data processing method library; determining a best-fit data processing method for the first portion of the analytical instrument sample data based on the comparison of the first sample type and the plurality of data processing methods; receiving an indication of a second sample type of a second portion of the analytical instrument sample data, wherein the second sample type is different than the first sample type; comparing the received indication of the second sample type with the plurality of data processing methods stored in the data processing method library; determining a best-fit data processing method for the second portion of the analytical instrument sample data based on the comparison of the second sample type and the plurality of data processing methods, wherein the best-fit data processing methods for the first portion and the second portion are different; executing the determined best-fit data processing method for the first portion of the analytical instrument sample data on the first portion; executing the determined best-fit data processing method for the second portion of the analytical instrument sample data on the second portion; andAtty. Docket No. [TP388697WO1] displaying the processed results of each execution to a user.
14. The method of Claim 13, wherein each data processing method stored in the data processing method library contains an indication of sample type to which the data processing method corresponds.
15. The method of Claim 13, wherein the indication of the first sample type comprises a standard sample type.
16. The method of Claim 15, wherein the indication of the second sample type comprises a degraded sample type.
17. The method of Claim 13, wherein the first sample type is defined by a user during an instrument run generating the sample data.
18. The method of Claim 13, wherein the first sample type is contained within metadata of the sample data.
19. A computer-implemented method for processing scientific instrument data, comprising: displaying, within a user interface in a user application, a data processing method library containing data processing methods stored in a first environment external to a second environment which hosts the user application; receiving a selection, by a user, of one of the data processing methods from the data processing method library to be trained; display the selected data processing method within a training interface; training the selected data processing method with training data within the training interface; executing the trained selected data processing method to process test data to generate a confidence score within the training interface; and releasing the trained selected data processing method for use within the data processing method library upon the confidence score exceeding a predetermined threshold.
20. The method of Claim 19, further comprising: generating subsequent confidence scores of the trained data processing method during use of the trained data processing method outside of the training interface; and displaying a trend of the subsequent confidence scores to a user.
Citation Information
Patent Citations
Data analysis method, device, electronic device and readable storage medium
CN118051654B
Training, adapting, optimizing, and deployment of machine learning models using cloud-supported platforms
US20230342600A1