Patent Description:
For trapping-type mass analyzers, such as quadrupole ion traps and Orbitrap™ electrostatic trap mass analyzers (manufactured by Thermo Fisher Scientific of Waltham, MA), best analytical performance is often achieved when the number of ions analyzed is within a certain target range. Too few ions result in noisy spectra or the need to co-add multiple spectra, while too many ions can result in space-charge effects such as mass shifts, peak broadening, and coalescence. Beam-type instruments, such as time-of-flight (ToF) and quadrupole mass filters, also operate best when the ion flux at their detectors is within a certain range. Both trapping-type and beam-type devices may be used with intermediate ion storage traps that accumulate ions to buffer down-stream processes such as mass analysis, thereby increasing scan speed and instrument sensitivity. These ion storage traps also have limited capacities, where over-filling can lead to deleterious effects, such as mass discrimination and loss of linearity, as the amount of signal detected is no longer linear with ion accumulation time.

Automated gain control (AGC) may be performed to regulate ion population in trapping-type and beam-type devices. In the case of filling a trapping device with a target number of ions, conventional AGC may be performed by using a gate apparatus that either transmits or blocks ions. Using estimates of the ion flux, the gate is opened for a given amount of time to accumulate a target number of ions in the device, after which the gate is closed until the accumulated ions are transferred out of the device. Alternatively, and especially in the case of beam-type devices, attenuation devices or partial gates may be used to regulate the ion flux to a level that does not saturate an analyzer or detector.

In conventional AGC methods, the accumulation time to be used for acquisition of a mass spectrum is estimated based on the ion flux of a prior (most recent) acquisition. However, conventional AGC methods assume that the ion flux will remain constant for the next acquisition, and thus the conventional AGC methods fail to account for the rapidly changing nature of the ion flux (e.g., ion intensity) during LC-MS or GC-MS analyses. As a result, the conventional AGC methods may overshoot the target number of ions while the ion flux is increasing and undershoot the target number of ions while the ion flux is decreasing, both of which may degrade analytical performance. The shortcomings of conventional AGC techniques are exacerbated when the ion flux-versus-time curve has a non-Gaussian profile in which the ion flux quickly increases from a baseline level to a peak maximum and then gradually decreases from the peak maximum back to the baseline level. In these situations, the number of ions accumulated while the ion flux is increasing may be even larger than when the ion flux has a Gaussian profile.

One method of addressing these problems uses a conventional AGC scheme while decreasing the time between analytical scans. This brute force approach offers some improvement in ion population regulation accuracy but comes at the cost of efficiency. For example, when the AGC scheme uses dedicated prescans to estimate ion flux, the time used for prescans cannot be used to acquire analytical scans. When the AGC scheme uses a prior analytical scan for ion flux estimation, the analytical scan must be repeated more often, thereby reducing the instrument capacity. Moreover, increasing the sampling rate is not entirely effective except at the limit of small numbers of analytes being assayed.

For at least these reasons, there is a need for improved methods and systems for regulating ion population in mass spectrometry.

The following description presents a simplified summary of one or more aspects of the methods and systems described herein in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects of the methods and systems described herein in a simplified form as a prelude to the more detailed description that is presented below.

A method of performing mass spectrometry in accordance with a first aspect of the present invention is defined in claim <NUM>. An apparatus for performing mass spectrometry is set out in claim <NUM>.

In some illustrative embodiments, a method of performing mass spectrometry comprises obtaining, based on a series of mass spectra of detected ions derived from components eluting from a chromatography column, an elution profile comprising a plurality of detection points representing intensity of the detected ions as a function of time; and determining, based on a set of detection points included in the plurality of detection points, a predicted next detection point of the elution profile to be obtained based on a next mass spectrum to be acquired.

In some illustrative embodiments, an apparatus for performing mass spectrometry comprises a mass analyzer configured to acquire, over time, a series of mass spectra of detected ions derived from components eluting from a chromatography column; and a computing device configured to: obtain, based on the series of mass spectra, an elution profile comprising a plurality of detection points representing intensity of the detected ions as a function of time; and determine, based on a set of detection points included in the plurality of detection points, a predicted next detection point of the elution profile to be obtained based on a next mass spectrum to be acquired by the mass analyzer subsequent to acquisition of the series of mass spectra.

In some illustrative embodiments, a method of performing mass spectrometry comprises obtaining, based on a series of mass spectra of detected ions derived from components eluting from a chromatography column, a plurality of extracted ion chromatograms (XICs), each XIC comprising a plurality of detection points representing detected intensity for a distinct selected m/z as a function of time; detecting, based on the series of mass spectra, precursor ions having each selected m/z of the plurality of XICs; and determining, for each XIC based on a set of detection points of the XIC, a predicted next detection point to be obtained based on a next mass spectrum to be acquired.

In some illustrative embodiments, a computer-implemented method of training a machine learning model comprises accessing an elution profile comprising a plurality of detection points representing intensity of ions derived from components eluting from a chromatography column and detected by a mass analyzer as a function of time; generating, based on the elution profile, training data comprising a plurality of training examples, a training example of the plurality of training examples comprising a set of detection points and a target next detection point, the target next detection point comprising a detection point of the plurality of detection points following the set of detection points; and training, using the training data, the machine learning model to determine a predicted next detection point, the predicted next detection point following the set of detection points.

In some illustrative embodiments, a non-transitory computer-readable medium stores instructions that, when executed, cause a processor of a computing device to obtain, based on a series of mass spectra of detected ions derived from components eluting from a chromatography column, an elution profile comprising a plurality of detection points representing intensity of the detected ions as a function of time; and determine, based on a set of detection points included in the plurality of detection points, a predicted next detection point of the elution profile to be obtained based on a next mass spectrum to be acquired.

Methods, apparatuses, and systems for determining a predicted next detection point in an elution profile and performing mass spectrometry using the predicted next detection point are described herein. For example, a method of performing mass spectrometry may include obtaining, based on a series of mass spectra of detected ions derived from components eluting from a chromatography column, an elution profile comprising a plurality of detection points. The plurality of detection points represent intensity of the detected ions as a function of time. Based on a set of detection points included in the plurality of detection points, a predicted next detection point of the elution profile is determined. The predicted next detection point is a next detection point to be obtained based on a next mass spectrum to be acquired.

In some examples, an accumulation time for accumulating the ions may be set, based on the predicted next detection point, for an acquisition of the next mass spectrum. In further examples, the elution profile comprises an extracted ion chromatogram for a selected m/z. Based on the series of mass spectra, precursor ions having the selected m/z may be detected and the determining of the predicted next detection point may be performed based on detecting the ions having the selected m/z. Based on the predicted next detection point, a data-dependent acquisition of product ions produced from the precursor ions may be performed.

The methods, apparatuses, and systems described herein provide various benefits. For example, by determining a predicted next detection point as described herein, the ion accumulation time may be set accurately to prevent overfilling and/or underfilling an ion accumulator. Additionally, a predicted next detection point may be used to initiate a data-dependent action, such as a data-dependent acquisition, at an appropriate time, thereby improving quality of the acquired signals.

Various embodiments will now be described in more detail with reference to the figures. The systems and methods described herein may provide one or more of the benefits mentioned above and/or various additional and/or alternative benefits that will be made apparent herein.

In some implementations, the methods and systems for performing ion population regulation may be used in conjunction with a combined separation-mass spectrometry system, such as an LC-MS system. As such, an LC-MS system will now be described. The described LC-MS system is illustrative and not limiting. The methods and systems described herein may operate as part of or in conjunction with the LC-MS system described herein and/or with any other suitable separation-mass spectrometry system, including a high-performance liquid chromatography-mass spectrometry (HPLC-MS) system, a gas chromatography-mass spectrometry (GC-MS) system, or a capillary electrophoresis-mass spectrometry (CE-MS) system. The methods and systems described herein may also operate in conjunction with any other continuous flow sample source, such as a flow-injection MS system (FI-MS) in which analytes are injected into a mobile phase (without separation in a column) and enter the mass spectrometer with time-dependent variations in intensity (e.g., Gaussian-like peaks).

<FIG> shows an illustrative LC-MS system <NUM>. LC-MS system <NUM> includes a liquid chromatograph <NUM>, a mass spectrometer <NUM>, and a controller <NUM>. Liquid chromatograph <NUM> is configured to separate, over time, components (e.g., analytes) within a sample <NUM> that is injected into liquid chromatograph <NUM>. Sample <NUM> may include, for example, chemical components (e.g., molecules, ions, etc.) and/or biological components (e.g., metabolites, proteins, lipids, etc.) for detection and analysis by LC-MS system <NUM>. Liquid chromatograph <NUM> may be implemented by any liquid chromatograph as may suit a particular implementation. In liquid chromatograph <NUM>, sample <NUM> may be injected into a mobile phase (e.g., a solvent), which carries sample <NUM> through a column <NUM> containing a stationary phase (e.g., an adsorbent packing material). As the mobile phase passes through column <NUM>, components within sample <NUM> elute from column <NUM> at different times based on, for example, their size, their affinity to the stationary phase, their polarity, and/or their hydrophobicity.

A detector (e.g., an ion detector component of mass spectrometer <NUM>, an ion-electron converter and electron multiplier, etc.) may measure the relative intensity of a signal modulated by each separated component in eluate <NUM> from column <NUM>. Data generated by the detector may be represented as a chromatogram, which plots retention time on the x-axis and a signal representative of the relative intensity on the y-axis. The retention time of a component is generally measured as the period of time between injection of sample <NUM> into the mobile phase and the relative intensity peak maximum after chromatographic separation. In some examples, the relative intensity may be correlated to or representative of relative abundance of the separated components. Data generated by liquid chromatograph <NUM> may be output to controller <NUM>.

In some cases, particularly in analyses of complex mixtures, multiple different components in sample <NUM> may co-elute from column <NUM> at approximately the same time, and thus may have the same or similar retention times. As a result, determination of the relative intensity of the individual components within sample <NUM> requires further separation of signals attributable to the individual components. To this end, liquid chromatograph <NUM> directs components included in eluate <NUM> to mass spectrometer <NUM> for identification and/or quantification of one or more of the components.

Mass spectrometer <NUM> is configured to produce ions from the components received from liquid chromatograph <NUM> and sort or separate the produced ions based on m/z of the ions. A detector in mass spectrometer <NUM> measures the intensity of the signal produced by the ions. As used herein, "intensity" may refer to any suitable metric indicative of or related to detected intensity, such as abundance, relative abundance, ion count, intensity, or relative intensity. Data generated by the detector may be represented by mass spectra, which plot the intensity of the observed signal as a function of m/z of the detected ions. Data acquired by mass spectrometer <NUM> may be output to controller <NUM>.

Mass spectrometer <NUM> may be implemented by any suitable mass spectrometer. <FIG> shows a functional diagram of a first illustrative implementation 200A of mass spectrometer <NUM>. As shown, mass spectrometer <NUM> includes an ion source <NUM>, an ion accumulator <NUM>, a mass analyzer <NUM>, a detector <NUM>, and a controller <NUM>. Mass spectrometer <NUM> may further include any additional or alternative components not shown as may suit a particular implementation (e.g., ion optics, filters, ion storage devices, ion mobility analyzers, etc.).

Ion source <NUM> is configured to produce a stream of ions <NUM> from the components eluting from liquid chromatograph <NUM> and deliver ion stream <NUM> to ion accumulator <NUM>. Ion source <NUM> may use any suitable ionization technique, including without limitation electron ionization, chemical ionization, matrix assisted laser desorption/ionization, electrospray ionization, atmospheric pressure chemical ionization, atmospheric pressure photoionization, inductively coupled plasma, and the like. Ion source <NUM> may include various components for producing ions from components included in sample <NUM> and delivering the ions to ion accumulator <NUM>.

Ion accumulator <NUM> is a device configured to accumulate, over an accumulation time, ions included in ion stream <NUM>. In some examples, ion accumulator <NUM> is an ion storage device configured to buffer down-stream processes, such as mass analysis, thereby increasing scan speed and instrument sensitivity. In some examples, ion accumulator <NUM> is a beam-type device or a trapping device, such as a multipole ion guide (e.g., a quadrupole ion guide, a hexapole ion guide, an octapole ion guide, etc.), a linear quadrupole ion trap, a three-dimensional quadrupole ion trap, a cylindrical ion trap, a toroidal ion trap, an orbital electrostatic trap, a Kingdon trap, and the like. The accumulation of ions in ion accumulator <NUM> may be regulated with the aim to achieve a target number of ions in ion accumulator <NUM>. Regulation of the accumulation of ions in ion accumulator <NUM> may be performed by a gate apparatus (not shown) that either transmits or blocks ion stream <NUM>. Using estimates of the ion flux of ion stream <NUM> (e.g., quantity of ions (as measured by intensity) per unit time), as will be described below in more detail, the gate may be opened for a given amount of time to meter the appropriate number of ions, after which the gate is closed. The accumulated ions may then be transferred as ion stream <NUM> from ion accumulator <NUM> to mass analyzer <NUM>.

Mass analyzer <NUM> is configured to separate ions in ion stream <NUM> according to m/z of each of the ions to filter and/or perform a mass analysis of the ions and frequently provide an ion stream <NUM> to detector <NUM>. Mass analyzer <NUM> may be implemented by any suitable beam-type or trapping-type mass analyzer, such as a quadrupole mass filter, an ion trap (e.g., a linear quadrupole ion trap, a three-dimensional quadrupole ion trap, a cylindrical ion trap, a toroidal ion trap, etc.), a time-of-flight (TOF) mass analyzer, an electrostatic trap mass analyzer (e.g. an orbital electrostatic trap such as an Orbitrap mass analyzer, a Kingdon trap, etc.), a Fourier transform ion cyclotron resonance (FT-ICR) mass analyzer, a sector mass analyzer, and the like.

In some examples, mass spectrometer <NUM> is a tandem mass spectrometer (tandem-in-time or tandem-in-space) configured to perform tandem mass spectrometry (e.g., MS/MS), a multi-stage mass spectrometer configured to perform multi-stage mass spectrometry (also denoted MSn), or a hybrid mass spectrometer. For example, mass analyzer <NUM> may include multiple mass analyzers, mass filters, and/or collision cells. The term "collision cell," as used herein, may include any structure arranged to produce product ions via controlled dissociation processes or ion-ion reaction processes and is not limited to devices employed for collisionally-activated dissociation. For example, a collision cell may be configured to fragment the ions using collision induced dissociation (CID), electron transfer dissociation (ETD), electron capture dissociation (ECD), photo induced dissociation (PID), surface induced dissociation (SID), and the like. A collision cell may be positioned upstream from a mass filter, which separates the fragmented ions based on the ratio of mass to charge of the ions. In some embodiments, mass analyzer <NUM> may include a combination of multiple mass filters and/or collision cells, such as a triple quadrupole mass analyzer, where a collision cell is interposed in the ion path between independently operable mass filters.

While <FIG> shows that ion accumulator <NUM> is positioned upstream from mass analyzer <NUM>, ion accumulator <NUM> may be positioned at any other location along an ion path from ion source <NUM> to detector <NUM> within a tandem mass spectrometer or multi-stage mass spectrometer (e.g., between a first mass filter (Q1) and a collision cell (Q2) and/or between a collision cell (Q2) and a second mass filter (Q3)). Additionally, mass spectrometer <NUM> may include more than one ion accumulator <NUM>, such as when mass spectrometer <NUM> is a tandem mass spectrometer or multi-stage mass spectrometer.

Ion detector <NUM> is configured to detect ions either within the mass analyzer <NUM> or in ion stream <NUM> from the mass analyzer <NUM> at each of a variety of different m/z and responsively generate an electrical signal representative of ion intensity. The electrical signal is transmitted to controller <NUM> for processing, such as to construct a mass spectrum of the detected ions. For example, mass analyzer <NUM> may emit an emission beam of separated ions to detector <NUM>, which is configured to detect the ions in the emission beam and generate or provide data that can be used by controller <NUM> to construct a mass spectrum. Ion detector <NUM> may be implemented by any suitable detection device, including without limitation an electron multiplier, a Faraday cup, and the like.

Controller <NUM> may be communicatively coupled with, and configured to control various operations of, mass spectrometer <NUM>. For example, controller <NUM> may be configured to control operation of various hardware components included in ion source <NUM>, ion accumulator <NUM>, mass analyzer <NUM>, and/or detector <NUM>. To illustrate, controller <NUM> may be configured to control an accumulation time of ion accumulator <NUM> and/or mass analyzer <NUM>, control an oscillatory voltage power supply and/or a DC power supply to supply an RF voltage and/or a DC voltage to mass analyzer <NUM>, adjust values of the RF voltage and DC voltage to select an effective m/z (including a mass tolerance window) for analysis, and adjust the sensitivity of ion detector <NUM> (e.g., by adjusting the detector gain).

Controller <NUM> may also include and/or provide a user interface configured to enable interaction between a user of mass spectrometer <NUM> and controller <NUM>. The user may interact with controller <NUM> via the user interface by tactile, visual, auditory, and/or other sensory type communication. For example, the user interface may include a display device (e.g., liquid crystal display (LCD) display screen, a touch screen, etc.) for displaying information (e.g., mass spectra, notifications, etc.) to the user. The user interface may also include an input device (e.g., a keyboard, a mouse, a touchscreen device, etc.) that allows the user to provide input to controller <NUM>. In other examples the display device and/or input device may be separate from, but communicatively coupled to, controller <NUM>. For instance, the display device and the input device may be included in a computer (e.g., a desktop computer, a laptop computer, a mobile device, etc.) communicatively connected to controller <NUM> by way of a wired connection (e.g., by one or more cables) and/or a wireless connection (e.g., Wi-Fi, Bluetooth, near-field communication, etc.).

Controller <NUM> may include any suitable hardware (e.g., a processor, circuitry, etc.) and/or software as may serve a particular implementation. While <FIG> shows that controller <NUM> is included in mass spectrometer <NUM>, controller <NUM> may alternatively be implemented in whole or in part separately from mass spectrometer <NUM>, such as by a computing device communicatively coupled to mass spectrometer <NUM> by way of a wired connection (e.g., a cable) and/or a network (e.g., a local area network, a wireless network (e.g., Wi-Fi), a wide area network, the Internet, a cellular data network, etc.). In some examples, controller <NUM> may be implemented in whole or in part by controller <NUM> (and vice versa).

<FIG> shows a functional diagram of another illustrative implementation 200B of mass spectrometer <NUM>. Implementation 200B is similar to implementation 200A except that, in implementation 200B, mass analyzer <NUM> is a trapping-type mass analyzer and ion accumulator <NUM> and ion stream <NUM> from ion accumulator <NUM> are omitted. Ions are accumulated in mass analyzer <NUM> over an accumulation time to achieve a target number of ions in mass analyzer <NUM>.

Referring again to <FIG>, controller <NUM> may be communicatively coupled with, and configured to control operations of, LC-MS system <NUM> (e.g., liquid chromatograph <NUM> and/or mass spectrometer <NUM>). Controller <NUM> may include any suitable hardware (e.g., a processor, circuitry, etc.) and/or software configured to control operations of and/or interface with the various components of LC-MS system <NUM> (e.g., liquid chromatograph <NUM> and/or mass spectrometer <NUM>).

For example, controller <NUM> may be configured to acquire data acquired over time by liquid chromatograph <NUM> and mass spectrometer <NUM>. The data may include a series of mass spectra including intensity values of ions produced from the components of sample <NUM> as a function of m/z of the ions. The data may be represented in a three-dimensional map in which time (e.g., retention time) is plotted along an x-axis, m/z is plotted along a y-axis, and intensity is plotted along a z-axis. Spectral features on the map (e.g., peaks of intensity) represent detection by LC-MS system <NUM> of ions produced from various components included in sample <NUM>. The x-axis and z-axis of the map may be used to generate a mass chromatogram that plots intensity as a function of time for a selected m/z (e.g., an extracted ion chromatogram (XIC)) or for a full m/z spectrum (e.g., a total ion current (TIC)). As used herein, a "selected m/z" may include a specific m/z with or without a mass tolerance window or a narrow range of m/z. The y-axis and z-axis of the map may be used to generate mass spectra, each mass spectrum plotting intensity as a function of m/z for a particular acquisition (e.g., for each MS scan or MS/MS scan).

<FIG> shows a portion of an illustrative mass chromatogram <NUM> (e.g., a TIC or an XIC) of ions derived from one or more components included in sample <NUM> and that elute from liquid chromatograph <NUM>. Mass chromatogram <NUM> is generated from data acquired by mass spectrometer <NUM>, such as a plurality of survey acquisitions (e.g., MS full-spectrum prescans) or analytical acquisitions (e.g., MS or MS/MS scans). Mass chromatogram <NUM> plots intensity (arbitrary units) as a function of retention time (in minutes). As shown, mass chromatogram <NUM> includes a plurality of detection points, each acquired from a different acquisition, that together form an elution profile <NUM> of the components (as indicated by the dashed line curve). As the components elute from column <NUM>, the detected intensity of the ions produces a peak <NUM> having a roughly Gaussian profile. However, peak <NUM> and/or other peaks (not shown) in elution profile <NUM> may have other, non-Gaussian profiles.

Conventional AGC methods for regulating ion population in an ion storage device or mass analyzer assume that the ion flux (quantity (e.g., intensity) of ions per unit time) will remain constant for the next acquisition and thus set the accumulation time based on the ion flux of the prior acquisition. However, as shown in <FIG> the ion flux during an LC-MS experiment is not constant but is dynamic and, at times, fast-changing as the components elute from the column. Hence, the conventional AGC methods overshoot the accumulation time during which ions are accumulated (and, hence, overshoot the target number of ions) while the peak intensity is increasing and undershoot the accumulation time (and, hence, undershoot the target number of ions) while the peak intensity is decreasing.

An improved method of regulating ion population accounts for the dynamic and fast-changing nature of the ion flux by predicting the next detection point to be acquired in an elution profile (e.g., a TIC) based on a set of historic detection points (e.g., a set of most recent detection points) The predicted next detection point may be determined by applying the set of historic detection points to a machine learning model that was trained to determine a predicted next detection point. The accumulation time for the next acquisition may be set based on the intensity of the predicted next detection point. For example, the accumulation time for a next acquisition may be determined as the target number of ions to be accumulated divided by the predicted ion flux of the next acquisition. Systems and methods for determining a predicted next detection point and setting the accumulation time based on the predicted next detection point are described below in more detail.

A predicted next detection point in an elution profile (e.g., an XIC) may also be used to perform a DDA experiment. In a conventional DDA experiment, a data-dependent acquisition (e.g., an MS/MS scan) of a component is triggered when elution of the component is detected. As shown in <FIG>, elution of the component is detected at a time when the detected intensity value has just risen above a predetermined minimum threshold intensity value (indicated by a dashed line <NUM>), which typically occurs at the start of peak <NUM> and while the intensity value is relatively weak. Dynamic exclusion may be applied during a time window so that a data-dependent acquisition is not performed for the selected m/z during the time window. To maximize the probability of matching the MS/MS spectra to a known component when the data-dependent acquisition is triggered early in peak <NUM>, longer ion accumulation times are required at the mass analyzer to produce a stronger MS/MS signal for each selected m/z. However, longer ion accumulation times results in slower MS/MS acquisitions. As a result, fewer components of different selected m/z can be analyzed by MS/MS.

These issues may be addressed by triggering a data-dependent acquisition (e.g., an MS/MS scan) for the selected m/z when the detected intensity value is at or near the apex of peak <NUM>. However, determining whether the selected m/z is at or near apex of peak <NUM> is a challenging signal processing problem. Previous attempts to solve the problem treated survey acquisition signals for each selected m/z as sine waves. With this technique, a Fourier analysis is performed on the data so that each point is assigned a frequency and phase value. When the phase falls within a certain range of values corresponding to the apex of the elution profile peak, a data-dependent action can be taken. This procedure theoretically works well, but produces random results with real, noisy data. A better method is needed to initiate a data-dependent action at or near the apex of an elution profile peak for a selected m/z.

An improved method of performing tandem mass spectrometry includes detecting, based on a most-recently acquired mass spectrum (e.g., a survey mass spectrum) included in a series of mass spectra, precursor ions having a selected m/z; determining, based on (e.g., in response to) the detection of the precursor ions, the predicted next detection point in an elution profile (e.g., XIC) for the selected m/z; and performing, based on the predicted next detection point, a DDA of product ions produced from the detected precursor ions. Systems and methods for determining a predicted next detection point and performing a DDA based on the predicted next detection point are described below in more detail.

One or more operations associated with improved methods of ion population regulation and improved methods of performing tandem mass spectrometry may be performed by a mass spectrometry control system. <FIG> shows an illustrative mass spectrometry control system <NUM> ("system <NUM>"). System <NUM> may be implemented entirely or in part by LC-MS system <NUM> (e.g., by controller <NUM> and/or controller <NUM>). Alternatively, system <NUM> may be implemented separately from LC-MS system <NUM> (e.g., a remote computing system or server).

System <NUM> may include, without limitation, a storage facility <NUM> and a processing facility <NUM> selectively and communicatively coupled to one another. Facilities <NUM> and <NUM> may each include or be implemented by hardware and/or software components (e.g., processors, memories, communication interfaces, instructions stored in memory for execution by the processors, etc.). In some examples, facilities <NUM> and <NUM> may be distributed between multiple devices and/or multiple locations as may serve a particular implementation.

Storage facility <NUM> may maintain (e.g., store) executable data used by processing facility <NUM> to perform any of the operations described herein. For example, storage facility <NUM> may store instructions <NUM> that may be executed by processing facility <NUM> to perform any of the operations described herein. Instructions <NUM> may be implemented by any suitable application, software, code, and/or other executable data instance.

Storage facility <NUM> may also maintain any data acquired, received, generated, managed, used, and/or transmitted by processing facility <NUM>. For example, storage facility <NUM> may maintain LC-MS data (e.g., acquired chromatogram data and/or mass spectra data) and/or model data. Model data may include data representative of, used by, or associated with one or more models (e.g., machine learning models) and/or algorithms maintained by processing facility <NUM> for determining a predicted next detection point in an elution profile.

Processing facility <NUM> may be configured to perform (e.g., execute instructions <NUM> stored in storage facility <NUM> to perform) various processing operations described herein. It will be recognized that the operations and examples described herein are merely illustrative of the many different types of operations that may be performed by processing facility <NUM>. In the description herein, any references to operations performed by system <NUM> may be understood to be performed by processing facility <NUM> of system <NUM>. Furthermore, in the description herein, any operations performed by system <NUM> may be understood to include system <NUM> directing or instructing another system or device to perform the operations.

<FIG> shows an illustrative method <NUM> of determining a predicted next detection point in an elution profile. While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the operations shown in <FIG>. One or more of the operations shown in <FIG> may be performed by LC-MS system <NUM> and/or system <NUM>, any components included therein, and/or any implementations thereof (e.g., by a remote computing system separate from LC-MS system <NUM>).

In operation <NUM>, a mass spectrum of ions derived from components eluting from a chromatography column is acquired. Operation <NUM> may be performed in any suitable way. For example, mass analyzer <NUM> acquires a mass spectrum by performing a mass analysis of the eluting ions, such as a full-spectrum MS scan or an MS/MS prescan or analytical scan in which the detected ions are product ions. In some examples, the ions are accumulated in ion accumulator <NUM> and the accumulated ions are transferred to mass analyzer <NUM> for acquisition of the mass spectrum. In other examples, the ions are accumulated in a trapping-type mass analyzer and the mass analyzer performs a mass analysis of the accumulated ions. The mass spectrum is then stored (e.g., in storage facility <NUM>) with a series of mass spectra <NUM> previously acquired (if any) and stored during the experiment. If the mass spectrum is the first mass spectrum acquired during the experiment, the mass spectrum is stored, and subsequently-acquired mass spectra may be combined with the mass spectrum to produce series of mass spectra <NUM>. Mass spectra <NUM> may be acquired (e.g., accessed) by a computing system (e.g., system <NUM>) for presentation and/or further processing, such as for determining a predicted next detection point.

In operation <NUM>, system <NUM> obtains, from mass spectra <NUM>, an elution profile including a plurality of detection points each from a different acquisition and representing intensity of the ions, as detected by mass spectrometer <NUM>, as a function of time. Operation <NUM> may be performed in any suitable way. As mentioned, the intensity value of each detection point may represent the total ion current for the corresponding mass spectrum included in mass spectra <NUM> as a function of time. Alternatively, the intensity value of each detection point may represent the intensity for a selected m/z (e.g., a selected m/z for an analyte of interest, a selected m/z for a highest intensity analyte, etc.), such as to prevent saturation of the detector or to trigger a data-dependent acquisition of a target analyte of interest.

In operation <NUM>, system <NUM> determines whether sufficient data has been acquired for a machine learning model to determine a predicted next detection point in the elution profile. Operation <NUM> may be performed in any suitable way. In some examples, sufficient data has been acquired when the elution profile contains a minimum or a predetermined number of detection points in the elution profile (e.g., <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, etc.). In some examples, the count of detection points is reset to zero when the detected intensity value in the elution profile returns to less than a threshold intensity value (e.g., when a peak <NUM> has passed) and/or when a rate of change of detected intensity is less than a threshold rate of change.

In alternative examples, system <NUM> determines that sufficient data has been acquired when system <NUM> determines that a minimum amount of time has elapsed since a reference time. The reference time may be, for example, a time of a first acquisition, a time at which sample <NUM> was injected to liquid chromatograph <NUM>, or a time when instrument conditions or method parameters changed. In some examples, system <NUM> may determine whether the time elapsed since the reference time is greater than or equal to a sliding time window size. The sliding time window may encompass, for example, a period of <NUM> seconds, <NUM> seconds, <NUM> seconds, etc..

If system <NUM> determines that sufficient data has not been acquired, method <NUM> returns to operation <NUM> for another acquisition. In some examples in which method <NUM> is used for AGC for ion population regulation, system <NUM> performs a conventional AGC scheme, such as described herein, to regulate ion population until sufficient data has been acquired. If, however, system <NUM> determines that sufficient data has been acquired, method <NUM> proceeds to operation <NUM>.

In alternative examples, operation <NUM> is omitted so that method <NUM> proceeds to operation <NUM> without regard to the quantity of data acquired. In some examples, at the start of an analysis of a target, system <NUM> generates an initial set of detection points by setting each detection point to a reference value or a default value (e.g., zero or a known baseline value for the particular assay or target). System <NUM> adds each new acquired detection point to the set and/or drops the oldest reference or default value as the analysis progresses. In this way, system <NUM> will always have sufficient data, although at the start of the analysis the initial set of detection points is based on default or reference detection points rather than observed detection points acquired during the analysis.

In operation <NUM>, system <NUM> determines, based on a set of detection points included in the plurality of detection points of the elution profile, a predicted next detection point. Determination of the predicted next detection point of an elution profile is based on the principle that the next detection point is a function of detected intensity values of a set of recent detection points. The predicted next detection point is a detection point that is predicted to be obtained from the next mass spectrum to be acquired subsequent to the current time (e.g., subsequent to the acquisition of mass spectra <NUM> from which the plurality of detection points were obtained). Operation <NUM> may be performed in any suitable way.

In some examples, system <NUM> determines the predicted next detection point by applying the set of detection points to elution profile model <NUM>. Elution profile model <NUM> is configured to use the set of detection points as an input to perform any suitable heuristic, process, and/or operation that may be performed or executed by system <NUM> to determine a predicted next detection point of the elution profile. In some examples, elution profile model <NUM> is implemented by hardware and/or software components (e.g., processors, memories, communication interfaces, instructions stored in memory for execution by the processors, etc.), such as storage facility <NUM> and/or processing facility <NUM> of system <NUM>. Elution profile model <NUM> may include any suitable algorithm and/or machine learning model configured to determine a predicted next detection point based on intensity values for a set of recent detection points. Elution profile model <NUM> may determine the predicted next detection point in any suitable way. In some examples, elution profile model <NUM> is a machine learning model, such as a neural network (e.g., a Recurrent Neural Network (RNN), a Long Short-Term Memory (LSTM) neural network, a Gated Recurrent Unit (GRU) neural network, etc.). An illustrative machine learning model, and methods of training the machine learning model, will be described below in more detail.

In some examples, elution profile model <NUM> has been trained, at the time of execution of method <NUM>, based on training data acquired during multiple different experiments performed under different sets of experiment conditions. As a result, elution profile model <NUM> may be used across a wide range of experiment conditions. A set of experiment conditions may specify, for example, one or more of a flow rate of the separation system (e.g., nanoflow, microflow, high flow), a gradient of the chromatography column, a list of target analytes, and/or the type of chromatography (e.g., capillary electrophoresis, liquid chromatography, gas chromatography, etc.), the type of stationary and/or mobile phase (e.g., hydrophilic interaction chromatography (HILIC), ion chromatography, C18 particles, C8 particles, etc.). In other examples, elution profile model <NUM> has been trained based on training data configured for a specific application, such as a selected m/z, specific experiment conditions, a specific sample type, etc. In some examples, system <NUM> selects, based on a set of experiment conditions for analyzing sample <NUM>, elution profile model <NUM> from among a plurality of machine learning models each trained for a particular set of experiment conditions.

In some examples in which the elution profile data does not evenly space the plurality of detection points (e.g., see detection points <NUM> in <FIG>) along the time axis, system <NUM> may adjust the plurality of detection points (or just the detection points of a set of recent detection points), such as by interpolation, to a uniform time spacing (e.g., <NUM> second) to simplify processing by elution profile model <NUM>. The output provided by elution profile model <NUM> may then be interpolated or otherwise adjusted based on the sampling rate of the mass analyzer to determine the predicted next detection point for the next mass spectrum to be acquired.

To further simplify processing by elution profile model <NUM>, system <NUM> may additionally or alternatively normalize the detection points (or just the detection points of a set of recent detection points) to a reference intensity value. Any normalization scheme may be used, and any reference intensity value may be used, such as a known running average intensity value of the elution profile, a global maximum intensity value of the elution profile, a recent maximum intensity value, etc..

Operation <NUM> will now be described with reference to <FIG>, which shows an illustrative TIC <NUM> that may be generated from, or is representative of, series of mass spectra <NUM>, and <FIG>, which shows TIC <NUM> after data from an additional acquisition have been added to TIC <NUM>. TIC <NUM> will facilitate description of operation <NUM>, but operation <NUM> may be performed with raw source data without generating TIC <NUM>.

TIC <NUM> plots a plurality of detection points <NUM> each representing a detected intensity value (arbitrary units), as detected by mass spectrometer <NUM> during a prescan or analytical acquisition, as a function of retention time (in minutes). Detection points <NUM> have been interpolated to a uniform time spacing (approximately <NUM> seconds) to simplify processing by elution profile model <NUM>. Each successive acquisition of a mass spectrum (operation <NUM>) adds a new detection point <NUM> to TIC <NUM>. Detection points <NUM> together form an elution profile of the components eluting from column <NUM>. As shown on TIC <NUM>, the right-most detection point <NUM>-C is a current (most-recent) detection point <NUM> obtained from a mass spectrum acquired at current time tc. The upward trajectory of intensity values of the most recent detection points <NUM> indicates the start of a peak <NUM> in the expected elution profile. In <FIG>, the expected elution profile is represented by a dashed-line curve.

To determine the predicted next detection point (operation <NUM>), system <NUM> selects a set <NUM> of detection points <NUM> in the elution profile and applies set <NUM> to elution profile model <NUM>. In the example of <FIG>, set <NUM> includes a consecutive sequence of n detection points <NUM> concluding with current detection point <NUM>-C. While <FIG> shows that n is ten, n may be any other number of detection points <NUM> (e.g., <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, etc.), and may be selected to ensure elution profile model <NUM> has sufficient data to determine the predicted next detection point. In further examples, once n detection points have been acquired, each set <NUM> may include all detection points <NUM> included in one or more prior sets <NUM>. In alternative examples, the sequence of detection points <NUM> in set <NUM> is not consecutive, but may be some other grouping (e.g., every other detection point <NUM>, every two of three detection points <NUM>, a random selection of detection points <NUM>, etc.). In other examples, set <NUM> includes only the detection points <NUM> that occur within a sliding time window concluding with the current time tc. For example, the sliding time window may encompass a period of <NUM> seconds, <NUM> seconds, <NUM> seconds, etc..

System <NUM> determines, based on elution profile model <NUM> and set <NUM>, the predicted next detection point <NUM> (indicated by an open circle). In <FIG>, predicted next detection point <NUM> is a detection point that is predicted, by system <NUM>, to be obtained from the next mass spectrum to be acquired subsequent to the current time tC (e.g., subsequent to the acquisition of mass spectra <NUM> from which detection points <NUM> were obtained). If predicted next detection point <NUM> does not align with a timing of the next mass spectrum, predicted next detection point <NUM> may then be adjusted by interpolation based on a sampling rate of the mass analyzer.

System <NUM> may repeat the process after the next mass spectrum has been acquired and the acquired next detection point has been added to the elution profile. For example, with reference to <FIG>, system <NUM> selects another set <NUM> of detection points <NUM> in the elution profile and applies set <NUM> to elution profile model <NUM> to determine the predicted next detection point <NUM>. As shown, set <NUM> has dropped the oldest detection point of set <NUM> and has added the newest detection point <NUM> (detection point <NUM>-C). System <NUM> may repeat the process after each subsequent acquisition, or until manually or automatically terminated.

While the elution profile shown in <FIG> and <FIG> has been described as a TIC, the elution profile shown may alternatively represent an XIC for a selected m/z. In an XIC, the detection points together form an elution profile of ions having a selected m/z eluting from column <NUM>.

<FIG> shows an illustrative method <NUM> of using a predicted next detection point for ion population regulation. While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the operations shown in <FIG>. One or more of the operations shown in <FIG> may be performed by LC-MS system <NUM> and/or system <NUM>, any components included therein, and/or any implementations thereof (e.g., by a remote computing system separate from LC-MS system <NUM>).

In operation <NUM>, ions produced from the sample components eluting from column <NUM> are accumulated over an accumulation time. Operation <NUM> may be performed in any suitable way. For example, the ions may be accumulated in an accumulation device, such as ion accumulator <NUM> or mass analyzer <NUM> (e.g., a trapping-type device). The accumulation time may be initially set to a default or baseline accumulation time configured to produce a target population of accumulated ions. The target population of accumulated ions may be based, for example, on characteristics of ion accumulator <NUM>, mass analyzer <NUM>, and/or detector <NUM>, such as storage space charge capacity and/or spectral space charge capacity. In some examples, the initial value of the accumulation time may be set manually by a user (e.g., by way of controller <NUM> or controller <NUM>). In further examples, the initial value of accumulation time may be set automatically by system <NUM>, such as based on a default value, based on method parameters for the particular method or assay, based on characteristics of ion accumulator <NUM>, mass analyzer <NUM> or detector <NUM>, and/or based on information provided by the user (e.g., based on a number of target analytes, etc.). The initial value of accumulation time may be set so as to prevent overshooting and undershooting the target number of ions.

In operation <NUM>, a mass spectrum of ions derived from the accumulated ions is acquired and is stored (e.g., in storage facility <NUM>) with a series of mass spectra <NUM> previously acquired and stored during the experiment. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> of method <NUM>. If the mass spectrum is the first mass spectrum acquired during the experiment, the mass spectrum is stored and subsequently-acquired mass spectra are combined with the mass spectrum to produce a series of mass spectra <NUM>.

In operation <NUM>, system <NUM> obtains, from the series of mass spectra <NUM>, an elution profile including a plurality of detection points each from a different acquisition and representing intensity of the ions, as detected by a mass spectrometer, as a function of time. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> described herein.

In operation <NUM>, system <NUM> determines whether sufficient data has been acquired. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> of method <NUM>. If system <NUM> determines that sufficient data has not been acquired, method <NUM> returns to operation <NUM> for another acquisition. If, however, system <NUM> determines that sufficient data has been acquired, method <NUM> proceeds to operation <NUM>. In alternative examples, operation <NUM> is omitted so that method <NUM> proceeds to operation <NUM> without regard to the quantity of data acquired.

In operation <NUM>, system <NUM> determines, based on elution profile model <NUM> and a set of detection points included in the plurality of detection points, a predicted next detection point of the elution profile. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> described herein.

In operation <NUM>, system <NUM> sets the accumulation time based on the predicted next detection point determined in operation <NUM>. Operation <NUM> may be performed in any suitable way. For example, system <NUM> may estimate, based on the predicted next detection point (e.g., based on the intensity of the predicted next detection point), a predicted ion flux of the ions produced from the components eluting from the chromatography column during the acquisition of the next mass spectrum. System <NUM> may determine the accumulation time for the acquisition of the next mass spectrum as the target population of ions divided by the predicted ion flux during the acquisition of the next mass spectrum. The target population of ions is previously determined, as explained above, based on characteristics of the device (e.g., space charge capacity), experiment conditions, and/or method parameters.

After operation <NUM>, the processing of method <NUM> returns to operation <NUM> for another acquisition with the accumulation time set in operation <NUM>. Method <NUM> may continue until it is automatically or manually terminated.

By setting the accumulation time based on the predicted next detection point, the target population of ions may be accumulated with a high degree of accuracy (e.g., without significantly overfilling or underfilling the accumulation device), even with a dynamic and fast-changing elution profile.

<FIG> shows an illustrative method <NUM> of using a predicted next detection point for performing tandem mass spectrometry. While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the operations shown in <FIG>. One or more of the operations shown in <FIG> may be performed by LC-MS system <NUM> and/or system <NUM>, any components included therein, and/or any implementations thereof.

In operation <NUM>, a mass spectrum of ions derived from components eluting from a chromatography column is acquired. Operation <NUM> may be performed in any suitable way, including any way described herein (e.g., in a manner similar to operation <NUM> of method <NUM>). For example, mass analyzer <NUM> may perform a mass analysis of the ions, such as a full-spectrum MS scan or survey scan. The mass spectrum is stored (e.g., in storage facility <NUM>) with a series of mass spectra <NUM> previously acquired (if any) and stored during the experiment. If the mass spectrum is the first mass spectrum acquired during the experiment, the mass spectrum is stored and subsequently-acquired mass spectra may be combined with the mass spectrum to produce series of mass spectra <NUM> (e.g., by a remote computing system separate from LC-MS system <NUM>).

In operation <NUM>, system <NUM> obtains, from the series of mass spectra <NUM>, an elution profile (e.g., an XIC) including a plurality of detection points each from a different acquisition and representing intensity of a selected m/z as a function of time. The selected m/z may be the m/z of precursor ions derived from a particular component of interest included in sample <NUM>. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> described herein.

In operation <NUM>, system <NUM> determines, based on the series of mass spectra <NUM>, whether precursor ions of the selected m/z are detected. Operation <NUM> may be performed in any suitable way. For example, system <NUM> may detect a peak in the elution profile and/or determine that the detected intensity reaches or exceeds a threshold level and thus determine that precursor ions of the selected m/z are detected.

If system <NUM> determines that precursor ions of the selected m/z are not detected, processing of method <NUM> returns to operation <NUM> for another acquisition. If, however, system <NUM> determines that precursor ions of the selected m/z are detected, processing of method <NUM> proceeds to operation <NUM>.

In operation <NUM>, system <NUM> determines, based on the predicted next detection point, whether a data-dependent action is to be performed. Operation <NUM> may be performed in any suitable way. In some examples, system <NUM> compares the intensity value of the predicted next detection point (the "predicted intensity value") with a threshold intensity value. The threshold intensity value may be any suitable intensity value, such as a value that indicates an apex of a detected peak of the elution profile. If system <NUM> determines that the predicted intensity value of the selected m/z exceeds the threshold intensity value, system <NUM> determines that a data-dependent action is to be performed. If system <NUM> determines that the predicted intensity value of the selected m/z does not exceed the threshold intensity value, system <NUM> determines that a data-dependent action is not to be performed.

In further examples, system <NUM> compares a predicted next detection point ratio with a threshold ratio value. The predicted next detection point ratio is a ratio of the predicted intensity value to the intensity value of the current detection point or some other fixed reference detection point, such as a baseline level detection point prior to the start of the peak. The threshold ratio value may be any suitable value configured to indicate that an apex of a detected peak of the elution profile is near or that the intensity value is rapidly changing (increasing). If system <NUM> determines the predicted next detection point ratio does not exceed the threshold ratio value, system <NUM> determines that a data-dependent action is not to be performed, and processing of method <NUM> returns to operation <NUM> for another acquisition. If system <NUM> determines that the predicted next detection point ratio exceeds the threshold ratio value, system <NUM> determines that a data-dependent action is to be performed and processing of method <NUM> proceeds to operation <NUM> to perform a data-dependent action.

In operation <NUM>, a data-dependent action is performed. Any suitable data-dependent action may be performed. In some examples, a data-dependent action is a data-dependent acquisition (e.g., an MS/MS acquisition or a multi-stage MSn acquisition) of product ions derived from the detected precursor ions of the selected m/z. For example, a data-dependent acquisition for the selected m/z may be immediately performed for the next acquisition.

In some examples, the data-dependent action is a scheduling action. For example, system <NUM> may schedule a future performance of a data-dependent acquisition in response to a determination that the predicted intensity value exceeds a minimum threshold value but is less than a maximum threshold value. If the predicted intensity value exceeds the maximum threshold value, system <NUM> may initiate an immediate performance of a data-dependent acquisition.

An illustrative embodiment of performing a data-dependent acquisition based on the predicted intensity value will now be explained with reference to <FIG> and <FIG>. In <FIG>, the predicted next detection point <NUM> has a predicted intensity value less than a threshold intensity value <NUM> (indicated by dashed line). As a result, a data-dependent acquisition is not performed. In <FIG>, the predicted intensity value of predicted next detection point <NUM> is greater than the threshold intensity value <NUM>. As a result, a data-dependent acquisition is performed.

In an alternative illustrative embodiment, system <NUM> may determine that the ratio of intensity of predicted next detection point <NUM> to a reference detection point <NUM>-R in <FIG> is less than a threshold ratio level. As a result, a data-dependent acquisition is not performed for the next acquisition and/or is scheduled at a future time (e.g., two acquisitions later). On the other hand, system <NUM> may determine that the ratio of the predicted intensity value of predicted next detection point <NUM> to the reference detection point <NUM>-R in <FIG> is greater than a threshold ratio level. As a result, a data-dependent acquisition is performed for the next acquisition.

By performing a data-dependent acquisition based on a predicted next detection point, the data-dependent acquisition may be performed when the intensity of the ions produced from the component of interest are at or near the apex of the elution profile. As a result, a relatively short ion accumulation time may be set for the data-dependent acquisition and a greater number of data-dependent acquisitions may be acquired. That is, the limit of detection of components included in the sample is improved because there is a maximum amount of time that may be spent accumulating ions for an analysis, limited on the upper end by the width of the elution peak and the capacity of the ion storage device. If an MS/MS mass spectrum is acquired when the flux of the ions is higher, a higher quality mass spectrum with higher signal-to-noise ratio can be acquired in a shorter amount of time.

In alternative implementations of method <NUM>, operation <NUM> is omitted so that method <NUM> proceeds to operation <NUM> from operation <NUM> so that system <NUM> performs a data-dependent action (operation <NUM>) based on the predicted next detection point determined in operation <NUM>.

For example, the data-dependent action may include scheduling a future performance of a data-dependent acquisition for the selected m/z based on the predicted next detection point. For instance, system <NUM> may schedule the data-dependent acquisition to be performed at a future time other than at the acquisition of the next mass spectrum. In some examples, system <NUM> selects the time for performing the data-dependent action based on the predicted intensity value and/or the predicted next detection point ratio. In this way, a data-dependent acquisition may be scheduled and subsequently performed when the intensity value of detected ions is at or near the maximum intensity value.

In some analyses, multiple different components included in sample <NUM> co-elute from liquid chromatograph <NUM> at substantially the same time. Accordingly, operations <NUM> to <NUM> may be performed for multiple distinct selected m/z.

<FIG> shows an illustrative method of performing tandem mass spectrometry to efficiently analyze a plurality of components of interest (corresponding to multiple distinct selected m/z). While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify any of the operations shown in <FIG>. One or more of the operations shown in <FIG> may be performed by LC-MS system <NUM> and/or system <NUM>, any components included therein, and/or any implementations thereof (e.g., by a remote computing system separate from LC-MS system <NUM>).

In operation <NUM>, a mass spectrum of ions derived from components eluting from a chromatography column is acquired. Operation <NUM> may be performed in any suitable way, including any way described herein (e.g., in a manner similar to operation <NUM> of method <NUM> or operation <NUM> of method <NUM>). For example, mass analyzer <NUM> may perform a mass analysis of the ions, such as a full-spectrum MS scan or survey scan. The mass spectrum is stored (e.g.,
in storage facility <NUM>) with a series of mass spectra <NUM> previously acquired (if any) and stored during the experiment. If the mass spectrum is the first mass spectrum acquired during the experiment, the mass spectrum is stored and subsequently-acquired mass spectra may be combined with the mass spectrum to produce series of mass spectra <NUM>.

In operation <NUM>, system <NUM> obtains, from the series of mass spectra <NUM>, a plurality of XICs for multiple distinct selected m/z. Each XIC includes a plurality of detection points from a plurality of different mass spectrum acquisitions, and each XIC represents intensity of a distinct selected m/z as a function of time. Each selected m/z may be the m/z of precursor ions derived from a particular component of interest included in sample <NUM>. In some examples, mass spectra <NUM> are divided into multiple bins of distinct selected m/z and the XIC for each selected m/z is tracked over time. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> described herein.

In operation <NUM>, system <NUM> determines, based on the series of mass spectra <NUM>, whether precursor ions of at least one of the multiple distinct selected m/z are detected. Operation <NUM> may be performed in any suitable way. For example, system <NUM> may detect a peak in each XIC and/or determine that the detected intensity for at least one XIC reaches or exceeds a threshold level. Thus, system <NUM> may determine that precursor ions of at least one of the multiple distinct selected m/z are detected. If system <NUM> determines that precursor ions of at least one of the multiple distinct selected m/z are not detected, processing of method <NUM> returns to operation <NUM> for another acquisition. If, however, system <NUM> determines that precursor ions of at least one of the multiple distinct selected m/z are detected, processing of method <NUM> proceeds to operation <NUM>.

In operation <NUM>, system <NUM> determines, for each XIC for which precursor ions have been detected, a predicted next detection point of each XIC based on elution profile model <NUM> and a set of detection points included in the respective XIC. Operation <NUM> may be performed in any suitable manner, including in the same or a similar manner as operation <NUM> described herein.

In operation <NUM>, a data-dependent acquisition of product ions derived from the detected precursor ions is performed based on the predicted next detection point for each XIC. For example, if precursor ions for only one distinct selected m/z are detected, an MS/MS acquisition or a multi-stage MSn acquisition may be initiated for that distinct selected m/z, such as described with reference to method <NUM> and <FIG>. However, if multiple components have co-eluted so that precursor ions for multiple distinct selected m/z are detected, a data-dependent acquisition cannot be performed for each selected m/z at the same time (e.g., performed at the same next acquisition). Accordingly, system <NUM> schedules a future performance of the data-dependent acquisition for each m/z based on the predicted next detection point for each selected m/z.

In some examples, system <NUM> schedules the future performance of each data-dependent acquisition in order of decreasing predicted intensity value of each selected m/z. In this scheduling scheme, a data-dependent acquisition for the selected m/z with the highest predicted intensity value is performed first before the quantity of ions decreases and a weak signal is obtained. In some examples, system <NUM> may identify, based on the predicted next detection point for each selected m/z, the detected precursor ions having a predicted intensity value greater than a threshold intensity value and filter out a future data-dependent acquisition for a selected m/z if the predicted intensity value is below a threshold minimum level. In this way, data-dependent acquisitions that would otherwise produce low-quality signals (e.g., low signal-to-noise ratio) can be omitted so that time can be devoted to data-dependent acquisitions for other selected m/z.

In further examples, system <NUM> assigns a priority value to each selected m/z and schedules the future performance of each data-dependent acquisition based on the assigned priority values. The priority values may be determined and assigned in any suitable way based on any suitable parameters. In some examples, the priority value of a selected m/z is the ratio of the predicted intensity value to the current intensity value. In this scheduling scheme, if the current intensity value of a selected m/z is high (e.g., at or near the apex of the elution peak) and is predicted to drop (e.g., the ratio is less than one) but still be above a threshold minimum level, the selected m/z should be interrogated in a data-dependent acquisition before the precursor ion signal disappears or falls below the minimum threshold level. Thus, the selected m/z will be assigned a higher priority than another selected m/z that has low intensity and is predicted to increase (e.g., the ratio is greater than one) and will therefore likely still have high intensity on a later cycle. In some embodiments, system <NUM> schedules the future performance of each data-dependent acquisition in order of increasing ratio of predicted intensity value to current intensity value. In this scheme, system <NUM> may also filter out a future data-dependent acquisition for a selected m/z if the predicted intensity value is below a threshold minimum level.

In further examples, system <NUM> may execute an optimization model to try to interrogate each selected m/z at the highest intensity value for each selected m/z. Any suitable optimization model may be used. In some examples, the optimization model may be based on reinforcement learning and may be configured as a game with an agent in which the goal is to interrogate all (or the most) of the detected precursor ions at their highest intensity value. The inputs may include, for example, the current intensity value, the predicted intensity value, and/or the ratio of the predicted intensity value to the current intensity value. Additionally or alternatively, an input vector may include a set of the most recent detected intensity values (e.g., set <NUM> or set <NUM>) with the predicted intensity value tacked on the end of that input vector.

In methods <NUM>, <NUM>, <NUM>, and <NUM>, system <NUM> determines a predicted next detection point based on elution profile model <NUM> and a set of recently-acquired detection points. As mentioned, in some examples elution profile model <NUM> includes a trained machine learning model configured to determine a predicted next detection point of an elution profile based on a set of recently-acquired detection points. Illustrative systems and methods of training a machine learning model implementing elution profile model <NUM> will now be described.

<FIG> shows a block diagram of an illustrative training stage <NUM> in which a training module <NUM> trains a machine learning model <NUM>, using training data <NUM> and an evaluation unit <NUM>, to determine a predicted next detection point of an elution profile. Training of machine learning model <NUM> is described in detail herein with reference to <FIG>. When trained as described herein, machine learning model <NUM> may implement elution profile model <NUM>.

Training module <NUM> may perform any suitable heuristic, process, and/or operation that may be configured to train a machine learning model. In some examples, training module <NUM> is implemented by hardware and/or software components (e.g., processors, memories, communication interfaces, instructions stored in memory for execution by the processors, etc.). In some examples, training module <NUM> is implemented by system <NUM>, or any component or implementation thereof. For example, training module <NUM> may be implemented by a controller of a mass spectrometer (e.g., controller <NUM> or controller <NUM>). Alternatively, training module <NUM> may be implemented by a computing system (e.g., a personal computer or a remote server) separate from but communicatively coupled with a controller of a mass spectrometer.

In some embodiments, machine learning model <NUM> is implemented using one or more supervised and/or unsupervised learning algorithms. For example, machine learning model <NUM> may be implemented by a linear regression model, a logistic regression model, a Support Vector Machine (SVM) model, a Boosted Decision Tree regression model, a Decision Forest regression model, a Fast Forest Quantile regression model, an ordinal regression model, and/or other learning models. Additionally or alternatively, machine learning model <NUM> is implemented by a neural network having an input layer, one or more hidden layers, and an output layer. Non-limiting examples of a neural network include, but are not limited to, a Convolutional Neural Network (CNN), a Recurrent Neural Network (RNN), a Long Short-Term Memory (LSTM) neural network, and a Gated Recurrent Unit (GRU) neural network. Other system architectures for implementing machine learning model <NUM> are also possible and contemplated.

Training data <NUM> may be acquired or extracted from data representative of one or more elution profiles (e.g., a set of LC-MS detection points). For example, training data <NUM> may be acquired from one or more TICs and/or one or more XICs. Training data <NUM> includes a plurality of training examples <NUM> (e.g., training examples <NUM>-<NUM> through <NUM>-N). Each training example <NUM> includes a set of detection points <NUM> and a target next detection point <NUM>.

<FIG> shows an illustrative TIC <NUM> that may be generated from, or is representative of, data acquired from LC-MS system <NUM>, and shows illustrative training examples that may be obtained from TIC <NUM>. It will be recognized that machine learning model <NUM> may be trained based on TIC <NUM> raw source data or processed data without generating TIC <NUM>. As shown, TIC <NUM> plots a plurality of detection points <NUM> each representing a detected intensity value, as detected by a mass spectrometer during full-spectrum acquisitions, and retention time. Each successive acquisition adds a new detection point <NUM> to TIC <NUM>. Detection points <NUM> together form an elution profile <NUM> of the components eluting from column <NUM>. Elution profile <NUM> includes a peak <NUM> having an apex <NUM> at which a detected intensity is at a maximum intensity value Imax, as indicated by dashed line <NUM>.

Training of machine learning model <NUM> to determine a predicted next detection point is based on the principle that the intensity value of the next detection point <NUM> following a sequence of detection points <NUM> is a function of the detected intensity values of the sequence of detection points <NUM>. Accordingly, training data <NUM> includes training examples <NUM> provided as input vectors to machine learning model <NUM>. Training examples <NUM> may implement training examples <NUM>. <FIG> shows three training examples <NUM> (training examples <NUM>-<NUM> through <NUM>-<NUM>), although training data <NUM> may include any number of training examples <NUM>. As shown in <FIG>, each training example <NUM> includes a distinct set <NUM> of detection points <NUM> and a target next detection point <NUM>-T immediately following the respective set <NUM>. For example, a first training example <NUM>-<NUM> includes a first set <NUM>-<NUM> of detection points <NUM> and a first target next detection point <NUM>-T1 (the next detection point <NUM> following set <NUM>-<NUM>), a second training example <NUM>-<NUM> includes a second set <NUM>-<NUM> of detection points <NUM> and a second target next detection point <NUM>-T2 (the next detection point <NUM> following set <NUM>-<NUM>), a third training example <NUM>-<NUM> includes a third set <NUM>-<NUM> of detection points <NUM> and a third target next detection point <NUM>-T3 (the next detection point <NUM> following set <NUM>-<NUM>), and so on.

In the example of <FIG>, each set <NUM> includes a sequence of n consecutive detection points <NUM>. While <FIG> shows that n is ten, n may be any other number (e.g., <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, etc.), and may be selected to ensure machine learning model <NUM> has sufficient data to determine the predicted next detection point. In some examples, the sequence of detection points <NUM> in each set <NUM> is not consecutive, but may be some other grouping (e.g., every other detection point <NUM>, every two of three detection points <NUM>, a random selection of detection points <NUM>, etc.). In further examples, once n detection points have been acquired, each training example <NUM> includes all detection points <NUM> included in one or more prior training examples <NUM>. In other examples, a set <NUM> includes only the detection points <NUM> that occur within a sliding time window. For example, the sliding time window may encompass a period of <NUM> seconds, <NUM> seconds, <NUM> seconds, etc..

Target next detection points <NUM>-T are the known desired output values from machine learning model <NUM>. Target next detection points <NUM>-T may be used for supervised training of machine learning model <NUM>, as will be explained below.

In some examples in which the source data does not evenly space the plurality of detection points <NUM> along the time axis, the plurality of detection points <NUM> (or the detection points <NUM> of a training example <NUM>) may be adjusted, such as by interpolation, to a uniform time spacing (e.g., <NUM> second) to simplify processing by machine learning model <NUM>.

To simplify training of machine learning model <NUM>, detection points <NUM> may in some examples be normalized to a reference intensity value. In some examples, the reference intensity value is the maximum intensity value Imax at apex <NUM> of peak <NUM>. However, any other normalization scheme may be used, and the reference intensity value may be any other suitable reference value, such as a known running average intensity value of the elution profile, a global maximum intensity value of the elution profile, a recent maximum intensity value, etc. In some examples, the normalization scheme may include a baseline slope and/or a baseline level correction. For example, the normalized intensity value may be determined as the ratio of the difference between the last intensity value and a baseline intensity value to the difference between the expected maximum intensity value Imax and the baseline intensity value.

Referring again to <FIG>, training data <NUM> may be split into two sets of data, such that a first set of training data may be used for training machine learning model <NUM> and a second set of training data may be used to score machine learning model <NUM>. For example, training data <NUM> may be split so that a first percentage (e.g., <NUM>%) of training examples <NUM> are used as the training set for training machine learning model <NUM> and a second percentage (e.g., <NUM>%) of the training examples <NUM> are used as the scoring set to generate an accuracy score for machine learning model <NUM>.

Evaluation unit <NUM> is configured to determine (e.g., compute), based on the predicted next detection point output from machine learning model <NUM> and target next detection point <NUM>, an evaluation value that is provided to machine learning model <NUM>. Training module <NUM> may adjust one or more model parameters of machine learning model <NUM> based on the evaluation value.

<FIG> shows an illustrative method <NUM> that may be performed by training module <NUM> to train machine learning model <NUM>. While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify one or more operations of the method <NUM> depicted in <FIG>. Each operation of method <NUM> depicted in <FIG> may be performed in any manner described herein.

At operation <NUM>, training module <NUM> accesses an elution profile including a plurality of detection points representing intensity of detected ions as a function of time. The ions are derived from components eluting from a chromatography column and detected by a mass analyzer.

At operation <NUM>, training module <NUM> generates, based on the elution profile, training data including a plurality of training examples (e.g., training examples <NUM>). A training example of the plurality of training examples includes a set of detection points and a target next detection point. The target next detection point is a detection point of the plurality of detection points following the set of detection points. In some examples, generating the training data also includes interpolating the detection points to a uniform time scale and/or normalizing the detection points to a reference intensity value prior to (or after) generating the plurality of training examples.

At operation <NUM>, training module <NUM> uses the training data to train machine learning model <NUM> to determine a predicted next detection point following the set of detection points. Once trained, machine learning model <NUM> may implement elution profile model <NUM> and may be used to determine a predicted next detection point of an elution profile during an analytical experiment.

<FIG> shows an illustrative method <NUM> of training a machine learning model with a training example during training stage <NUM> of <FIG>. While <FIG> shows illustrative operations according to one embodiment, other embodiments may omit, add to, reorder, and/or modify one or more operations of the method <NUM>. Each operation of method <NUM> depicted in <FIG> may be performed in any manner described herein.

At operation <NUM>, training module <NUM> determines, using a machine learning model (e.g., machine learning model <NUM>), a predicted next detection point based on a set of detection points (e.g., a set <NUM>) in a training example (e.g., a training example <NUM>). For example, training module <NUM> may apply the set of detection points to machine learning model <NUM>, and machine learning model <NUM> may determine (e.g., compute) a predicted next detection point based on the input set of detection points.

At operation <NUM>, training module <NUM> determines an evaluation value based on the predicted next detection point and the target next detection point (e.g., target next detection point <NUM>) in the training example. For example, as shown in <FIG>, training module <NUM> may input the predicted next detection point determined by machine learning model <NUM> and the target next detection point <NUM> in the training example <NUM> into evaluation unit <NUM>. Evaluation unit <NUM> may determine the evaluation value based on the determined predicted next detection point and the target next detection point <NUM>. The evaluation value is any value representing a comparison of the predicted next detection point to the target next detection point <NUM>. For example, the evaluation value may be a mean squared difference between the predicted next detection point results (e.g., the predicted intensity value) determined by machine learning model <NUM> and the corresponding target next detection point <NUM> (e.g., the target intensity value) of the training example. Other implementations for determining the evaluation value are also possible and contemplated.

At operation <NUM>, training module <NUM> adjusts one or more model parameters of machine learning model <NUM> based on the determined evaluation value. For example, as depicted in <FIG>, training module <NUM> may back-propagate the evaluation value determined by evaluation unit <NUM> to machine learning model <NUM>, and adjust the model parameters of machine learning model <NUM> (e.g., weight values assigned to various data elements in the training examples) based on the evaluation value.

In some embodiments, training module <NUM> may determine whether the model parameters of machine learning model <NUM> have been sufficiently adjusted. For example, training module <NUM> may determine that machine learning model <NUM> has been subjected to a predetermined number of training cycles and therefore has been trained with a predetermined number of training examples. Additionally or alternatively, training module <NUM> may determine that the evaluation value (e.g., the mean squared difference between the predicted intensity value and the target intensity value) satisfies a predetermined evaluation value threshold for a threshold number of training cycles, and thus determine that the model parameters of machine learning model <NUM> have been sufficiently adjusted. Additionally or alternatively, training module <NUM> may determine that the evaluation value remains substantially unchanged for a predetermined number of training cycles (e.g., a difference between the evaluation values computed in sequential training cycles satisfies a difference threshold), and thus determine that the model parameters of machine learning model <NUM> have been sufficiently adjusted.

In some embodiments, responsive to determining that the model parameters of machine learning model <NUM> have been sufficiently adjusted, training module <NUM> may determine that the training stage of machine learning model <NUM> is completed and select the current values of the model parameters to be values of the model parameters in trained machine learning model <NUM>. Trained machine learning model <NUM> may implement an elution profile model (e.g., elution profile model <NUM>) configured to determine a predicted next detection point in an elution profile based on a set of detection points acquired during an analytical experiment.

In some examples, machine learning model <NUM> is trained based on training data <NUM> acquired during multiple different experiments performed under different sets of experiment conditions. As a result, trained machine learning model <NUM> may be used (e.g., in methods <NUM>, <NUM>, <NUM>, or <NUM>) across a wide range of experiment conditions. Experiment conditions include, without limitation, one or more of a flow rate of the separation system (e.g., nanoflow, microflow, high flow), a gradient of the chromatography column, a list of target analytes, a type of chromatography performed, or a type of stationary phase and/or mobile phase of the chromatography column. Machine learning model <NUM> may be trained for use under a wide range of experiment conditions in any suitable way.

In some examples, training data <NUM> includes a plurality of subsets of training data. Each subset of training data is acquired based on a distinct set of experiment conditions. Training module <NUM> may train machine learning model <NUM> on each individual subset of training data serially in a plurality of training stages. For example, training module <NUM> may train machine learning model <NUM> on a first subset of training data <NUM> in a first training stage. Upon completion of training with the first subset, training module <NUM> may train machine learning model <NUM> on a second subset of training data <NUM> in a second training stage. Upon completion of training with the second subset, training module <NUM> may train machine learning model <NUM> on a third subset of training data <NUM> in a third training stage, and so forth.

Alternatively, data from multiple different subsets of training data may be mixed so that machine learning model <NUM> is trained on the different subsets of training data in one training stage. For example, training examples from the various different subsets of training data may be mixed (e.g., randomly) to form training data <NUM>. In some embodiments, training examples associated with the same elution peak may be grouped together so that all training examples associated with the elution peak are trained in sequence before machine learning model <NUM> is trained using training examples from a different group.

In some examples, each training example <NUM> may further include, in addition to set of detection points <NUM> and target next detection point <NUM>, data representative of one or more experiment conditions. The data representative of one or more experiment conditions may be automatically accessed or obtained by training module <NUM> from the LC-MS system (e.g., from controller <NUM> or controller <NUM>), or may be provided manually by a user.

In alternative examples, machine learning model <NUM> is trained based on training data <NUM> configured for a specific application, such as a selected m/z, specific experiment conditions, a specific sample type, etc. In such examples, machine learning model <NUM> could be trained after acquiring data for an initial priming experiment, and machine learning model <NUM> could be used thereafter only for subsequent iterations of that specific experiment.

In some examples, machine learning model <NUM> may be refined or further trained in real time (e.g., during an analytical experiment). In some embodiments, training module <NUM> may continue to collect training examples <NUM> and train machine learning model <NUM> with the collected training examples <NUM> over time. For example, when training module <NUM> collects one or more additional training examples from one or more data sources, training module <NUM> may update the plurality of training examples to include both existing training examples and the additional training examples, and train machine learning model <NUM> with the updated plurality of training examples according to the training process described herein. Additionally or alternatively, training module <NUM> may periodically collect additional training examples from one or more data sources, update the plurality of training examples to include both existing training examples and the additional training examples, and train machine learning model <NUM> with the updated plurality of training examples at predetermined intervals.

Elution profile model <NUM> may also be scored and/or updated (e.g., re-trained) in real-time during an analytical experiment based on data acquired during the analytical experiment (e.g., based on analytical acquisitions or scans). At various times throughout an analytical experiment, system <NUM> may perform an assessment to assess the performance of elution profile model <NUM> using analytical data already acquired up to that point. Assessments may be performed at any suitable time, such as periodically (e.g., every nth scan), randomly, or in response to a trigger event (e.g., an event indicating overfilling, such as detection of coalescence or peak broadening exceeding a threshold amount). Each assessment may assess the quality of elution profile model <NUM>. If system <NUM> determines during an assessment that an error condition is satisfied, system <NUM> may retrain and/or update elution profile model <NUM> using the acquired experimental data.

For example, system <NUM> may obtain, based on the next mass spectrum, an acquired next detection point and compare the predicted intensity value of the predicted next detection point with the intensity value of the corresponding acquired detection point to determine an evaluation value for the predicted next detection point. If the evaluation value exceeds a threshold value (e.g., an error condition is satisfied), system <NUM> may retrain elution profile model <NUM> using the acquired experimental data. It will be recognized that other error conditions, such as signal drift (m/z drift) of the mass spectrometer, may trigger retraining of elution profile model <NUM> using the acquired experimental data.

If elution profile model <NUM> is updated during an analytical experiment, the updated elution profile model <NUM> may be used as the default elution profile model <NUM> for the next experiment. In this way, elution profile model <NUM> can be re-trained and updated on the fly without consuming additional time for retraining and updating. The real-time assessment and updating process need not require input from the user, thereby improving convenience for the user.

In some examples, an analytical experiment may begin with no accumulation time corrections or adjustments and instead use conventional methods of ion population regulation, or the analytical experiment may use an elution profile model previously trained on other previously acquired data (e.g., training data, analytical experiments, simulated data, etc.). During the analytical experiment, an elution profile model for the particular analytical experiment may be trained in real-time by using training data acquired during a first stage of the analytical experiment. In a second stage of the analytical experiment, system <NUM> may implement method <NUM> using the elution profile model trained in the first stage to regulate the ion population. The second stage may begin after a threshold has been reached, such as a minimum number of peak elutions, a minimum time elapsed, detection of a particular analyte, a minimum total ion current, etc. The initial training data for training the elution profile model, including data acquired in the first segment of the analytical experiment, may be small but useable, and may be refined in subsequent updates, as described above. In some examples, the elution profile model may be refined and updated based on training data acquired during the second stage of the analytical experiment. If updates made during the second stage fall outside some threshold boundaries (e.g., an evaluation value exceeds an acceptable tolerance), system <NUM> may revert to using the conventional methods of ion population regulation or using an elution profile model trained previously on other training data not acquired during the analytical experiment.

Various modifications may be made to the methods, apparatuses, and systems described herein. In some examples, the principles described herein may be applied to regulation of ion population through a transmission-type instrument rather than in a trapping-type instrument that accumulates ions. In these examples, the term "injection time" refers to the period of time over which ions are injected into a device, such as a time-of-flight (ToF) mass filter or a quadrupole mass filter and may be used interchangeably with accumulation time. Some transmission-type instruments may additionally or alternatively use ion attenuation to regulate the intensity of the beam that hits the detector and thereby regulate the ion population. In these examples, the degree of ion attenuation may be regulated in a manner similar to regulation of injection time and may be regulated independently or together with regulation of injection time.

In additional modifications, a separation device (e.g., a liquid chromatograph, a gas chromatograph, a capillary electrophoresis device, etc.) and/or a mass spectrometer (e.g., mass spectrometer <NUM>) may include or may be coupled with an ion mobility analyzer, and data acquired by the ion mobility analyzer may be used to train an elution profile model and determine a predicted next detection point in a manner similar to the methods described above for data acquired by the mass spectrometer. For example, a first set of data acquired with an ion mobility analyzer and a mass analyzer may include a series of mass spectra including intensity values of ions produced from the sample components as a function of m/z and/or ion mobility of the ions (e.g., a collision cross-section (CCS) of the ions). A second set of data may be extracted from the first set of data. The extracted second set of data may include a plurality of detection points representing intensity, as detected by the mass analyzer, as a function of time for a selected m/z and/or a selected CCS or range of CCS. The second set of data may be used in any way described herein, such as to train an elution profile model and/or to determine a predicted next detection point for the selected CCS or range of CCS.

In some examples, system <NUM> may be configured to request user input to manage or adjust settings of the ion population regulation processes. For example, system <NUM> may obtain, from a user, method settings, a list of target analytes, a selected m/z, and/or any other initial or default values of parameters associated with elution profile model <NUM>. System <NUM> may also be configured to notify the user of certain changes, such as when the accumulation time changes or changes by a threshold amount, or the need for changes, such as when an assessment indicates parameters should be adjusted.

In certain embodiments, one or more of the systems, components, and/or processes described herein may be implemented and/or performed by one or more appropriately configured computing devices. To this end, one or more of the systems and/or components described above may include or be implemented by any computer hardware and/or computer-implemented instructions (e.g., software) embodied on at least one non-transitory computer-readable medium configured to perform one or more of the processes described herein. In particular, system components may be implemented on one physical computing device or may be implemented on more than one physical computing device. Accordingly, system components may include any number of computing devices, and may employ any of a number of computer operating systems.

In certain embodiments, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices. In general, a processor (e.g., a microprocessor) receives instructions, from a non-transitory computer-readable medium, (e.g., a memory, etc.), and executes those instructions, thereby performing one or more processes, including one or more of the processes described herein.

A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media, and/or volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory ("DRAM"), which typically constitutes a main memory. Common forms of computer-readable media include, for example, a disk, hard disk, magnetic tape, any other magnetic medium, a compact disc read-only memory ("CD-ROM"), a digital video disc ("DVD"), any other optical medium, random access memory ("RAM"), programmable read-only memory ("PROM"), electrically erasable programmable read-only memory ("EPROM"), FLASH-EEPROM, any other memory chip or cartridge, or any other tangible medium from which a computer can read.

<FIG> shows an illustrative computing device <NUM> that may be specifically configured to perform one or more of the processes described herein. As shown in <FIG>, computing device <NUM> may include a communication interface <NUM>, a processor <NUM>, a storage device <NUM>, and an input/output ("I/O") module <NUM> communicatively connected one to another via a communication infrastructure <NUM>. While an illustrative computing device <NUM> is shown in <FIG>, the components illustrated in <FIG> are not intended to be limiting. Additional or alternative components may be used in other embodiments. Components of computing device <NUM> shown in <FIG> will now be described in additional detail.

One or more I/O modules may be used to receive input for a single virtual experience.

In some examples, any of the systems, computing devices, and/or other components described herein may be implemented by computing device <NUM>. For example, storage facility <NUM> may be implemented by storage device <NUM>, and processing facility <NUM> may be implemented by processor <NUM>.

Claim 1:
A method of performing mass spectrometry, comprising:
obtaining, based on a series of mass spectra (<NUM>, <NUM>, <NUM>) of detected ions derived from components eluting from a chromatography column (<NUM>), an elution profile (<NUM>) comprising a plurality of detection points (<NUM>) representing intensity of the detected ions as a function of time; and
determining, based on a set of detection points (<NUM>, <NUM>) included in the plurality of detection points (<NUM>), a predicted next detection point (<NUM>, <NUM>) of the elution profile to be obtained based on a next mass spectrum (<NUM>, <NUM>, <NUM>) to be acquired.