Methods, media, and systems for generating chromatography processing activity graphs

CN116897285BActive Publication Date: 2026-08-18WATERS TECH IRELAND LIMITED IE
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180087283.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-23
Filing Date
2021-12-22
Publication Date
2026-08-18
Estimated Expiration
2041-12-22

Smart Images

  • Figure CN116897285B_ABST
    Figure CN116897285B_ABST
Patent Text Reader

Abstract

Exemplary embodiments provide methods, media, and systems for creating a processing activity graph for an analytical workflow in a chromatography experiment. Result sets for the analytical workflow can be created and maintained at various stages of the analytical workflow. A use-in-progress version of a result set can be persisted when certain trigger conditions are met. For example, a read-only historical archive copy of a result set can be created while a previous version of the result set is used in the next stages of the analytical workflow. Trigger conditions can include a number of situations, such as moving backward in the workflow and making changes, moving across a gated step boundary in the analytical workflow, or receiving an instruction to clear a result set. The persistent historical copies of result sets can be used to support audits of compliance-oriented analytical processes.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Cross-references to related applications

[0002] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 130,052, filed December 23, 2020. The entire disclosure of that application is incorporated herein by reference. Background Technology

[0003] Chromatography is a method of separating mixtures by passing them, in solution, suspension, or as vapor, through a medium in which the components of the mixture move at different rates. The components can then be analyzed to identify their presence, amount, concentration, or other properties. Chromatography includes many different techniques, such as mass spectrometry (MS), liquid chromatography-mass spectrometry (LC-MS), and many others. Summary of the Invention

[0004] Exemplary implementations involve identifying triggering conditions that can occur during a chromatographic analysis workflow, and using these triggering conditions to mark points where result sets for chromatographic experiments should be persistently saved and archived. Records of changes to the workflow and historical result sets can be used to create a processing activity graph that can be displayed to the user on a user interface.

[0005] Exemplary embodiments may take the form of computer-implemented methods, instructions stored on a non-transitory computer-readable medium, computing devices, etc. Unless otherwise stated, the described embodiments are contemplated to be used individually to achieve the individual advantages described below, or may be applied in any combination to achieve synergistic results.

[0006] According to the first embodiment, a first copy of the results set can be accessed. The results set may be a data structure that includes data used for chromatographic experiments and is configured to be processed according to an analytical workflow comprising multiple levels. These levels may represent predefined sets of calculations performed together; each level may be organized to perform a set of calculations associated with common chromatographic tasks, such as identifying peaks in spectra generated from chromatographic experiments, identifying components in mixtures, or generating calibration curves. The analytical workflow may be configured to execute in a specific order, wherein a limited set of calculations is performed at the current level to generate a limited dataset, such as the data required to process the next level.

[0007] It can receive instructions for interacting with and analyzing workflows. Interactions can include, for example, executing a level of the analysis workflow, changing workflow settings, returning to a previous workflow level, or advancing to the next level in the workflow. Instructions can be in the form of user commands issued via a user interface or automated commands generated by the computing device.

[0008] Interactions can be identified as matching trigger conditions. Trigger conditions can be situations or sets of situations that do not comply with data integrity best practices, trigger record retention requirements for regulatory compliance purposes, pre-configured situations where administrators have requested record retention for audit purposes, or any other situation where record retention is expected to be recorded in response to changes made to the workflow.

[0009] In response to identification, a second copy of the result set can be created. Either the first or second copy of the result set can be set as a persistent archive copy. A persistent archive copy can be, for example, a history that is not intended to be edited; for instance, a persistent archive copy can be a data structure containing information from the result set before the triggering condition is met, set to read-only. The analysis can then proceed with another copy of the result set (i.e., a non-persistent, non-archived copy).

[0010] Because result sets are persistently stored in response to identified trigger conditions, a complete history of data in the analysis can be preserved, and decisions leading to the final form of the data can be tracked. This allows for efficient and automated auditing and oversight reporting by querying historical versions of result sets. Furthermore, reviewing users can easily determine whether workflow changes are made for good reasons (e.g., to correct errors) or bad reasons (e.g., to apply knowledge gained from relatively late stages of the analysis to calculations performed at earlier stages to influence the results).

[0011] According to the second implementation scheme, the triggering condition may be one or more of the following: moving backward or forward in the workflow across a step boundary between levels, moving backward or forward in the workflow across a gated step boundary between levels, moving across a step boundary between levels that the administrator has defined as requiring a version to be generated, moving backward in the analysis workflow and making changes that will alter previously generated results, or receiving an instruction to clear the result set.

[0012] As used above, step boundaries can exist between each level. Some step boundaries can be ungated because they do not require user confirmation that they wish to move from one level to the next. Other step boundaries can be gated because they require such confirmation, or something more, such as credentials or a reason for moving between levels. Administrators can define any step boundary (gated or ungated) that can require the creation of a new version of the result set.

[0013] The examples described in the second implementation cover numerous scenarios where the creation of archived copies of the result sets can aid in subsequent audits or regulatory compliance. Even when audits or compliance are not required, generating persistent archived copies of the result sets at these times is particularly useful in identifying how and when analytical decisions are made. This allows reviewers to learn from expert analysts and ensures that analysts are applying best practices (even if legally not required).

[0014] According to the third implementation scheme, triggering conditions may include switching to manual integration settings, changing calibration parameters for chromatographic experiments, or changing method settings. While these are acceptable actions performed within an analytical workflow, they can become problematic in certain contexts. Creating an archived version of the results set before applying these changes allows for review to ensure they are applied appropriately.

[0015] According to the fourth implementation, the persistent archive copy can be a second copy of the result set, and the first copy of the result set can be used as the analysis workflow progresses. In other words, when a trigger condition is identified, the new copy of the result set created in response is set to become a backup copy. The original (first) copy of the result set that has already been analyzed in the analysis workflow can continue to be used as a working copy modified by the workflow. For example, the instance identifier of the first copy of the result set remains the same as the analysis workflow progresses. The instance identifier can be an identifier applied by a data storage structure (such as a database) that identifies the stored data used for processes in the workflow. Alternatively, the result set can also be associated with a version number indicating how many times it has been modified. Each time the original result set is copied to make an archive copy, the version number of the original result set can be incremented; the version number at the appropriate position when copying the original version can be copied as the version number of the archive copy. By maintaining the same instance identifier on the original data, the workflow can progress more efficiently because the workflow approach does not need to update the instance identifier to use the new copy of the result set. By maintaining separate version numbers, the evolution of the result set can be more easily tracked in the visual processing activity graph.

[0016] According to the fifth implementation, the results may include sub-documents. For example, a sub-document may be a document created by a specific single level in the analysis workflow and may include output data generated by that specific level. Different sub-documents can be generated for each level, allowing data from each level to be separated. It also allows users to more efficiently return to previous levels, make adjustments, and rerun the processing of a level. Sub-documents in the result set can be tagged with version identifiers that specify the version of the result set for which the sub-documents were created. Therefore, changes to the result set can be identified at a more granular level. Even if information about the changes (e.g., the processing activity diagram generated during the analysis workflow) is lost, these changes can be reconstructed by identifying which sub-documents were created for which version of the result set.

[0017] According to the sixth implementation, a first copy of the result set may include a first sub-document, and subsequent copies of the result set may include a second sub-document. The first and second sub-documents can be compared to identify differences between the first and subsequent copies of the result set. In this way, a system can make inferences about how the result set changes over time and can identify how certain changes to the workflow alter the result set by comparing different historical versions of the sub-documents. For example, in a given result set, a sub-document associated with level A may have been created for version 1 of the result set, and a sub-document associated with subsequent level B may have been created for version 2 of the result set. Based on this information, the system can infer the existence of a sub-document for level B created for version 1, which level B was subsequently re-run to create version 2 of the result set. This change can be flagged and presented to a reviewer who may attempt to identify what changes were made to the workflow and why. Before making changes to trigger the result set to version 2, the reviewer can, for example, retrieve historical versions 1 of the result set to see what the original result of level B was (by querying the level B sub-documents of version 1).

[0018] According to the seventh implementation scheme, the analytical workflow can be associated with an embedded method. One method can be an analytical method used for analyzing chromatographic experiments; this method can include many aspects, from the selection of chromatographic modes to quantitative techniques. The embedded method can be derived from a template method. A template method is a method created independently of any given workflow that can undergo a method validation process. It can then be associated with a specific workflow, thereby being embedded into the workflow's result set. However, after the template method is embedded into the result set, it may be changed to a new version; therefore, applying the new template method with an earlier result set may produce different results. Therefore, the embedded method applied to a specific result set can be persistently stored along with a persistent archive copy of the result set, allowing the method used to generate the result set to be later identified for audit, oversight, or review purposes. Attached Figure Description

[0019] For ease of identification of any particular element or action, one or more of the most effective numbers in the reference numerals refer to the reference numeral that first introduced the element.

[0020] Figure 1 An example of a mass spectrometry system according to an exemplary implementation is shown.

[0021] Figure 2 An example of a process workflow according to one implementation scheme is shown.

[0022] Figure 3 A simplified example of a result set that is updated as a user moves through an exemplary process workflow, according to one implementation, is depicted.

[0023] Figure 4A This is a flowchart depicting exemplary general logic suitable for use with exemplary embodiments.

[0024] Figure 4B It describes the application to a specific trigger type according to an implementation scheme. Figure 4A A flowchart illustrating the logic.

[0025] Figure 5 It is a state diagram that depicts the possible states of the result set based on an implementation scheme.

[0026] Figure 6 It is a data flow diagram showing how the result set of an implementation changes over time.

[0027] Figure 7 An exemplary computer system architecture is described that can be used to practice the exemplary implementations described herein. Detailed Implementation

[0028] The process of analyzing chromatographic results can be divided into several steps. Analysts have some autonomy at each step regarding how to perform that step (e.g., adjusting certain parameters based on the analysis being performed).

[0029] For example, chromatographic data can be represented as a chromatogram with peaks at different locations. Each location may correspond to a different component in the mixture being analyzed. The magnitude of the peak can represent the relative abundance of that component. Therefore, to determine the abundance of each component, the analysis may include detecting the peaks and integrating the curve near the peaks. Analysts may have many different techniques available for performing peak detection and integration. For example, analysts may apply different methods of automated peak detection, such as using the second derivative of the chromatogram to detect the peak at its apex, or identifying the peak's lift-off point by comparing the slope of the chromatogram to a fixed threshold. Alternatively or otherwise, analysts may manually identify peaks. Options exist at each stage of the analysis; see Empower 3: Data Acquisition and Processing Theory Guide, published by Waters Corporation of Milford, Massachusetts.

[0030] Analysts can choose between different options based on their optimal understanding of the current experimental context. Various options are available at each analytical step, and the analyst's choices can have downstream effects on the final results.

[0031] Chromatography is often used in conjunction with industries with regulatory or other compliance requirements, such as pharmaceuticals or biotechnology. Analytical workflows can be compliance-oriented; for example, results and decisions made at each level may need to be retained for auditing, and the analysis should be conducted in such a way that regulators can be confident that decisions made at each step are for obtaining accurate results (and not achieving predetermined conclusions). To this end, compliance with guidelines or regulations can provide data integrity requirements (e.g., requiring data from each analytical step to be retained and protected from alteration) and / or workflow requirements (e.g., requiring the analytical workflow to include certain necessary steps, such as calibrating experimental equipment, proceeding in a specific order, and preventing users from using knowledge gained in one processing step to improperly influence the analytical results). This is further complicated by the fact that different countries may have their own compliance regimes.

[0032] To better comply with regulatory requirements, some chromatography analysis software offers certain types of workflow protection. For example, the analysis can involve steps that are separate from each other. At each step, only the information needed to proceed to the next step can be calculated and used to update the result set, thus effectively providing information to the analyst on a "need-to-know" basis, preventing the analyst from targeting a specific desired result.

[0033] However, this does not prevent analysts from running analytical steps and then using that information to rerun the analysis. For example, suppose an analyst selects a peak integration technique based on their knowledge of the experimental context and generates a first set of results. This first set of results may indicate that potentially toxic components of the mixture are present at concentrations exceeding the permissible limits of government regulatory agencies. The analyst should not be able to use this knowledge to return to the peak integration step and select a different integration method that might show a reduction in the amount of the component.

[0034] Nevertheless, there may be legitimate reasons to revert to an earlier step in the analysis (e.g., if an error was made at an earlier step, or if an error occurred due to invalid input or other uncertainties, or if the user simply wants to see what was produced at an earlier step). Ideally, analytics software should retain information for compliance purposes, prevent or record problematic changes to the analysis, and give analysts the autonomy to apply their own expertise.

[0035] Note that reverting to a previous processing step to make changes that affect downstream outcomes is just one example of a potentially problematic situation. More generally, actions taken during the workflow that do not conform to best practices, may violate compliance or regulatory requirements, or are marked as reserved for audit purposes are referred to below as triggers.

[0036] The exemplary implementation described below addresses the aforementioned problems by calculating and retaining a processing activity diagram. The processing activity diagram formalizes the guided analysis workflow as a series of steps and updates the result set using calculations performed at each step. The result set is versioned and retained. The result set is versioned and retained when certain triggers occur. Records of different versions of the result set can be presented in a GUI in the form of a diagram or flow to simply and easily understand the changes made to the result set throughout the workflow.

[0037] Consider, for example, a user moving backward across a processing step boundary and making changes to the downstream results. When the user crosses the step boundary, a flag can be applied to the workflow step. As long as no changes are made when the flag is applied, the result set remains in its current version. If changes are made at any workflow step when the flag is applied (e.g., switching to manual integration, changing calibration parameters, or changing method settings), then: (1) the current version of the result set is persisted; (2) the current version is copied to create a new instance with an incrementing version number; and (3) the flag is cleared from the new version. This process is then repeated for the new version.

[0038] These and other features will now be described in more detail with reference to the accompanying drawings.

[0039] For illustrative purposes, Figure 1This is a schematic diagram of a system that can be used in conjunction with the techniques described in this article. Although Figure 1 A specific type of apparatus in a particular LCMS configuration has been described, but those skilled in the art will understand that different types of chromatographic apparatus (e.g., MS, tandem MS, etc.) may also be used in conjunction with this disclosure.

[0040] Sample 102 is injected into liquid chromatography 104 via injector 106. Pump 108 can pump the sample through column 110 to separate the mixture into component fractions based on the retention time through the column.

[0041] The output from the chromatographic column is fed into mass spectrometer 112 for analysis. Initially, the sample is desolvated and ionized by desolvation / ionization device 114. Desolvation can be any desolvation technique, including, for example, a heater, a gas, a heater combined with a gas, or other desolvation techniques. Ionization can be achieved using any ionization technique, including, for example, electrospray ionization (ESI), atmospheric pressure chemical ionization (APCI), matrix-assisted laser desorption / sorption ionization (MALDI), or other ionization techniques. Ions generated by ionization are fed into collision chamber 118 by a voltage gradient applied to ion guide 116. Collision chamber 118 can be used to transfer ions (low energy) or fragment ions (high energy).

[0042] Various techniques can be used (including those described in U.S. Patent 6,717,130 to Bateman et al., which is incorporated herein by reference), wherein an alternating voltage can be applied to the collision chamber 118 to induce fragmentation. Spectra of the precursor (no collision) at low energy and the fragments (products of the collision) at high energy are collected.

[0043] The output of the collision chamber 118 is input to the mass analyzer 120. The mass analyzer 120 can be any mass analyzer, including quadrupole, time-of-flight (TOF), ion trap, sector magnetic field mass analyzer, and combinations thereof. A detector 122 detects ions emitted from the mass analyzer 122. The detector 122 can be integrated with the mass analyzer 120. For example, in the case of a TOF mass analyzer, the detector 122 can be a microchannel plate detector that counts ion intensity (i.e., counts the injected ions).

[0044] Storage device 124 can provide a permanent storage device to store ion counts for analysis. For example, storage device 124 can be an internal or external computer data storage device, such as a disk, flash-based storage device, etc. Analysis computer 126 analyzes the stored data. Data can also be analyzed in real time without needing to be stored in storage medium 124. In real-time analysis, detector 122 directly transmits the data to be analyzed to computer 126, rather than first storing it in a permanent storage device.

[0045] Collision chamber 118 performs fragmentation of precursor ions. Fragmentation can be used to determine the primary sequence of the peptide, and subsequently, the origin protein can be identified. Collision chamber 118 contains a gas, such as helium, argon, nitrogen, air, or methane. When a charged precursor interacts with gas atoms, the resulting collisions can fragment the precursor by breaking it down into fragment ions. This fragmentation can be achieved using the technique described in Bateman by switching the voltage in the collision chamber between a low voltage state (e.g., low energy, <5V) and a high voltage state (e.g., high energy or elevated energy, >15V), where the low voltage state is used to obtain the MS spectrum of the peptide precursor, and the high voltage state is used to obtain the MS spectrum of the collision-induced fragments of the precursor. The high and low voltages can be referred to as high energy and low energy, respectively, because high or low voltage is used to impart kinetic energy to the ions.

[0046] Various procedures can be used to determine when and how to switch the voltage used for this type of MS / MS acquisition. For example, conventional methods trigger the voltage in target or data correlation mode (data correlation analysis, or DDA). These methods also include gas-phase isolation (or pre-selection) coupled to the target precursor. Low-energy spectra are acquired and checked in real-time by software. When the desired mass reaches a specified intensity value in the low-energy spectrum, the voltage in the collision chamber switches to a high-energy state. High-energy spectra for the pre-selected precursor ions are then obtained. These spectra contain fragments of the precursor peptides seen at low energies. After sufficient high-energy spectra have been collected, data acquisition returns to a low-energy state to continue searching for precursor masses with suitable intensities for high-energy collision analysis.

[0047] Different suitable methods can be used in conjunction with systems such as those described herein to obtain ion information, such as combining information on precursor and product ions for mass spectrometry used to analyze samples. While conventional switching techniques can be employed, implementations can utilize the technique described in Bateman, which can be characterized as a fragmentation protocol that switches voltages in a simple alternating cycle. This switching is performed at a sufficiently high frequency to include multiple high-energy spectra and multiple low-energy spectra within a single chromatographic peak. Unlike conventional switching protocols, this cycle is independent of the content of the data. This switching technique described in Bateman provides efficient simultaneous mass analysis of both precursor and product ions. In Bateman, the use of high-energy and low-energy switching protocols can be applied as part of a single-injection LC / MS analysis of peptide mixtures. In data acquired from a single injection or experimental run, the low-energy spectra contain ions primarily from the unfragmented precursor, while the high-energy spectra contain ions primarily from the fragmented precursor. For example, a portion of the precursor ions can be fragmented to form product ions, and the precursor and product ions can be analyzed substantially simultaneously, or simultaneously, or, for example, using rapid succession, by applying rapidly switching or alternating voltages to the collision chamber of the MS module, switching between low voltages (e.g., predominantly generating precursors) and high or elevated voltages (e.g., predominantly generating fragments). MS operation employing rapid succession alternating between high (or elevated) energies and low energies, according to the Bateman technique described above, may also be referred to herein as the Bateman technique and the high-low procedure.

[0048] In summary, when operating the system using Bateman technology, sample 102 is introduced into the LC / MS system. The LC / MS system generates two sets of spectra: a set of low-energy spectra and a set of high-energy spectra. The low-energy spectra primarily contain precursor-related ions. The high-energy spectra primarily contain fragment-related ions. These spectra are stored in storage device 124. After data acquisition, these spectra can be extracted from storage device 124 and displayed and processed using post-acquisition algorithms in analysis computer 126.

[0049] Data acquired using the high-low protocol allows for the accurate determination of retention times, mass-to-charge ratios, and intensities of all ions collected in both low-energy and high-energy modes. Generally, different ions are observed in the two different modes, and the spectra acquired in each mode can be further analyzed individually or in combination. Ions from a common precursor, observed in one or both modes, will share the same retention times (and therefore have substantially the same scan times) and peak shapes. The high-low protocol allows for meaningful comparisons of the different characteristics of ions within a single mode and between modes. This comparison can then be used to group the ions observed in the low-energy and high-energy spectra.

[0050] The exemplary implementation described herein can be executed at analysis computer 126. Figure 7 An example of a device suitable for use as an analysis computer 126 is depicted.

[0051] Figure 2 Depicting what can be made by Figure 1 An exemplary workflow 202 for analyzing computer 126 applications is described. Workflow 202 is designed to acquire a set of inputs 204, apply multiple workflow steps or levels to the inputs to generate an output at each level, and continue processing the output at subsequent levels to generate experimental results. Note that workflow 202 is a specific example of a workflow and includes specific levels executed in a specific order. However, the invention is not limited to this. Figure 2 The specific workflow described herein. Other suitable workflows may have more, fewer, or different levels executed in different orders; Figure 3 Different examples are shown in the text.

[0052] The initial input set 204 may include a sample set 206, which comprises raw (unprocessed) data received from the chromatographic experimental apparatus. This may include measurements or readings, such as mass-to-charge ratio. Measurements initially present in sample set 206 may be measurements that have not yet been processed (e.g., to perform peak detection or other analytical techniques).

[0053] The initial set of inputs 204 may also include a processing method 208, which may be a template method (as discussed above) applied to (and thus embedded in) workflow 202. Processing method 208 may include settings to be applied at various levels of workflow 202.

[0054] The initial input set 204 may also include a result set 210. When created, the result set 210 may include information from the sample set 206. In some cases, the sample set 206 may be processed in some initial manner when copied to the result set 210—for example, MS data may need to be extracted, smoothed, etc., before being provided to workflow 202. The processing applied to the initial result set 210 may be determined on a case-by-case basis based on the workflow 202 in use. Once the raw data has been copied from the sample set 206 to create the result set 210, the result set 210 may be completely independent of the sample set 206 for the remainder of its lifecycle.

[0055] Workflow 202 can be divided into a group of levels. Each level can be associated with one or more level processors that perform the computations associated with that level. Each level processor can be associated with level settings that affect how the processor generates output from a given input.

[0056] Levels can be separated from each other by step boundaries 238. Step boundary 238 can represent a point where the output has been generated by the level and stored in the result set, at which point processing can proceed to the next level. Some level boundaries may require certain types of input to be crossed (e.g., data generated at a given level may need to be reviewed by one or more reviewers who need to provide their authorization to cross step boundary 238 to the next level). Step boundary 238 can be applied in any direction at any time when a user moves from one level to a different level. For example, step boundary 238 exists when a user moves from initialization level 212 to channel processing level 214, but it also exists when a user attempts to move backward from quantitative level 222 back to integration level 216. The step boundary 238 can be ungated, meaning that once the user decides to move to the next level, no further input is required (or only coarse input is needed), or it can be gated, meaning that the user must provide some type of confirmation indicating that they wish to proceed to the selected level (possibly in response to a warning issued by the analysis computer 126), or a reason for moving to a certain level, or credentials authorizing the workflow 202 to proceed to the selected level.

[0057] In initialization stage 212, each of the stage processors can respond by clearing the results it generates. For example, the stage processor of channel processing stage 214 can clear all its derived channel and peak tables (see below). At any point in time, the clear stage setting can clear stage traces from the current stage and any subsequent stages. In this example, initialization stage 212 does not generate any output.

[0058] After crossing step boundary 238, processing can proceed to channel processing stage 214. As described above, the chromatographic detector can be associated with one or more channels on which data can be collected. At channel processing stage 214, analysis computer 126 can derive a set of processed channels from the data present in result set 210 and output a processed channel list 226. The processed channel list 226 can be stored in a versioned sub-document associated with channel processing stage 214, which can be included in result set 210.

[0059] After crossing step boundary 238, processing can proceed to integration stage 216, which identifies peaks in the data in result set 210 based on the processed channel list 226. Integration stage 216 can identify peaks using techniques specified in its settings, which can be defined in processing method 208. Integration stage 216 can output a peak table 228 and store it in a versioned sub-document associated with integration stage 216. This sub-document can be included in result set 210.

[0060] After crossing step boundary 238, processing can proceed to identification level 218. At this level, analysis computer 126 can identify the components in the mixture analyzed by the chromatographic equipment based on information in peak table 228. Identification level 218 can output component table 230, which includes a list of components present in the mixture. Component table 230 can be stored in a versioned sub-document associated with identification level 218. This sub-document can be included in results set 210.

[0061] After crossing step boundary 238, processing can proceed to calibration stage 220. During chromatographic experiments, calibration compounds can be injected into the chromatographic apparatus. This process allows analysts to account for subtle variations in electronics, surface cleanliness, laboratory environmental conditions, etc., throughout the experiment. In calibration stage 220, data obtained regarding these calibration compounds are analyzed and used to generate calibration table 232, which allows analytical computer 126 to correct the data to ensure its reliability and reproducibility. Calibration table 232 can be stored in a versioned sub-document associated with calibration stage 220. This sub-document can be included in results set 210.

[0062] After crossing step boundary 238, processing can proceed to quantification stage 222. Quantification refers to the process of determining the numerical value of the amount of analyte in a sample. Analytical computer 126 can use results from previous stages to quantify the components included in component table 230. Quantification stage 222 can update component table 230 stored in result set 210 with the quantification results 234. The updated component table 230 can be stored in a versioned sub-document associated with quantification stage 222. This sub-document can be included in result set 210.

[0063] After crossing step boundary 238, processing can proceed to summary level 224. In summary level 224, the results of each previous level can be analyzed and incorporated into summary result report 236. Summary result 236 can be stored in a versioned sub-document associated with summary level 224. This sub-document can be included in result set 210.

[0064] The above description provides a direct example of how the analysis process can occur given the depicted workflow 202. However, in practice, analysts may not proceed through the workflow in this direct manner. Versioning of result set 210 can be triggered when an analyst makes changes to workflow settings or parameters during analysis. To understand how result set 210 is versioned over time, a process activity diagram can be generated, such as... Figure 3 The example is shown in the image.

[0065] Figure 3An exemplary processing activity diagram 300 is depicted, which can be generated to illustrate how and when workflow settings are changed. This example is set up to detect a specific trigger condition (i.e., when a user moves backward in the workflow and changes the workflow settings).

[0066] The workflow represented in Process Activity Diagram 300 comprises seven levels: Inspection Acquisition Level 302, Inspection Input Level 304, Integration Peak Level 306, Identification Component Level 308, Calibration Level 310, System Adaptability Level 312, and Result Level 314. Descriptions of the specific processes performed by each level are not necessary for understanding Process Activity Diagram 300 and are therefore omitted for brevity.

[0067] In the processing activity diagram 300, each circular node corresponds to a result set, which, as described above, is updated using the output from each level. Changes in the version number of the result set are indicated by changes in the node's outline (e.g., from a solid line to a dashed line). In this example, two result sets are generated; the processing activity diagram 300 allows reviewers to understand what changes were made to the workflow settings throughout the analysis and to determine whether those changes were appropriate.

[0068] Each time a user advances to the next level in the workflow, this is marked by a step boundary transition 324 in the processing activity diagram 300. In this example, the user has been advancing through this analysis from the inspection acquisition level 302 to the result level 314 (as indicated by the nodes connected by the step boundary transition 324 on the left side of the processing activity diagram 300).

[0069] After the user completes the analysis and obtains the results, the user moves backward in the workflow to integrate peak level 306. This is part of the trigger condition, but the trigger condition is a multi-part requirement (the user must move backward in the workflow and change the workflow settings). Moving backward is indicated in the processing activity diagram by step boundary inversion 316, which is similar to step boundary transition 324 but visually distinguishable (in this case, by using a dashed line) because it represents part of the trigger condition requirement. The result set can now also be associated with an inversion marker indicating that part of the trigger condition has been met.

[0070] In this example, the user then proceeds from the integration peak stage 306 to the calibration stage 310 without changing the workflow settings. Therefore, the second part of the trigger has not yet been met. The user then performs another step boundary inversion 318, returning to the integration peak stage 306 again. However, at this point, the user changes the workflow settings 320 (e.g., switches to manual peak integration). This triggers the second part of the trigger. In response to detecting the second part of the trigger, the analysis computer 126 checks to see if the inversion flag is (indeed) set. Upon detecting the presence of the inversion flag and the change in workflow settings, the analysis computer 126 determines that the trigger condition has been met and versiones the result set. To identify that the result set has been changed to a new version, the node outline is changed to a dashed line, which continues until the result set is updated to yet another version (not shown) due to the trigger condition being met again.

[0071] When the result set is updated to the new version, the inversion flag is cleared. Moving forward in this example, the user then continues through the workflow to system adaptability level 312, where the user performs another step boundary inversion 322 to identify group level 308. Therefore, the inversion flag is set again. However, the user then proceeds from identifying group level 308 to result level 314 without making any further changes, so the nodes associated with the result set are not further updated to indicate another version.

[0072] The process activity diagram 300 may be stored on a non-transitory computer-readable storage medium and invoked for display on a user interface. The process activity diagram 300 may be interactive. For example, hovering over or clicking a given node may display details about the result set indicated by that node, such as the node version number. If the user hovers over or clicks a node indicating a new version, changes to the workflow settings that led to the new version may be displayed. The user who made the change, and any comments or reasons given for it, can be identified. Sub-documents associated with the output of the level whose settings have been changed may be selectable, where any differences between the changed sub-document and any previous versions of that sub-document are highlighted.

[0073] In some implementations, the processing activity graph can be built as the user progresses through the workflow and updated in parallel with the workflow as the user transitions between levels, trigger conditions are met, and the result set is updated. For example, the current version of the processing activity graph can be stored in the result set or elsewhere accessible to the workflow processor. In other implementations, the processing activity graph 300 can be generated during runtime based on the version number of the result set associated with the experiment and / or the version number of a sub-document within the result set.

[0074] Note that the use of solid, dashed, and dotted lines in this example is purely for illustrative purposes. The versions of the result set and the differences in the actions matching the triggering conditions can be indicated in any suitable way to visually distinguish these differences, such as by using different colors, different shapes, different styles, etc.

[0075] Figure 4A An exemplary process mapping logic 400 for versioning a result set and generating a processing activity graph, according to an exemplary embodiment, is depicted. The process mapping logic 400 may be embodied as a computer-implemented method or instructions stored on a non-transitory computer-readable storage medium, and may be configured to cause a processor to execute it. Figure 4A The logic blocks included. In some implementations, the process mapping logic 400 may be configured to execute Figure 4A The computational system includes logical blocks to execute the calculations.

[0076] At box 402, the system can initialize the result set. Initializing the result set may include generating an empty result set and / or copying data from chromatographic experiments into the result set. The data may be unprocessed initial data or initial data processed to place it in the initial conditions required for a guided analytical workflow. The result set may be initialized with a start version number (e.g., 0 or 1) and a start instance identifier that identifies the result set in a database or other data structure. The instance identifier may be automatically generated by the database or other data structure.

[0077] At decision box 404, the system can determine whether the end of the workflow has been reached (e.g., the user indicates that the result set is final and no further analysis is needed). If not, processing proceeds to box 406. If yes, processing proceeds to box 414.

[0078] At box 406 (further processing is required in decision box 404), the system receives instructions from the user. Instructions may be, for example, instructions to execute the next workflow step, instructions to change settings associated with the workflow (e.g., workflow method settings), or instructions to move to a new level in the workflow (which may include moving forward or backward a specified number of levels in the workflow), and other possibilities.

[0079] At decision box 408, the system can determine whether the instruction received at box 406 meets the trigger condition. The trigger condition can be user-defined, administrator-defined, and / or predefined. The trigger condition can specify a single condition or a combination of conditions that trigger the trigger condition.

[0080] Examples of triggering conditions include, but are not limited to: moving backward or forward across a step boundary between levels in the workflow; moving backward or forward across a gated step boundary between levels in the workflow; moving across a step boundary between levels that the administrator has defined as requiring a version to be generated; moving backward in the analysis workflow and making changes that will alter previously generated results; and receiving an instruction to clear the result set. Other examples that can be applied alone or in combination with the above examples include switching to manual integration settings, changing calibration parameters for chromatographic experiments, or changing method settings.

[0081] If it is determined at decision box 408 that the instruction does not meet the triggering condition, the system may execute the instruction at box 410. If executing the instruction causes the level processor to generate output, the system may optionally update the result set with that output at box 412. This may include adding a new sub-document (marked with the version number of the current result set) to the result set. Processing can then return to decision box 404.

[0082] If the instruction at decision box 408 meets the triggering condition, the system can copy the result set at box 414. The new copy may include a different instance identifier (where the original instance identifier is retained in the original, copied result set). At box 414, the new copy can be persisted, for example, by marking it as a read-only copy and / or storing it in an archive. At box 414, the version number of the original copied result set can be incremented. The copy created at box 414 can have the version number of the original copied result set. Both the original result set and the copy can include a fixed identifier, which can remain the same across different copies of the result set (thus allowing them to be identified as belonging to the same experiment / workflow). Processing can then return to decision box 404.

[0083] If workflow completion was determined at decision box 404, processing can proceed to box 414, and the system can generate a processing activity diagram. At box 414, the system identifies and presents the various levels of the workflow. For example, the workflow can be represented as a data structure or set of data structures that identifies each level and the processor associated with each level. The system can read the data structures to determine the levels involved in the workflow and present these levels in the processing activity diagram (e.g., as shown in...). Figure 3 (Different blocks shown).

[0084] At box 414, the system can identify and retrieve the different result set versions generated in boxes 402-418. The system can query the fixed identifier and the version identifier to determine which result set versions were generated and in what order.

[0085] At box 416, the system can examine the sub-documents associated with each result set, and in particular the version number associated with each sub-document, to identify where the result set differs from the preceding and / or following result sets. Alternatively or in addition, whenever an instruction to move the workflow to a different level is executed in box 410, the system can then log the start and end levels (e.g., in the result set and / or in the processing activity log); similarly, when the instruction at box 410 is an instruction to update settings or when a determination is made at box 408 that an instruction has met a trigger condition, this can also be logged in the result set or the processing activity log. This information can be used to determine how the user moves through the workflow and when the trigger condition is met or a change is made, so that these activities can be reflected in the processing activity diagram 300.

[0086] At box 418, the system can use the information obtained at boxes 414-424 to present or update the processing activity diagram. The processing activity diagram can be presented to the user on the user interface of a display device and / or stored in a non-transitory computer-readable medium.

[0087] This particular example assumes that a processing activity graph is generated after the workflow is completed. However, in some implementations, the processing activity graph can be displayed and updated as the user moves through the workflow. In these implementations, boxes 420-424 can be executed in parallel with boxes 406-418.

[0088] Figure 4A Regarding triggering conditions, assume that one instruction in box 406 can satisfy the triggering condition. However, in some cases, the triggering condition may require the execution of two or more activities (sometimes in a specific order). Figure 4B This section describes exemplary logic for versioning a result set based on multi-part triggering conditions, according to an exemplary implementation. Specifically, the triggering conditions in this implementation are triggered when a user moves backward in the workflow and subsequently makes changes to a method or workflow setting. In this case, the order of the triggering conditions is important: it is acceptable for the user to change the method or workflow settings before, rather than after, seeing the results of subsequent levels.

[0089] Boxes 402-406 are as follows Figure 4A The result set can be initialized using a back flag that can take the value 0 or 1. The result set can initially be initialized with the back flag set to 0.

[0090] After receiving an instruction at box 406, the system can determine what type of instruction was received. In this example, the (simplified) set of instruction types could include instructions to change method or workflow settings, instructions to return to a previous level, or instructions to execute the current level.

[0091] If the instruction is to execute the current level's instructions, processing can proceed as defined by the level's data structure in the workflow. At box 426, the level is executed according to the processor's instructions for that level, generating output. At box 428, this output can be used to update the result set, and at box 430, the system can optionally advance the workflow to the next level.

[0092] In some cases, the workflow will not be automatically advanced; for example, the result set may need to be reviewed and deregistered before moving to the next level. Therefore, the system can put the result set in a review state, as combined with the following... Figure 5 As discussed, after the review is completed and the result set is changed to an approved status, box 430 can cause the workflow to proceed to the next level.

[0093] The process can then return to box 406, where the system awaits further instructions.

[0094] If the instruction is to return to a previous level, the first part of the triggering condition is met. At box 424, the system sets the back flag to 1 and moves to the requested level. Processing then returns to box 406, where the system waits for further instructions.

[0095] If the instruction is to change one or more workflow or method settings, processing can proceed to decision box 422, where the system determines whether the back flag has been set to "1". If not (the back flag is set to "0"), processing can proceed to box 426, and the current level can be executed using the changed settings. If yes (the back flag is set to "1"), the trigger condition has been met. As previously mentioned, the system can create a new version of the result set, and then at box 432, the back flag can be cleared from the current version being processed in the workflow. Processing can then return to box 406, where the system awaits further instructions.

[0096] Figure 5 It is a state diagram depicting the different states that a result set or sub-document may be in according to an exemplary implementation. The state of a document determines what actions can be performed on it.

[0097] The document is initially created in processing state 502. Processing state indicates the initial state in which the document is available for user processing and modification. The result set typically remains in the processing state unless a triggering condition is met or the user ends the workflow.

[0098] If the triggering condition is met, a new copy of the result set is created and placed in history state 506. History state 506 is a read-only state indicating a previous version of the result set. Once a history version is created, it cannot be modified, reprocessed, or deleted individually.

[0099] Meanwhile, the previous result set can have its version number incremented and can be placed in draft state 504. The updated result set can be inspected for any issues, and then the process state 502 can be returned. If a problem occurs and the new version is unacceptable, the draft version can be discarded and the system can revert the result set to the previous processed version.

[0100] When a user is satisfied with the result set but needs authorization to move it to a new level or finalize it, the result set can be moved to review status 508. Review status 508 is a read-only state, where the result set cannot be modified or reprocessed. Users can review the data and review history.

[0101] Depending on the review status, the required signer can accept the data by signing it; if the required signer signs the data, the result set transitions to the approval status 510. Approval status 510 is a read-only end status, where the data cannot be processed further. If the required signer rejects the data, the result set can transition to the rejection status 512. This is also a read-only end status, where the data cannot be processed further. In some cases, the reviewer may neither accept nor reject the result set, but may instead indicate that further processing is required. In this case, the result set moves back to the processing status 502.

[0102] Figure 6 This is an example data flow diagram depicting how result sets are versioned and their state changed throughout the workflow according to an exemplary implementation. For brevity, details of the underlying data for each result set are omitted, but each result set does show its instance identifier (described as the "id" field), fixed identifier ("fixedID"), version number ("version"), and state ("state"). Each of these terms is as defined above.

[0103] Initially, a first instance 602 of the result set was created. Note that the first instance 602 is updated throughout the workflow and used as the processing version. The first instance 602 is created with an instance identifier "111", which is also used as the fixed identifier. The fixed identifier remains the same across all current and historical versions throughout the workflow. The first instance 602 is also created with version number "1" and is created in the processing state.

[0104] At some point in the workflow, a trigger condition is met, and version update 608 is triggered. Therefore, a new copy is created and archived 610 as a second instance 604. The second instance 604 has the same fixed identifier and version number as the first instance 602 from which it was copied, but its instance identifier is updated to "222" and its status is set to "history".

[0105] Then, the version number of the first instance 602 is updated to "2", and the updated first instance 602 is set to the "draft" state. When the updated version is verified, the state is updated to "processing" and it is processed by the workflow. Subsequently, a trigger condition is detected and another version update 612 occurs. This causes another new copy of the first instance 602 to be created and archived 614. The copied version has the version number ("2") of the version of the first instance 602 that created it, and its instance identifier is updated to "333" and its state is set to "historical". The second instance 604 continues to exist as a historical document.

[0106] Then, the first instance 602 updates its version number and is placed in the draft state. When it is verified, it is placed in the processing state again, and the process continues until the first instance 602 is placed in the end state, such as "accept" or "reject".

[0107] Figure 7 An example of a system architecture and data processing apparatus that can be used to implement one or more of the exemplary aspects described herein in a standalone and / or networked environment is shown. Various network nodes, such as data server 710, web server 706, computer 704, and laptop computer 702, can be interconnected via a wide area network 708 (WAN), such as the Internet. Other networks, including private intranets, corporate networks, LANs, metropolitan area networks (MANs), wireless networks, personal networks (PANs), etc., can also be used or alternatively. Network 708 is for illustrative purposes and can be replaced by fewer or more computer networks. A local area network (LAN) can have one or more topologies of any known LAN topology and can use one or more protocols of a variety of different protocols, such as Ethernet. The data server 710, web server 706, computer 704, laptop computer 702, and other devices (not shown) can be connected to one or more networks via twisted-pair cables, coaxial cables, fiber optic cables, radio waves, or other communication media.

[0108] Computer software, hardware, and networks can be used in a variety of different system environments, including standalone, networked, remote access (also known as remote desktop), virtualized, and / or cloud-based environments, etc.

[0109] The term "network" as used herein and depicted in the accompanying drawings refers not only to a system in which remote storage devices are coupled together via one or more communication paths, but also to individual devices that can be coupled from time to time to such systems having storage capabilities. Therefore, the term "network" includes not only a "physical network" but also a "content network" consisting of data residing on all physical networks and attributable to a single entity.

[0110] Components may include a data server 710, a web server 706, a client computer 704, and a laptop computer 702. The data server 710 provides overall access, control, and management of the database and control software for performing one or more exemplary aspects described herein. The data server 710 may connect to the web server 706, through which users interact with and obtain requested data. Alternatively, the data server 710 may itself act as a web server and be directly connected to the Internet. The data server 710 may connect to the web server 706 via a network 708 (e.g., the Internet), via a direct or indirect connection, or via some other network. Users may interact with the data server 710 using a remote computer 704 or laptop computer 702, for example, by using a web browser to connect to the data server 710 via one or more externally public websites hosted by the web server 706. The client computer 704 or laptop computer 702 may be used with the data server 710 to access data stored therein or may be used for other purposes. For example, from client computer 704, a user can access web server 706 using an internet browser (as known in the art) or by executing a software application that communicates with web server 706 and / or data server 710 via a computer network (such as the internet).

[0111] Servers and applications can be combined on the same physical machine and retain separate virtual or logical addresses, or they can reside on separate physical machines. Figure 7 Only one example of a network architecture that can be used is shown, and those skilled in the art will understand that the specific network architecture and data processing apparatus used may vary and are secondary to the functionality they provide, as further described herein. For example, the services provided by web server 706 and data server 710 may be combined on a single server.

[0112] Each component, including data server 710, web server 706, computer 704, and laptop computer 702, can be any type of known computer, server, or data processing device. Data server 710 may include, for example, a processor 712 that controls the overall operation of data server 710. Data server 710 may also include RAM 716, ROM 718, network interface 714, input / output interface 720 (e.g., keyboard, mouse, monitor, printer, etc.), and memory 722. Input / output interface 720 may include various interface units and drivers for reading, writing, displaying, and / or printing data or files. Memory 722 may also store operating system software 724 for controlling the overall operation of data server 710, control logic component 726 for instructing data server 710 to perform the aspects described herein, and other application software 728 for providing auxiliary, support, and / or other functions that may be used in conjunction with or without the aspects described herein. The control logic component may also be referred to herein as data server software control logic component 726. The functionality of data server software can refer to a combination of operations or decisions made automatically based on rules encoded in the control logic components, operations or decisions made manually by users who provide input to the system, and / or automated processing based on user input (e.g., queries, data updates, etc.).

[0113] The memory 1122 may also store data for performing one or more aspects described herein, including a first database 732 and a second database 730. In some embodiments, the first database may include the second database (e.g., as a separate table, report, etc.). That is, information may be stored in a single database or divided into different logical, virtual, or physical databases, depending on the system design. The web server 706, computer 704, and laptop computer 702 may have similar or different architectures as described with respect to the data server 710. Those skilled in the art will understand that the functionality of the data server 710 (or web server 706, computer 704, laptop computer 702) as described herein can be distributed across multiple data processing devices, for example, to distribute the processing load across multiple computers, or to separate transactions based on geographic location, user access level, quality of service (QoS), etc.

[0114] One or more aspects may be embodied in computer-usable or readable data and / or computer-executable instructions, such as in one or more program modules executed by one or more computers or other devices as described herein. Typically, program modules include routines, programs, objects, components, data structures, etc., which perform a specific task or implement a specific abstract data type when executed by a processor in a computer or other device. These modules may be written in source code programming languages ​​that are subsequently compiled for execution, or they may be written in scripting languages ​​such as (but not limited to) HTML or XML. Computer-executable instructions may be stored on a computer-readable medium such as a non-volatile storage device. Any suitable computer-readable storage medium may be used, including hard disks, CD-ROMs, optical storage devices, magnetic storage devices, and / or any combination thereof. Furthermore, various transmission (non-storage) media representing data or events as described herein may be transmitted between a source and a destination in the form of electromagnetic waves propagating through signal conduction media such as metal wires, optical fibers, and / or wireless transmission media. The aspects described herein may be embodied in a method, a data processing system, or a computer program product. Therefore, various functionalities can be embodied, in whole or in part, in software, firmware, and / or hardware or hardware equivalents (such as integrated circuits, field-programmable gate arrays (FPGAs), etc.). Specific data structures can be used to more efficiently implement one or more aspects described herein, and such data structures are envisioned to be within the scope of the computer-executable instructions and computer-available data described herein.

[0115] The components and features of the devices described above can be implemented using any combination of discrete circuit systems, application-specific integrated circuits (ASICs), logic gates, and / or single-chip architectures. Furthermore, where appropriate, the features of these devices can be implemented using microcontrollers, programmable logic arrays, and / or microprocessors, or any combination thereof. It should be noted that hardware, firmware, and / or software elements may be collectively referred to herein or individually as “logic components” or “circuits.”

[0116] It should be understood that the exemplary apparatus shown in the above block diagrams may represent a functionally descriptive example of many possible specific implementations. Therefore, the division, omission, or inclusion of block functions depicted in the figures does not necessarily mean that the hardware components, circuits, software, and / or elements used to implement these functions will be divided, omitted, or included in the implementation.

[0117] At least one computer-readable storage medium may include instructions that, when executed, cause a system to perform any of the computer-implemented methods described herein.

[0118] The expressions “one embodiment” or “implementation” and their derivatives may be used to describe several embodiments. These terms mean that a particular feature, structure, or characteristic described in conjunction with an embodiment is included in at least one embodiment. The phrase “in one embodiment” appearing in different places in the specification does not necessarily refer to the same embodiment. Furthermore, unless otherwise stated, the foregoing features are considered to be used in any combination. Thus, any feature discussed individually may be used in combination with each other unless it is indicated that these features are incompatible with each other.

[0119] Referring generally to the notation and naming used herein, the detailed description herein can be presented as a program procedure executed on a computer or computer network. Those skilled in the art use these program descriptions and representations to most effectively communicate the substance of their work to others skilled in the art.

[0120] The process here is generally considered to be a self-consistent sequence of operations that yields the desired result. These operations are those that require physical manipulation of physical quantities. While not strictly necessary, these quantities are typically in the form of electrical, magnetic, or optical signals that can be stored, transmitted, combined, compared, and otherwise manipulated. It has proven convenient, primarily for general reasons, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, etc. However, it should be noted that all these and similar terms are associated with the appropriate physical quantities and are merely convenient notations applied to them.

[0121] Furthermore, the manipulations performed are often referred to by terms such as addition or comparison, which are generally associated with mental operations performed by a human operator. In any of the operations described herein that form part of one or more embodiments, this ability of a human operator is not necessary or desired in most cases. Instead, these operations are machine operations. Useful machines for performing the operations of the various embodiments include general-purpose digital computers or similar devices.

[0122] The terms “coupled” and “connected”, as well as their derivatives, may be used to describe some implementations. These terms are not necessarily intended to be synonymous with each other. For example, the terms “connected” and / or “coupled” may be used to describe some implementations to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term “coupled” may also mean that two or more elements are not in direct contact with each other, but still cooperate or interact with each other.

[0123] Various implementations also relate to devices or systems for performing these operations. The device may be specifically constructed for the desired purpose, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. The processes presented herein are not inherently related to any particular computer or other device. Various general-purpose machines may be used with programs written in accordance with the teachings of this document, or it may prove convenient to construct more specialized devices to perform the required method steps. The desired structures of various such machines will appear in the given description.

[0124] It should be emphasized that an abstract of this disclosure is provided to allow readers to quickly determine the essence of the technical disclosure. It should be understood that the submitted abstract will not be used to interpret or limit the scope or meaning of the claims. Furthermore, as can be seen in the foregoing detailed description, various features may be grouped together in a single embodiment for the purpose of simplifying this disclosure. This method of disclosure should not be construed as reflecting an intention to claim more features than are expressly stated in each claim. Rather, as reflected in the following claims, the subject matter of the invention has fewer features than all of the individual disclosed embodiments. Therefore, the following claims are incorporated herein by reference to the detailed description, wherein each claim exists independently as a separate embodiment. In the appended claims, the terms “including” and “in which” are used as common English equivalents of the corresponding terms “comprising” and “wherein”, respectively. Furthermore, the terms “first,” “second,” “third,” etc., are used only as labels and are not intended to impose numerical requirements on their objects.

[0125] The foregoing description includes examples of the disclosed architecture. It is certainly impossible to describe every conceivable combination of components and / or methods, but those skilled in the art will recognize that many further combinations and substitutions are possible. Therefore, this novel architecture is intended to cover all such changes, modifications, and variations that fall within the substance and scope of the appended claims.

Claims

1. A method for generating a chromatographic processing activity diagram, comprising: Access a first copy of the results set, which includes data for chromatographic experiments and is configured to be processed according to an analytical workflow comprising multiple levels; Receive instructions to participate in the interaction with the analysis workflow; Identify the interaction and match the triggering conditions; In response to the interaction matching the triggering condition, a second copy of the result set is made; Make one of the first copy or the second copy of the result set a persistent archive copy; as well as Proceed in the analysis workflow using either the first copy or the second copy of the result set.

2. The method of claim 1, wherein the triggering condition includes one or more of the following: Moving backward or forward in the workflow across the step boundaries between the levels; Moving backward or forward in the workflow across the gated step boundaries between the levels; The move across the administrator has been defined as a step boundary between levels that require version generation; Move backward in the analysis workflow and make changes that will alter previously generated results; or Receive an instruction to clear the result set.

3. The method according to claim 1, wherein the triggering includes switching to manual integration settings, changing the calibration parameters of the chromatographic experiment, or changing the method settings.

4. The method of claim 1, wherein the persistent archive copy is the second copy of the result set, the first copy of the result set is used as the analysis workflow progresses, and the instance identifier of the first copy of the result set remains the same as the analysis workflow progresses.

5. The method of claim 1, wherein the result set includes sub-documents, and the sub-documents are tagged with a version identifier of the version of the result set for which the sub-documents were created.

6. The method of claim 5, wherein the first copy of the result set includes a first sub-document and subsequent copies of the result set include a second sub-document, and the method further includes comparing the first sub-document with the second sub-document to identify differences between the first copy of the result set and the subsequent copies of the result set.

7. The method of claim 1, wherein the analysis workflow is associated with the embedding method, and the method further comprises persistently storing the embedding method with the persistent archive copy of the result set.

8. A method for generating a chromatographic processing activity diagram, comprising: Access a first copy of the results set, which includes data for chromatographic experiments and is configured to be processed according to an analytical workflow comprising multiple levels; Receive instructions to participate in the interaction with the analysis workflow; The result set is processed according to the analysis workflow, the processing including: (a) Identify whether the interaction during a certain level matches the triggering conditions; (b) If the interaction matches the triggering condition, a persistence indication is provided to persistently save the result set; Repeat steps (a) and (b) for the multiple levels.

9. The method according to claim 8, further comprising: In response to the interaction matching the triggering condition, a second copy of the result set is made; Make one of the first copy or the second copy of the result set a persistent archive copy; as well as Proceed in the analysis workflow using either the first copy or the second copy of the result set.

10. The method of claim 8, wherein the triggering condition includes one or more of the following: Moving backward or forward in the workflow across the step boundaries between the levels; Moving backward or forward in the workflow across the gated step boundaries between the levels; The move across the administrator has been defined as a step boundary between levels that require version generation; Move backward in the analysis workflow and make changes that will alter previously generated results; or Receive an instruction to clear the result set.

11. The method of claim 9, wherein the persistent archive copy is the second copy of the result set, the first copy of the result set is used as the analysis workflow progresses, and the instance identifier of the first copy of the result set remains the same as the analysis workflow progresses.

12. The method of claim 8, wherein the result set includes sub-documents, and the sub-documents are tagged with a version identifier of the version of the result set for which the sub-documents were created.

13. The method of claim 12, wherein the first copy of the result set includes a first sub-document and subsequent copies of the result set include a second sub-document, and wherein the instructions further configure the computer to compare the first sub-document with the second sub-document to identify differences between the first copy of the result set and the subsequent copies of the result set.

14. The method of claim 9, wherein the analysis workflow is associated with the embedding method, and wherein the instructions also configure the computer to persistently store the embedding method with the persistent archive copy of the result set.

15. The method of claim 8, wherein the triggering includes switching to manual integration settings, changing calibration parameters of the chromatographic experiment, or changing method settings.

16. The method of claim 8, wherein if the interaction matches a triggering condition, the indication is provided in a visually distinguishable or spatially distinguishable manner.

17. The method of claim 16, wherein the visually or spatially distinguishable manner provides an indication of the execution order of the plurality of levels of the analysis workflow or the number of times the level of the analysis workflow is executed.

18. A computing device, comprising: processor; and The memory stores instructions that, when executed by the processor, configure the device to: Access a first copy of the results set, which includes data for chromatographic experiments and is configured to be processed according to an analytical workflow comprising multiple levels; Receive instructions to participate in the interaction with the analysis workflow; Identify the interaction and match the triggering conditions; In response to the interaction matching the triggering condition, a second copy of the result set is made; Make one of the first copy or the second copy of the result set a persistent archive copy; as well as Proceed in the analysis workflow using either the first copy or the second copy of the result set.

19. The computing device of claim 18, wherein the triggering condition includes one or more of the following: Moving backward or forward in the workflow across the step boundaries between the levels; Moving backward or forward in the workflow across the gated step boundaries between the levels; The move across the administrator has been defined as a step boundary between levels that require version generation; Move backward in the analysis workflow and make changes that will alter previously generated results; or Receive an instruction to clear the result set.

20. The computing device of claim 19, wherein the persistent archive copy is a second copy of the result set, the first copy of the result set is used as the analysis workflow progresses, and the instance identifier of the first copy of the result set remains the same as the analysis workflow progresses.

21. The computing device of claim 18, wherein the result set includes sub-documents, and the sub-documents are labeled with a version identifier of the version of the result set for which the sub-documents were created.

22. The computing device of claim 21, wherein the first copy of the result set includes a first sub-document and subsequent copies of the result set include a second sub-document, and wherein the instructions further configure the device to compare the first sub-document with the second sub-document to identify differences between the first copy of the result set and the subsequent copies of the result set.

23. The computing device of claim 18, wherein the analysis workflow is associated with the embedding method, and wherein the instructions also configure the device to persistently store the embedding method with the persistent archive copy of the result set.

Citation Information

Patent Citations

  • Methods and apparatus for mass spectrometry

    US6717130B2

  • Techniques for event notification

    US20140032694A1