<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Anal. Sci.</journal-id>
<journal-title>Frontiers in Analytical Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Anal. Sci.</abbrev-journal-title>
<issn pub-type="epub">2673-9283</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1301602</article-id>
<article-id pub-id-type="doi">10.3389/frans.2023.1301602</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Analytical Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A Bayesian approach for constituent estimation in nucleic acid mixture models</article-title>
<alt-title alt-title-type="left-running-head">Tomono et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/frans.2023.1301602">10.3389/frans.2023.1301602</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Tomono</surname>
<given-names>Taichi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2482266/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/project-administration/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Hara</surname>
<given-names>Satoshi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Nakai</surname>
<given-names>Yusuke</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Takahara</surname>
<given-names>Kazuma</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/software/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Iida</surname>
<given-names>Junko</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<xref ref-type="aff" rid="aff4">
<sup>4</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Washio</surname>
<given-names>Takashi</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Reasoning for Intelligence</institution>, <institution>The Institute of Scientific and Industrial Research</institution>, <institution>Osaka University</institution>, <addr-line>&#x14c;saka</addr-line>, <country>Japan</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>AI Solution Unit</institution>, <institution>Technology Research Laboratory</institution>, <institution>Shimadzu Corporation</institution>, <addr-line>Kyoto</addr-line>, <country>Japan</country>
</aff>
<aff id="aff3">
<sup>3</sup>
<institution>Shimadzu Analytical Innovation Research Laboratories</institution>, <institution>Osaka University</institution>, <addr-line>&#x14c;saka</addr-line>, <country>Japan</country>
</aff>
<aff id="aff4">
<sup>4</sup>
<institution>Life Science Business Department</institution>, <institution>Analytical and Measuring Instruments Division</institution>, <institution>Shimadzu Corporation</institution>, <addr-line>Kyoto</addr-line>, <country>Japan</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/738309/overview">Krzysztof Bernard Bec</ext-link>, University of Innsbruck, Austria</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/104432/overview">Rui Vitorino</ext-link>, University of Aveiro, Portugal</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1829500/overview">Marina De Gea Neves</ext-link>, University of Duisburg-Essen, Germany</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Taichi Tomono, <email>t_taichi@shimadzu.co.jp</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>08</day>
<month>01</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>3</volume>
<elocation-id>1301602</elocation-id>
<history>
<date date-type="received">
<day>05</day>
<month>09</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>14</day>
<month>12</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Tomono, Hara, Nakai, Takahara, Iida and Washio.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Tomono, Hara, Nakai, Takahara, Iida and Washio</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>Mass spectrometry (MS) is a powerful analytical method used for various purposes such as drug development, quality assurance, food inspection, and monitoring of pollutants in the environment. In recent years, with the active development of antibodies and nucleic acid-based drugs, impurities with various modifications are produced. These can lead to a decrease in drug stability, pharmacokinetics, and efficacy, making it crucial to differentiate these impurities. Previously, attempts have been made to estimate the monoisotopic mass and ion amounts in the spectrum generated by electrospray ionization (ESI). However, conventional methods could not explicitly estimate the number of constituents, and discrete state evaluations, such as the probability that the number of constituents is <italic>k</italic> or <italic>k&#x2b;1</italic>, were not possible. We propose a method where, for each possible number of constituents in the sample, mass spectrometry is modeled using parameters like monoisotopic mass and ion counts. Using Simulated Annealing, NUTS, and stochastic variational inference, we determine the parameters for each constituent number model and the maximum posterior probability. Finally, by comparing the maximum posterior probabilities between models, we select the optimal number of constituents and estimate the monoisotopic mass and ion counts under that scenario.</p>
</abstract>
<kwd-group>
<kwd>LC-MS</kwd>
<kwd>ESI</kwd>
<kwd>chemometrics</kwd>
<kwd>Bayesian inference</kwd>
<kwd>deconvolution</kwd>
<kwd>signal processing</kwd>
<kwd>nucleic-acid-drugs</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Chemometrics</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec sec-type="intro" id="s1">
<title>1 Introduction</title>
<p>Mass Spectrometry (MS) is a powerful analytical technique used for various purposes such as drug development and quality assurance, food inspection, and monitoring of pollutants in the environment. In recent years, with the active development of antibodies and nucleic acid drugs, impurities with different modifications are produced. These can cause a decrease in the stability of the drug, its pharmacokinetics, and its efficacy (<xref ref-type="bibr" rid="B27">Weinberg et al., 2005</xref>; <xref ref-type="bibr" rid="B22">Sanghvi, 2011</xref>; <xref ref-type="bibr" rid="B18">Pecori et al., 2022</xref>; <xref ref-type="bibr" rid="B25">Tamara et al., 2022</xref>). Therefore, it is crucial in drug development and quality assurance to distinguish these multiple impurities in pharmaceuticals and take measures against them. Moreover, if we know the monoisotopic mass of the constituents, it can provide valuable information for considering the cause of impurity generation, and if the ion amounts of the constituents are known, it helps estimate the effect of the impurity.</p>
<p>However, in current mass spectrometry, it is generally difficult to directly distinguish impurities in targets of middle molecules or higher that have slight modifications, and to estimate the correct number of constituents and their monoisotopic mass and ion amounts. This challenge arises because separating such impurities using conventional chromatography methods is problematic. Furthermore, the MS spectra become complex due to the isotopes in the target constituent. Especially with the most used ionization method, Electrospray Ionization (ESI), more complex spectra are produced because it creates multivalent ions, leading to many interpretations and degrees of freedom, making analysis even more challenging.</p>
<p>While increasing hardware resolution can differentiate slight differences between isotopes and modifications, methods like FT-ICR (Fourier Transform Ion Cyclotron Resonance), which have high resolution, require massive equipment and substantial costs, making it inconvenient to handle. Thus, it is preferable to analyze with devices that can be managed in general labs, such as Triple-Quadrupole-MS and Quadrupole -Time-of-Flight-MS(Q-TOF-MS).</p>
<p>Therefore, there is active research in approaching signal analysis through software. Various attempts have been made to estimate mass from mass spectrometer data. Simple methods to derive m/z lists from spectra include wavelet transformation (<xref ref-type="bibr" rid="B29">Zhang et al., 2009</xref>). Recently, peak detection algorithms have been developed that combine continuous wavelet transformation (CWT) and image processing (<xref ref-type="bibr" rid="B5">Deng et al., 2021</xref>). This method applies image segmentation to CWT coefficients, creating masks, and combining them with CWT maximum values to improve peak detection ROC (receiver operating characteristic) curve. Such techniques are useful for resolving close mass constituents in spectra measured with low molecules, which have a relatively narrow isotope distribution, or when ionized with methods producing simple charge distributions like EI (electron ionization) or MALDI (matrix-assisted laser desorption ionization). However, for spectra of middle to high molecules with a wide isotope distribution, especially those generated by ESI, which produce multivalent ions with a charge distribution, distinguishing the monoisotopic mass of interest becomes challenging.</p>
<p>For charge deconvolution and deisotoping from multivalent ion spectra, a lot of algorithms such as heuristic gaussian fitting using nonlinear least squares minimization (<xref ref-type="bibr" rid="B4">Dasari et al., 2009</xref>) have been proposed. The ReSpect algorithm using the Max Entropy method (<xref ref-type="bibr" rid="B7">Ferrige et al., 1992</xref>) has been long used (<xref ref-type="bibr" rid="B30">Zhang and Alecio, 1998</xref>; <xref ref-type="bibr" rid="B26">Tranter, 2000</xref>; <xref ref-type="bibr" rid="B6">Ferrige et al., 2003</xref>). This algorithm integrates m/z lists based on charge distribution constraints, enabling the determination of monoisotopic mass. However, ReSpect cannot explicitly estimate the number of constituents in the spectrum, and it cannot evaluate discrete states, like the probability that there are <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> constituents or <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> constituents. Also, the entropy term of the objective function increases as the number of peaks in the deconvolution spectrum increases, leading to the selection of spectra with many peaks.</p>
<p>Recently, new methods like UniDec using Bayesian deconvolution have emerged (<xref ref-type="bibr" rid="B15">Marty et al., 2015</xref>; <xref ref-type="bibr" rid="B14">Marty, 2020</xref>). UniDec adopts a unique algorithm similar to the Richardson-Lucy method (<xref ref-type="bibr" rid="B21">Richardson, 1972</xref>; <xref ref-type="bibr" rid="B13">Lucy, 1974</xref>) and is faster than ReSpect. However, its iterative method to approximate the observed data by a convoluted spectrum does not resolve the issue of not being able to evaluate the probability of a certain number of constituents.</p>
<p>In this paper, we newly propose a method to select the optimal number of constituents by comparing the probability of each constituent count, and to estimate the monoisotopic mass and ion counts under that condition. This can suggest the presence of impurities in pharmaceuticals, assist in the search for better synthesis conditions for middle to high molecular pharmaceuticals, and be useful for quality assurance in factories. For this study, we target Time-of-Flight mass spectrometers, which are frequently used in drug development due to their high sensitivity and resolution.</p>
</sec>
<sec id="s2">
<title>2 Proposed method</title>
<sec id="s2-1">
<title>2.1 Analytical method framework</title>
<p>First, we model the mass spectrometry system based on parameters like the mass and charge of each constituent, assuming a certain number of constituents in the sample. Here, a constituent is defined as a substance with a specific monoisotopic mass. We then perform a MAP (Maximum A Posteriori) estimation of these parameters from the observed spectrum. By comparing the maximum posterior probability in models with different numbers of constituents, we determine the model with the most appropriate number of constituents.</p>
<p>However, this model has a large dimensionality of the number of constituents multiplied by 6. Moreover, the posterior probability for one of the parameters, the monoisotopic mass, is flat over a large portion of the search space and has several sharp peaks locally. Hence, gradient-based methods are not suitable for this case due to anticipated gradient vanishing. Therefore, to estimate the parameters, we combine the No-U-Turn Sampler (NUTS (<xref ref-type="bibr" rid="B9">Hoffman and Gelman, 2014</xref>), a type of Markov Chain Monte Carlo (MCMC), with Simulated Annealing (<xref ref-type="bibr" rid="B12">Kirkpatrick, Gelatt, and Vecchi, 1983</xref>).</p>
<p>The purpose of using Simulated Annealing is to introduce a temperature parameter. By selecting a high-temperature exploration parameter distribution, we can actively explore parameters even in areas where the posterior probability is flat or has sharp peaks. This ensures a broader search across the parameter space, reducing the chance of overlooking the global solution and getting trapped in local minima.</p>
<p>Furthermore, NUTS can explore parameters sparsely in areas with small gradients and can explore parameters in detail in areas with large gradients. Thus, introducing NUTS allows efficient exploration of the vast, high-dimensional parameter space.</p>
<p>On the other hand, while MCMC is good at searching for global solutions, it does not always reach the optimal solution within a certain number of search steps. Therefore, we use the parameters with the highest posterior probabilities obtained from NUTS and Simulated Annealing as initial values and apply stochastic variational inference. By doing this, we search for the optimal parameter where the posterior probability is maximized in the vicinity of that initial value, aiming to improve the accuracy of parameter estimation.</p>
<p>However, simultaneously searching for parameters for all possible numbers of constituents leads to a curse of dimensionality, where the search space explosively expands as the number of constituents increases, potentially reducing search efficiency and accuracy. To avoid this problem, we sequentially increase the number of constituents from <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to the maximum conceivable number <inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and for <inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> constituents calculate the optimal parameters and their posterior probabilities, and efficiently focus the parameter search areas for the k&#x2b;1 constituents by these posterior probabilities.</p>
<p>To balance the complexity of the model (number of constituents) and its fit (loss against the data), in addition to the prior distribution of each parameter, we introduce a prior distribution for the number of constituents. We also incorporate a prior distribution on the differences between the monoisotopic masses of multiple constituents. For analytical purposes, we have defined a single constituent as a substance with a distinct monoisotopic mass, thereby ensuring that their masses do not mutually take the same value. When seeking to separate isomers, it is essential to integrate other techniques such as fragmentation, ion mobility spectrometry, and chromatography, in addition to the proposed method. We first construct a model with <inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> constituent, obtain the optimal parameters and the maximum posterior probability based on the above prior distributions and observed data.</p>
<p>Next, we construct a model with <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> constituents. For one of the two constituents, we use a prior distribution centered on the optimal parameters already estimated for <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, narrowing its range. This suppresses the significant increase in the parameter search space. Based on this new prior distribution, we estimate the optimal parameters and obtain the maximum posterior probability.</p>
<p>Subsequently, we seek the maximum posterior probability for each model with constituent numbers up to the upper limit <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> by efficiently exploring the optimal parameters in the same manner.</p>
<p>Finally, we compare the maximum posterior probabilities corresponding to each model with different numbers of constituents. We select the model with the highest probability and obtain the estimates for the monoisotopic masses and ion counts.</p>
</sec>
<sec id="s2-2">
<title>2.2 Physical model of mass spectrometers</title>
<p>In a time-of-flight mass spectrometer, the relationship between time of filght <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, mass <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, and charge <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> can ideally be represented as in Eq. <xref ref-type="disp-formula" rid="e1">1</xref> (<xref ref-type="bibr" rid="B3">Boesl, 2017</xref>). Here, <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the acceleration voltage to eject ions, and <inline-formula id="inf14">
<mml:math id="m14">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the flight distance of ions.<disp-formula id="e1">
<mml:math id="m15">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.72</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>y</mml:mi>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2219;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>
</p>
<p>The actual signal obtained is a convolution of the delta function <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> with the detector&#x2019;s response waveform <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Preliminary experiments have shown that <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> has a stochastic ToF jitter <inline-formula id="inf18">
<mml:math id="m19">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> following the logarithmic normal distribution <inline-formula id="inf19">
<mml:math id="m20">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x39b;</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="double-struck">E</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf20">
<mml:math id="m21">
<mml:mrow>
<mml:mi mathvariant="double-struck">E</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>v</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). Additionally, the height (intensity) of the response waveform also has a stochastic response factor <inline-formula id="inf21">
<mml:math id="m22">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> following the logarithmic normal distribution <inline-formula id="inf22">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x39b;</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Reflecting these variances in time of flight and detector response intensity, the response <inline-formula id="inf23">
<mml:math id="m24">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> when a single ion with mass <italic>m</italic> and charge <italic>z</italic> enters the detector according to Eq. <xref ref-type="disp-formula" rid="e1">1</xref> can be written as:<disp-formula id="e2">
<mml:math id="m25">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2219;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x2219;</mml:mo>
<mml:mi>R</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2a;</mml:mo>
<mml:mi>&#x3b4;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.72</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>y</mml:mi>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x2219;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>V</mml:mi>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:msqrt>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b5;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The mass <inline-formula id="inf24">
<mml:math id="m26">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and charge <inline-formula id="inf25">
<mml:math id="m27">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> of constituent <inline-formula id="inf26">
<mml:math id="m28">
<mml:mrow>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> follow a distribution as described below. Since the natural isotopic abundances differ by element, and each functional group has different charge rates, the probability mass functions of mass and charge are represented by a multinomial distribution as:<disp-formula id="e3">
<mml:math id="m29">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>!</mml:mo>
<mml:munder>
<mml:mo>&#x220f;</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x220a;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mi>H</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:munder>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>!</mml:mo>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mi>&#x3be;</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
<disp-formula id="e4">
<mml:math id="m30">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>!</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x220f;</mml:mo>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:munderover>
</mml:mstyle>
<mml:msup>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mi>z</mml:mi>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<inline-formula id="inf27">
<mml:math id="m31">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>I</mml:mi>
<mml:mi>D</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> <inline-formula id="inf28">
<mml:math id="m32">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>:</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>t</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>s</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf29">
<mml:math id="m33">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>:</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf30">
<mml:math id="m34">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>h</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>c</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>o</mml:mi>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>s</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>f</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>H</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf31">
<mml:math id="m35">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>a</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mmultiscripts>
<mml:mi>H</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mn>2</mml:mn>
</mml:mmultiscripts>
<mml:mo>,</mml:mo>
<mml:mmultiscripts>
<mml:mi>C</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mn>13</mml:mn>
</mml:mmultiscripts>
<mml:mo>,</mml:mo>
<mml:mmultiscripts>
<mml:mi>N</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mn>15</mml:mn>
</mml:mmultiscripts>
<mml:mo>,</mml:mo>
<mml:mmultiscripts>
<mml:mi>O</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mn>18</mml:mn>
</mml:mmultiscripts>
<mml:mo>,</mml:mo>
<mml:mmultiscripts>
<mml:mi mathvariant="normal">S</mml:mi>
<mml:mprescripts/>
<mml:none/>
<mml:mn>34</mml:mn>
</mml:mmultiscripts>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf32">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3be;</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>H</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>C</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>N</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>O</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf33">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>f</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>g</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf34">
<mml:math id="m38">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>b</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>e</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>f</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>g</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>However, this model becomes too complex for Bayesian inference due to its large number of parameters <inline-formula id="inf35">
<mml:math id="m39">
<mml:mrow>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Therefore, we introduce an approximation that assumes equal isotopic abundances for all elements, an increase of one neutron in isotopes, and equal charge probabilities for all functional groups.</p>
<p>Consequently, the mass distribution of constituent j can be represented by a binomial distribution based on the monoisotopic mass as a reference, where <inline-formula id="inf36">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> atoms contained in a molecule are replaced by isotopes with an increase of &#x2b;1Da at a probability of <inline-formula id="inf37">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Similarly, for the charge distribution, <inline-formula id="inf38">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> functional groups can be represented by a binomial distribution where they acquire a charge of &#x2b;1 (in the case the mass spectrometry system is in positive mode) at a rate of <inline-formula id="inf39">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. This reduces the number of parameters down to six dimensions.<disp-formula id="e5">
<mml:math id="m44">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>m</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mi>m</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>
<disp-formula id="e6">
<mml:math id="m45">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>z</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msup>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mi>z</mml:mi>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>
<inline-formula id="inf40">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf41">
<mml:math id="m47">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>a</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
<inline-formula id="inf42">
<mml:math id="m48">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>v</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2002;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>h</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>f</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>l</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>g</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>p</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>Considering that constituent <italic>j</italic> contains up to <inline-formula id="inf43">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> ions, its spectrum is represented as:<disp-formula id="e7">
<mml:math id="m50">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:munderover>
</mml:mstyle>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
<disp-formula id="equ1">
<mml:math id="m51">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x223c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x223c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
</disp-formula>
<inline-formula id="inf44">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mo>:</mml:mo>
<mml:mi>n</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>o</mml:mi>
<mml:mi>f</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>i</mml:mi>
<mml:mi>n</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mtext>&#xa0;</mml:mtext>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
<p>If the ion counts are sufficiently large, it can be approximated as:<disp-formula id="e8">
<mml:math id="m53">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">Q</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munder>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">Z</mml:mi>
<mml:mo>&#x2b;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:munder>
</mml:mstyle>
<mml:msub>
<mml:mover accent="true">
<mml:mi>p</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2219;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>q</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2219;</mml:mo>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>
</p>
<p>Noise in the time-of-flight mass spectrometer is known to be stationary and follows a normal distribution based on preliminary experiments. It is known that the thermal noise of detection circuits in such as mass spectrometers follows a normal distribution (<xref ref-type="bibr" rid="B10">Johnson, 1928</xref>), suggesting that in this case, thermal noise is the dominant factor in overall noise. Therefore, the noise to be added to the entire spectrum is represented as <inline-formula id="inf45">
<mml:math id="m54">
<mml:mrow>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x223c;</mml:mo>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>&#x3c3;</mml:mi>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Considering these, the conclusive spectrum combined with the multiple spectra of single constituent is represented as:<disp-formula id="e9">
<mml:math id="m55">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>j</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>
</p>
</sec>
<sec id="s2-3">
<title>2.3 Bayesian estimation of number of constituents and parameters</title>
<p>When the observation data from the mass spectrometer <inline-formula id="inf46">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is obtained, assuming the number of constituents as <inline-formula id="inf47">
<mml:math id="m57">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the posterior probability distribution <inline-formula id="inf48">
<mml:math id="m58">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x7c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> for parameters <inline-formula id="inf49">
<mml:math id="m59">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>:</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mn>1</mml:mn>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>k</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>i</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is defined as per Bayes&#x2019; theorem. Note that <inline-formula id="inf50">
<mml:math id="m60">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> represents the likelihood of parameters &#x3b8; when <inline-formula id="inf51">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is provided, and <inline-formula id="inf52">
<mml:math id="m62">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denotes the prior distribution.<disp-formula id="e10">
<mml:math id="m63">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x7c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x221d;</mml:mo>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Here, in addition to the prior distribution of each parameter (uniform distribution), we incorporate a regularization term, <inline-formula id="inf53">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> to achieve a suitable balance between model complexity (number of constituents) and model fit (loss with respect to data). We also introduce a regularization term, <inline-formula id="inf54">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, to prevent multiple constituents within the same model from assuming the same monoisotopic mass. Hence, we introduce the following logarithmic prior distribution:<disp-formula id="e11">
<mml:math id="m66">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x221d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>To determine the appropriate number of constituents <inline-formula id="inf55">
<mml:math id="m67">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, we define the regularization term <inline-formula id="inf56">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> representing the complexity of the model with <inline-formula id="inf57">
<mml:math id="m69">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> based on the Bayesian Information Criterion (BIC). The BIC is a statistical measure that balances the fit to the data and model complexity (<xref ref-type="bibr" rid="B23">Schwarz, 1978</xref>; <xref ref-type="bibr" rid="B17">Neath and Cavanaugh, 2012</xref>). Here, <inline-formula id="inf58">
<mml:math id="m70">
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the dimension of the observation data <inline-formula id="inf59">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, which in this study is the number of data points in the time direction.<disp-formula id="equ2">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</disp-formula>
<disp-formula id="equ3">
<mml:math id="m73">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mo>:</mml:mo>
<mml:mn>300</mml:mn>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<p>Furthermore, we define a constituent by its unique monoisotopic mass. Therefore, if the estimated values of the monoisotopic mass parameters of multiple constituents are the same in the algorithm, the count of constituents will not be accurate. Here, we define the logarithmic prior distribution (regularization term) <inline-formula id="inf60">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> as follows, using a penalty that increases exponentially according to the difference in estimated monoisotopic mass values, as shown in <xref ref-type="fig" rid="F1">Figure 1</xref>. The integral of the spectrum <inline-formula id="inf61">
<mml:math id="m75">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is also multiplied as a coefficient to ensure that the impact of the penalty does not change depending on the scale of the observed data.<disp-formula id="e12">
<mml:math id="m76">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:munderover>
</mml:mstyle>
<mml:mfrac>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:msubsup>
<mml:mo>&#x222b;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mi>&#x221e;</mml:mi>
</mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>d</mml:mi>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>b</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mi mathvariant="italic">exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>b</mml:mi>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>
<disp-formula id="equ4">
<mml:math id="m77">
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.001</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi>b</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.1</mml:mn>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>h</mml:mi>
<mml:mi>y</mml:mi>
<mml:mi>p</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>p</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</disp-formula>
</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Characteristics of the regularization term <inline-formula id="inf62">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">w</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mi>.</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</caption>
<graphic xlink:href="frans-03-1301602-g001.tif"/>
</fig>
<p>Here, by substituting the parameter <inline-formula id="inf63">
<mml:math id="m79">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> generated from MCMC into model (9), we obtain the spectrum as <inline-formula id="inf64">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. We assume a normal distribution for the noise. The standard deviation of the noise denoted as <inline-formula id="inf65">
<mml:math id="m81">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is set to 2,000. Consequently, the logarithm of the posterior probability distribution is as follows.<disp-formula id="equ5">
<mml:math id="m82">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x7c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x221d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x7c;</mml:mo>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x221d;</mml:mo>
<mml:mi>L</mml:mi>
<mml:mo>:</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x3b2;</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
</mml:mfrac>
<mml:mi>exp</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="normal">&#x3b2;</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>&#x3c3;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3c3;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>log</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>b</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>c</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>
</p>
<p>Here, <inline-formula id="inf66">
<mml:math id="m83">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the inverse temperature. As described in 2.1, we use Simulated Annealing to ensure active parameter exploration in flat areas or sharp peaks of posterior probability. This is achieved by multiplying the inverse temperature <inline-formula id="inf67">
<mml:math id="m84">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x3c;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> to the posterior probability. Initially starting from a low inverse temperature value (i.e., high temperature) and gradually increasing to a higher value (i.e., low temperature). At low inverse temperatures (high temperatures), the system explores a wide parameter space. Conversely, at high inverse temperatures (low temperatures), the system converges to the optimal solution. This time, we set the temperature change in three stages: <inline-formula id="inf68">
<mml:math id="m85">
<mml:mrow>
<mml:mi>&#x3b2;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>0.2</mml:mn>
<mml:mn>5</mml:mn>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mn>0.2</mml:mn>
<mml:mn>4</mml:mn>
</mml:msup>
<mml:mo>&#x2192;</mml:mo>
<mml:msup>
<mml:mn>0.2</mml:mn>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>To obtain the maximum posterior probability and parameters <inline-formula id="inf69">
<mml:math id="m86">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> that maximize the posterior probability (formula (13)), we conduct sampling from this posterior probability distribution using MCMC.</p>
</sec>
<sec id="s2-4">
<title>2.4 Parameter exploration and optimization</title>
<p>From the posterior probability distribution <inline-formula id="inf70">
<mml:math id="m87">
<mml:mrow>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
<mml:mo>&#x7c;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>S</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>b</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, we sample the parameter <inline-formula id="inf71">
<mml:math id="m88">
<mml:mrow>
<mml:mi>&#x3b8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to select the one that maximizes the posterior probability. We use the No-U-Turn Sampler (NUTS) for sampling, a recent and popular variant of the Markov Chain Monte Carlo (MCMC) method. NUTS is a type of MCMC, especially a derivative of the Hamiltonian Monte Carlo method (HMC) (<xref ref-type="bibr" rid="B16">Neal, 2011</xref>; <xref ref-type="bibr" rid="B2">Betancourt, 2017</xref>).</p>
<p>After executing MCMC, the parameters of the maximum posterior probability obtained are inherited as initial values, and optimization of the parameters is performed using Stochastic Variational Inference [SVI (<xref ref-type="bibr" rid="B11">Kingma and Max, 2013</xref>; <xref ref-type="bibr" rid="B28">Wingate and Weber, 2013</xref>; <xref ref-type="bibr" rid="B20">Ranganath et al., 2014</xref>)]. For more details, please refer to the Supporting Material.</p>
</sec>
<sec id="s2-5">
<title>2.5 Workflow for inferring constituents in a sample</title>
<p>The overall picture of the workflow to determine the optimal parameters and posterior probability for each assumed number of constituents from the observational data of the mass spectrometer is as shown in <xref ref-type="fig" rid="F2">Figure 2</xref>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Inference process overall workflow.</p>
</caption>
<graphic xlink:href="frans-03-1301602-g002.tif"/>
</fig>
<p>First, as described in 2.3.1, (i) input the observational data of the mass spectrometer with dimensions of flight time and ion counts. Then (ii) assume that the number of constituents, <inline-formula id="inf72">
<mml:math id="m89">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, contained in the sample is 1. (iii) Set the inverse temperature to <inline-formula id="inf73">
<mml:math id="m90">
<mml:mrow>
<mml:msup>
<mml:mn>0.2</mml:mn>
<mml:mn>5</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>Next, as described in 2.3.2, (iv) sample <inline-formula id="inf74">
<mml:math id="m91">
<mml:mrow>
<mml:mn>1,000</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mn>4</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> times from the posterior probability distribution, (v) set the MAP solution obtained by MCMC as the initial value for the next MCMC. Then (vi) divide the inverse temperature by 0.2. Repeat steps (iv) to (vi) three times.</p>
<p>As described in 2.3.3, (vii) set the parameter of the maximum posterior probability obtained by MCMC as the initial value for SVI. Then (viii) optimize the parameters with SVI, and (ix) set the parameter of the maximum posterior probability obtained by SVI as the initial value for the next MCMC.</p>
<p>Following 2.3.1, increase the number of constituents, <inline-formula id="inf75">
<mml:math id="m92">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, by 1. Repeat steps (iii) to (vi). (x) Continue this until the maximum possible number of constituents, <inline-formula id="inf76">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Finally, (xi) compare the maximum posterior probabilities of models from constituents <inline-formula id="inf77">
<mml:math id="m94">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf78">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>k</mml:mi>
<mml:mi mathvariant="italic">max</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and (xii) select the model with the largest posterior probability. Also, obtain the optimal parameters at that time.</p>
</sec>
</sec>
<sec sec-type="results" id="s3">
<title>3 Results</title>
<sec id="s3-1">
<title>3.1 Validation environment</title>
<p>The specifications of the PC used for verifying the proposed method, as well as the software versions, are detailed in <xref ref-type="table" rid="T1">Table 1</xref>. The proposed method handles data with 1 million dimensions along the time axis, requiring a large memory size. Additionally, to rapidly explore a wide 6-dimensional parameter space using MCMC, the high-speed probabilistic programming library, NumPyro, along with its compatible CUDA and GPU, were used.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Validation environment.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="left">CPU</td>
<td align="left">Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20&#xa0;GHz</td>
</tr>
<tr>
<td align="left">GPU</td>
<td align="left">Tesla V100-DGXS-16GB</td>
</tr>
<tr>
<td align="left">RAM</td>
<td align="left">264&#xa0;GB</td>
</tr>
<tr>
<td align="left">OS</td>
<td align="left">Ubuntu 20.04.6 LTS</td>
</tr>
<tr>
<td align="left">Software</td>
<td align="left">Python 3.8.10</td>
</tr>
<tr>
<td align="left"/>
<td align="left">Numpyro 0.11.0</td>
</tr>
<tr>
<td align="left"/>
<td align="left">jax 0.4.7</td>
</tr>
<tr>
<td align="left"/>
<td align="left">CUDA 11.8</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2">
<title>3.2 Creation of simulation data for validation</title>
<p>Based on the nucleic acid drug Fomivirsen (<xref ref-type="bibr" rid="B19">Perry and Balfour, 1999</xref>) (ID: A), four impurity constituents with modified base sequences were added, and spectra for a total of five constituents were generated via simulation. Specific values are as per <xref ref-type="table" rid="T2">Table 2</xref>. This enables the replication of a system where the principal constituent&#x2019;s isotopic distribution and the impurity spectra are mixed.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Settings for constituent spectrum generation.</p>
</caption>
<table>
<thead valign="top">
<tr>
<td align="center">ID</td>
<td align="center">Sequence</td>
<td align="center">Molecular Formula</td>
<td align="center">Monoisotopic Mass <inline-formula id="inf79">
<mml:math id="m96">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> [Da]</td>
<td align="center">Representative Functional Group Number <inline-formula id="inf80">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Representative Charge Rate <inline-formula id="inf81">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="center">Ion Counts</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">A</td>
<td align="left">gcg&#x200b;ttt&#x200b;gct&#x200b;ctt&#x200b;ctt&#x200b;ctt&#x200b;gcg</td>
<td align="left">C<sub>204</sub>H<sub>263</sub>N<sub>63</sub>O<sub>134</sub>P<sub>20</sub>
</td>
<td align="right">6361.088</td>
<td align="right">224</td>
<td align="right">0.035</td>
<td align="right">200,000</td>
</tr>
<tr>
<td align="center">B</td>
<td align="left">gcg&#x200b;ttt&#x200b;gut&#x200b;ctt&#x200b;ctt&#x200b;ctt&#x200b;gcg</td>
<td align="left">C<sub>204</sub>H<sub>262</sub>N<sub>62</sub>O<sub>135</sub>P<sub>20</sub>
</td>
<td align="right">6362.072</td>
<td align="right">224</td>
<td align="right">0.035</td>
<td align="right">200,000</td>
</tr>
<tr>
<td align="center">C</td>
<td align="left">gug&#x200b;ttt&#x200b;gut&#x200b;ctt&#x200b;ctt&#x200b;ctt&#x200b;gcg</td>
<td align="left">C<sub>204</sub>H<sub>261</sub>N<sub>61</sub>O<sub>136</sub>P<sub>20</sub>
</td>
<td align="right">6363.057</td>
<td align="right">224</td>
<td align="right">0.035</td>
<td align="right">200,000</td>
</tr>
<tr>
<td align="center">D</td>
<td align="left">gug&#x200b;ttt&#x200b;gut&#x200b;ctt&#x200b;ctt&#x200b;ctt&#x200b;gug</td>
<td align="left">C<sub>204</sub>H<sub>260</sub>N<sub>60</sub>O<sub>137</sub>P<sub>20</sub>
</td>
<td align="right">6364.042</td>
<td align="right">224</td>
<td align="right">0.035</td>
<td align="right">200,000</td>
</tr>
<tr>
<td align="center">E</td>
<td align="left">gug&#x200b;ttt&#x200b;gut&#x200b;ctt&#x200b;utt&#x200b;ctt&#x200b;gug</td>
<td align="left">C<sub>204</sub>H<sub>259</sub>N<sub>59</sub>O<sub>138</sub>P<sub>20</sub>
</td>
<td align="right">6365.027</td>
<td align="right">224</td>
<td align="right">0.035</td>
<td align="right">200,000</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Ion counts for each constituent were set at 20,000. To facilitate the interpretation of results and to ensure that the algorithm treats each constituent fairly, we will conduct evaluations using a 1:1 concentration ratio for each component in the proposed method. The atomic counts <inline-formula id="inf82">
<mml:math id="m99">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>a</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> for H, C, N, O, and S were obtained from the molecular formula of each constituent. Natural isotopic abundance ratios <inline-formula id="inf83">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> followed the NIST Atomic Weights and Isotopic Compositions for All Elements. The representative functional group number <inline-formula id="inf84">
<mml:math id="m101">
<mml:mrow>
<mml:msub>
<mml:mi>l</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the representative charge rate <inline-formula id="inf85">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> were set to 224 and 0.035, respectively, to ensure that the generated spectra resembled real data.</p>
<p>The procedure involved sampling from the multinomial distribution represented by Eqs <xref ref-type="disp-formula" rid="e3">3</xref> and <xref ref-type="disp-formula" rid="e4">4</xref> 20,000 times (total incoming ion counts) for each constituent. Subsequently, spectra were formed following the procedures in Eqs <xref ref-type="disp-formula" rid="e2">2</xref> and <xref ref-type="disp-formula" rid="e7">7</xref>.</p>
<p>The mutation from C (Cytosine) to U (Uracil) is called deamination and is generated in the synthesis process due to solvent conditions and thermal stress (<xref ref-type="bibr" rid="B24">Stavnezer, 2011</xref>; <xref ref-type="bibr" rid="B8">Gao, Choudhry, and Cao, 2018</xref>).</p>
<p>The spectra of the generated single constituents A to E were combined according to Eq. <xref ref-type="disp-formula" rid="e9">9</xref> in the 15 combinations listed in <xref ref-type="table" rid="T3">Table 3</xref>. This allows for a comprehensive combination of 2-3 constituents based on constituent A, as well as an evaluation of each individual constituent. We use these as test data.</p>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Combinations of constituents when generating spectra.</p>
</caption>
<table>
<thead valign="top">
<tr>
<td align="center">Mixture No.</td>
<td align="center">Constituents</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="right">1</td>
<td align="center">A,B,C</td>
</tr>
<tr>
<td align="right">2</td>
<td align="center">A,B,D</td>
</tr>
<tr>
<td align="right">3</td>
<td align="center">A,B,E</td>
</tr>
<tr>
<td align="right">4</td>
<td align="center">A,C,D</td>
</tr>
<tr>
<td align="right">5</td>
<td align="center">A,C,E</td>
</tr>
<tr>
<td align="right">6</td>
<td align="center">A,D,E</td>
</tr>
<tr>
<td align="right">7</td>
<td align="center">A,B</td>
</tr>
<tr>
<td align="right">8</td>
<td align="center">A,C</td>
</tr>
<tr>
<td align="right">9</td>
<td align="center">A,D</td>
</tr>
<tr>
<td align="right">10</td>
<td align="center">A,E</td>
</tr>
<tr>
<td align="right">11</td>
<td align="center">A</td>
</tr>
<tr>
<td align="right">12</td>
<td align="center">B</td>
</tr>
<tr>
<td align="right">13</td>
<td align="center">C</td>
</tr>
<tr>
<td align="right">14</td>
<td align="center">D</td>
</tr>
<tr>
<td align="right">15</td>
<td align="center">E</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-3">
<title>3.3 Evaluation of constituent count estimation accuracy</title>
<p>The results of estimating the number of constituents in the spectra of the test data (Mixture No.1&#x223c;15) using our proposed method are as shown in <xref ref-type="table" rid="T4">Table 4</xref>. The values within the table represent the negative logarithm of the maximum posterior probability in the model of constituent count k. Therefore, the smallest value should be selected.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Negative logarithm of the maximum posterior probability assuming each constituent count (Orange background indicates the true number of constituents, blue text indicates the minimum value across models).</p>
</caption>
<table>
<thead valign="top">
<tr>
<td align="center">Mixture No.</td>
<td align="center">k &#x3d; 1</td>
<td align="center">k &#x3d; 2</td>
<td align="center">k &#x3d; 3</td>
<td align="center">k &#x3d; 4</td>
<td align="center">k &#x3d; 5</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="right">1</td>
<td align="right">4373749.767</td>
<td align="right">3756983.691</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3752996.659</td>
<td align="right">3758705.421</td>
<td align="right">3763612.302</td>
</tr>
<tr>
<td align="right">2</td>
<td align="right">4278474.570</td>
<td align="right">3765457.060</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3753649.150</td>
<td align="right">3756752.529</td>
<td align="right">3762496.339</td>
</tr>
<tr>
<td align="right">3</td>
<td align="right">4194715.336</td>
<td align="right">3771155.281</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3759533.979</td>
<td align="right">3765154.970</td>
<td align="right">3763711.852</td>
</tr>
<tr>
<td align="right">4</td>
<td align="right">4219672.298</td>
<td align="right" style="color:#8496B0">3748972.091</td>
<td align="right" style="background-color:#FFB6C1">3754868.330</td>
<td align="right">3761667.320</td>
<td align="right">3763951.346</td>
</tr>
<tr>
<td align="right">5</td>
<td align="right">4319572.818</td>
<td align="right">3773245.536</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3757747.307</td>
<td align="right">3758337.677</td>
<td align="right">3763773.03</td>
</tr>
<tr>
<td align="right">6</td>
<td align="right">3824787.115</td>
<td align="right" style="color:#8496B0">3750044.806</td>
<td align="right" style="background-color:#FFB6C1">3752258.207</td>
<td align="right">3757899.092</td>
<td align="right">3763075.106</td>
</tr>
<tr>
<td align="right">7</td>
<td align="right">3798372.683</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3746176.070</td>
<td align="right">3747192.805</td>
<td align="right">3752543.888</td>
<td align="right">3758004.000</td>
</tr>
<tr>
<td align="right">8</td>
<td align="right">3795441.196</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3744561.027</td>
<td align="right">3748947.332</td>
<td align="right">3756355.290</td>
<td align="right">3759389.714</td>
</tr>
<tr>
<td align="right">9</td>
<td align="right">3824787.115</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3750044.806</td>
<td align="right">3752258.207</td>
<td align="right">3757899.092</td>
<td align="right">3763075.106</td>
</tr>
<tr>
<td align="right">10</td>
<td align="right">3825137.593</td>
<td align="right" style="background-color:#FFB6C1">3769113.774</td>
<td align="right" style="color:#8496B0">3758565.409</td>
<td align="right">3769515.012</td>
<td align="right">3771413.809</td>
</tr>
<tr>
<td align="right">11</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3733728.203</td>
<td align="right">3738454.098</td>
<td align="right">3743333.770</td>
<td align="right">3748732.124</td>
<td align="right">3754347.052</td>
</tr>
<tr>
<td align="right">12</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3736353.910</td>
<td align="right">3739259.261</td>
<td align="right">3744921.213</td>
<td align="right">3750141.579</td>
<td align="right">3755513.083</td>
</tr>
<tr>
<td align="right">13</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3734850.688</td>
<td align="right">3738732.137</td>
<td align="right">3743820.667</td>
<td align="right">3751713.979</td>
<td align="right">3754223.045</td>
</tr>
<tr>
<td align="right">14</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3735192.197</td>
<td align="right">3740628.677</td>
<td align="right">3745980.721</td>
<td align="right">3751377.448</td>
<td align="right">3755751.922</td>
</tr>
<tr>
<td align="right">15</td>
<td align="right" style="background-color:#FFB6C1;color:#8496B0">3734867.246</td>
<td align="right">3738788.010</td>
<td align="right">3744300.327</td>
<td align="right">3749555.634</td>
<td align="right">3755907.017</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>By choosing the most suitable number of constituents based on this criterion, the success rate for estimating the true number of constituents was 80% (12/15). Additionally, the presence or absence of impurities (distinguishing between k &#x3d; 1 and k&#x2267;2) could be determined with 100% accuracy. We believe this is sufficient as a standard for recognizing the presence and number of impurities in pharmaceuticals and taking appropriate measures.</p>
</sec>
<sec id="s3-4">
<title>3.4 Accuracy of parameter estimation with maximum posterior</title>
<p>The optimal monoisotopic masses and ion counts estimated in the model where the posterior probability is maximum for each test data are shown in <xref ref-type="table" rid="T5">Table 5</xref>. The monoisotopic mass had an average error of 1.348&#xa0;Da and a maximum error of 4.931&#xa0;Da. This is insufficient to determine how many mutations have occurred, making it unsuitable for examining the cause of impurity generation with a difference of 1&#xa0;Da. Regarding the ion counts, there was an average error of 4% and a maximum error of 82%. For instance, the standards for total desamido impurity and total impurities in injectable glucagon are 14% or less and 31% or less, respectively (<xref ref-type="bibr" rid="B1">Bao et al., 2022</xref>). Therefore, the accuracy of the ion count estimation in the proposed method is insufficient to estimate the impact of impurities.</p>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Optimal monoisotopic masses and ion counts of the model with the maximum posterior probability.</p>
</caption>
<table>
<thead valign="top">
<tr>
<td align="center">Mixture No.</td>
<td align="center">Constituents</td>
<td align="center">Mass [Da] (Infer)</td>
<td align="center">Mass [Da] (True)</td>
<td align="center">Absolute Error [Da]</td>
<td align="center">Ion counts [ions](Infer)</td>
<td align="center">Ion counts [ions](True)</td>
<td align="center">Relative Error [%]</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="right">1</td>
<td rowspan="3" align="center">A,B,C</td>
<td align="right">6358.073</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;3.015</td>
<td align="right">138,290</td>
<td align="right">200,000</td>
<td align="right">&#x2212;31%</td>
</tr>
<tr>
<td align="right">6361.088</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;0.984</td>
<td align="right">299,930</td>
<td align="right">200,000</td>
<td align="right">50%</td>
</tr>
<tr>
<td align="right">6363.047</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;0.010</td>
<td align="right">172,510</td>
<td align="right">200,000</td>
<td align="right">&#x2212;14%</td>
</tr>
<tr>
<td rowspan="3" align="right">2</td>
<td rowspan="3" align="center">A,B,D</td>
<td align="right">6360.088</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.000</td>
<td align="right">207,760</td>
<td align="right">200,000</td>
<td align="right">4%</td>
</tr>
<tr>
<td align="right">6361.043</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.029</td>
<td align="right">270,470</td>
<td align="right">200,000</td>
<td align="right">35%</td>
</tr>
<tr>
<td align="right">6361.081</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;2.961</td>
<td align="right">132,170</td>
<td align="right">200,000</td>
<td align="right">&#x2212;34%</td>
</tr>
<tr>
<td rowspan="3" align="right">3</td>
<td rowspan="3" align="center">A,B,E</td>
<td align="right">6359.047</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;2.041</td>
<td align="right">299,970</td>
<td align="right">200,000</td>
<td align="right">50%</td>
</tr>
<tr>
<td align="right">6360.103</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.969</td>
<td align="right">239,990</td>
<td align="right">200,000</td>
<td align="right">20%</td>
</tr>
<tr>
<td align="right">6366.008</td>
<td align="right">6365.027</td>
<td align="right">0.981</td>
<td align="right">74,160</td>
<td align="right">200,000</td>
<td align="right">&#x2212;63%</td>
</tr>
<tr>
<td rowspan="3" align="right">4</td>
<td rowspan="3" align="center">A,C,D</td>
<td align="right">6360.088</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.000</td>
<td align="right">298,940</td>
<td align="right">200,000</td>
<td align="right">49%</td>
</tr>
<tr>
<td align="right">6363.043</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;0.014</td>
<td align="right">299,980</td>
<td align="right">200,000</td>
<td align="right">50%</td>
</tr>
<tr>
<td align="center">-</td>
<td align="right">6364.042</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">200,000</td>
<td align="center">-</td>
</tr>
<tr>
<td rowspan="3" align="right">5</td>
<td rowspan="3" align="center">A,C,E</td>
<td align="right">6360.024</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.064</td>
<td align="right">238,440</td>
<td align="right">200,000</td>
<td align="right">19%</td>
</tr>
<tr>
<td align="right">6361.07</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;1.987</td>
<td align="right">296,510</td>
<td align="right">200,000</td>
<td align="right">48%</td>
</tr>
<tr>
<td align="right">6361.116</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;3.911</td>
<td align="right">80,810</td>
<td align="right">200,000</td>
<td align="right">&#x2212;60%</td>
</tr>
<tr>
<td rowspan="3" align="right">6</td>
<td rowspan="3" align="center">A,D,E</td>
<td align="right">6360.079</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.009</td>
<td align="right">297,500</td>
<td align="right">200,000</td>
<td align="right">49%</td>
</tr>
<tr>
<td align="right">6362.027</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;2.015</td>
<td align="right">299,940</td>
<td align="right">200,000</td>
<td align="right">50%</td>
</tr>
<tr>
<td align="center">-</td>
<td align="right">6365.027</td>
<td align="right">-</td>
<td align="center">-</td>
<td align="right">200,000</td>
<td align="center">-</td>
</tr>
<tr>
<td rowspan="2" align="right">7</td>
<td rowspan="2" align="center">A,B</td>
<td align="right">6357.088</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;4.000</td>
<td align="right">191,670</td>
<td align="right">200,000</td>
<td align="right">&#x2212;4%</td>
</tr>
<tr>
<td align="right">6362.073</td>
<td align="right">6362.072</td>
<td align="right">0.001</td>
<td align="right">220,850</td>
<td align="right">200,000</td>
<td align="right">10%</td>
</tr>
<tr>
<td rowspan="2" align="right">8</td>
<td rowspan="2" align="center">A,C</td>
<td align="right">6361.043</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;0.045</td>
<td align="right">113,870</td>
<td align="right">200,000</td>
<td align="right">&#x2212;43%</td>
</tr>
<tr>
<td align="right">6361.080</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;1.977</td>
<td align="right">283,890</td>
<td align="right">200,000</td>
<td align="right">42%</td>
</tr>
<tr>
<td rowspan="2" align="right">9</td>
<td rowspan="2" align="center">A,D</td>
<td align="right">6359.044</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;2.044</td>
<td align="right">280,530</td>
<td align="right">200,000</td>
<td align="right">40%</td>
</tr>
<tr>
<td align="right">6359.111</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;4.931</td>
<td align="right">138,700</td>
<td align="right">200,000</td>
<td align="right">&#x2212;31%</td>
</tr>
<tr>
<td rowspan="3" align="right">10</td>
<td rowspan="3" align="center">A,E</td>
<td align="right">6357.088</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">227,540</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.029</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;0.059</td>
<td align="right">35,400</td>
<td align="right">200,000</td>
<td align="right">&#x2212;82%</td>
</tr>
<tr>
<td align="right">6364.010</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;1.017</td>
<td align="right">157,560</td>
<td align="right">200,000</td>
<td align="right">&#x2212;21%</td>
</tr>
<tr>
<td align="right">11</td>
<td align="center">A</td>
<td align="right">6361.088</td>
<td align="right">6361.088</td>
<td align="right">0.000</td>
<td align="right">191,840</td>
<td align="right">200,000</td>
<td align="right">&#x2212;4%</td>
</tr>
<tr>
<td align="right">12</td>
<td align="center">B</td>
<td align="right">6361.072</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.000</td>
<td align="right">207,340</td>
<td align="right">200,000</td>
<td align="right">4%</td>
</tr>
<tr>
<td align="right">13</td>
<td align="center">C</td>
<td align="right">6363.058</td>
<td align="right">6363.057</td>
<td align="right">0.001</td>
<td align="right">189,640</td>
<td align="right">200,000</td>
<td align="right">&#x2212;5%</td>
</tr>
<tr>
<td align="right">14</td>
<td align="center">D</td>
<td align="right">6363.042</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;1.000</td>
<td align="right">205,290</td>
<td align="right">200,000</td>
<td align="right">3%</td>
</tr>
<tr>
<td align="right">15</td>
<td align="center">E</td>
<td align="right">6365.027</td>
<td align="right">6365.027</td>
<td align="right">0.000</td>
<td align="right">190,240</td>
<td align="right">200,000</td>
<td align="right">&#x2212;5%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For reference, a comparison between the spectra reconstructed from the estimated parameters and the original signal is shown in <xref ref-type="fig" rid="F3">Figure 3</xref>. The overall view in (a) represents the charge distribution, and the enlarged view in (b) represents the isotopic distribution. From these results, it is clear that the spectrum we generated closely matches the observed data. Despite the spectra matching, errors in parameter estimation occurred because of the high degree of freedom in isotopic parameters that trade-off with monoisotopic mass. Even if the monoisotopic mass was lower than the true value, by increasing the representative atomic number <inline-formula id="inf86">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> or the representative isotopic natural abundance <inline-formula id="inf87">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, it is possible to make it fit the observed data to some extent.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Comparison of observed and estimated spectra for Mixture No. 1. <bold>(A)</bold> Overall view, <bold>(B)</bold> Enlarged view.</p>
</caption>
<graphic xlink:href="frans-03-1301602-g003.tif"/>
</fig>
<p>Also, the estimated ion counts of each constituent showed errors of up to 82% from the true values. This is presumed to be due to the trade-off relationship between the ion counts of each constituent, with a decrease in the ion count of one constituent being compensated by an increase in another. This is further supported by the fact that the average error in ion counts settles at 4%.</p>
</sec>
<sec id="s3-5">
<title>3.5 Comparison with UniDec</title>
<p>Deconvolution of the test data was performed using the existing method, UniDec as well. The results of deconvolution for each observed spectrum by UniDec are shown in <xref ref-type="table" rid="T6">Table 6</xref>. According to these results, the accuracy for the correct number of constituents was 13% (2/15). This is presumed to be because the UniDec algorithm, which obtains the number of constituents after multiple iterations of deconvolution, does not necessarily guarantee the number of constituents. Please note that this use of UniDec to determine the number of constituents is not its intended application.</p>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Deconvolution results for each observed spectrum by UniDec.</p>
</caption>
<table>
<thead valign="top">
<tr>
<td align="center">Mixture No.</td>
<td align="center">Constituents</td>
<td align="center">Mass [Da] (Infer)</td>
<td align="center">Mass [Da] (True)</td>
<td align="center">Absolute Error [Da]</td>
<td align="center">Intensity [a.u.](Infer)</td>
<td align="center">Intensity [a.u.](True)</td>
<td align="center">Relative Error [%]</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="3" align="right">1</td>
<td rowspan="3" align="center">A,B,C</td>
<td align="right">6359.900</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.188</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.172</td>
<td align="right">54.614</td>
<td align="right">100.000</td>
<td align="right">55%</td>
</tr>
<tr>
<td align="center">-</td>
<td align="right">6363.057</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
</tr>
<tr>
<td rowspan="3" align="right">2</td>
<td rowspan="3" align="center">A,B,D</td>
<td align="right">6359.900</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.188</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.172</td>
<td align="right">68.122</td>
<td align="right">100.000</td>
<td align="right">68%</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;2.242</td>
<td align="right">23.490</td>
<td align="right">100.000</td>
<td align="right">23%</td>
</tr>
<tr>
<td rowspan="5" align="right">3</td>
<td rowspan="5" align="center">A,B,E</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">47.326</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6361.088</td>
<td align="right">0.712</td>
<td align="right">22.533</td>
<td align="right">100.000</td>
<td align="right">23%</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6362.072</td>
<td align="right">0.728</td>
<td align="right">13.473</td>
<td align="right">100.000</td>
<td align="right">13%</td>
</tr>
<tr>
<td align="right">6363.800</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;1.227</td>
<td align="right">13.496</td>
<td align="right">100.000</td>
<td align="right">13%</td>
</tr>
<tr>
<td rowspan="4" align="right">4</td>
<td rowspan="4" align="center">A,C,D</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;0.188</td>
<td align="right">94.673</td>
<td align="right">100.000</td>
<td align="right">95%</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;1.257</td>
<td align="right">64.641</td>
<td align="right">100.000</td>
<td align="right">65%</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;1.242</td>
<td align="right">19.369</td>
<td align="right">100.000</td>
<td align="right">19%</td>
</tr>
<tr>
<td rowspan="5" align="right">5</td>
<td rowspan="5" align="center">A,C,E</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">63.684</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6361.088</td>
<td align="right">0.712</td>
<td align="right">56.992</td>
<td align="right">100.000</td>
<td align="right">57%</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;0.257</td>
<td align="right">33.851</td>
<td align="right">100.000</td>
<td align="right">34%</td>
</tr>
<tr>
<td align="right">6363.800</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;1.227</td>
<td align="right">19.330</td>
<td align="right">100.000</td>
<td align="right">19%</td>
</tr>
<tr>
<td rowspan="5" align="right">6</td>
<td rowspan="5" align="center">A,D,E</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">53.209</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6361.088</td>
<td align="right">0.712</td>
<td align="right">61.898</td>
<td align="right">100.000</td>
<td align="right">62%</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;1.242</td>
<td align="right">70.845</td>
<td align="right">100.000</td>
<td align="right">71%</td>
</tr>
<tr>
<td align="right">6363.800</td>
<td align="right">6365.027</td>
<td align="center">-</td>
<td align="right">39.057</td>
<td align="right">100.000</td>
<td align="right">39%</td>
</tr>
<tr>
<td rowspan="2" align="right">7</td>
<td rowspan="2" align="center">A,B</td>
<td align="right">6359.900</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.188</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td align="right">6361.000</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.072</td>
<td align="right">11.538</td>
<td align="right">100.000</td>
<td align="right">12%</td>
</tr>
<tr>
<td rowspan="3" align="right">8</td>
<td rowspan="3" align="center">A,C</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.000</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;0.088</td>
<td align="right">40.696</td>
<td align="right">100.000</td>
<td align="right">41%</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;1.257</td>
<td align="right">10.199</td>
<td align="right">100.000</td>
<td align="right">10%</td>
</tr>
<tr>
<td rowspan="4" align="right">9</td>
<td rowspan="4" align="center">A,D</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.000</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;0.088</td>
<td align="right">41.897</td>
<td align="right">100.000</td>
<td align="right">42%</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">26.937</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;1.242</td>
<td align="right">16.351</td>
<td align="right">100.000</td>
<td align="right">16%</td>
</tr>
<tr>
<td rowspan="7" align="right">10</td>
<td rowspan="7" align="center">A,E</td>
<td align="right">6359.000</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">19.045</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">100.000</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">27.472</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6361.088</td>
<td align="right">0.712</td>
<td align="right">19.107</td>
<td align="right">100.000</td>
<td align="right">19%</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">27.075</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6363.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">33.325</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6364.800</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;0.227</td>
<td align="right">13.659</td>
<td align="right">100.000</td>
<td align="right">14%</td>
</tr>
<tr>
<td rowspan="2" align="right">11</td>
<td rowspan="2" align="center">A</td>
<td align="right">6358.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">48.595</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6359.800</td>
<td align="right">6361.088</td>
<td align="right">&#x2212;1.288</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td rowspan="2" align="right">12</td>
<td rowspan="2" align="center">B</td>
<td align="right">6359.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">40.161</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6360.800</td>
<td align="right">6362.072</td>
<td align="right">&#x2212;1.272</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td rowspan="2" align="right">13</td>
<td rowspan="2" align="center">C</td>
<td align="right">6360.900</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">41.609</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6361.800</td>
<td align="right">6363.057</td>
<td align="right">&#x2212;1.257</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td rowspan="2" align="right">14</td>
<td rowspan="2" align="center">D</td>
<td align="right">6361.800</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">52.753</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6362.800</td>
<td align="right">6364.042</td>
<td align="right">&#x2212;1.242</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
<tr>
<td rowspan="2" align="right">15</td>
<td rowspan="2" align="center">E</td>
<td align="right">6362.800</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="right">54.440</td>
<td align="center">-</td>
<td align="center">-</td>
</tr>
<tr>
<td align="right">6363.900</td>
<td align="right">6365.027</td>
<td align="right">&#x2212;1.127</td>
<td align="right">100.000</td>
<td align="right">100.000</td>
<td align="right">100%</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>For the verification above, we used UniDec (Version 6.0.2). The particularly set parameters during this verification are shown in <xref ref-type="table" rid="T7">Table 7</xref>. The Mass Range was set to the same range as the proposed method, and Sample Mass Every (Da) was set to 0.1 to sufficiently detect impurities with a difference of 1&#xa0;Da. For parameters not mentioned, default values were used.</p>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>UniDec setting parameters.</p>
</caption>
<table>
<thead valign="top">
<tr>
<td colspan="2" align="center">Parameter</td>
<td align="center">Setting value</td>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="left">UniDec Parameters</td>
<td align="left">Charge Range</td>
<td align="left">1 to 50</td>
</tr>
<tr>
<td align="left"/>
<td align="left">Mass Range</td>
<td align="left">6300&#x2013;6400&#xa0;Da</td>
</tr>
<tr>
<td align="left"/>
<td align="left">Sample Mass Every (Da)</td>
<td align="left">0.1</td>
</tr>
<tr>
<td align="left">Additional Deconvolution Parameters</td>
<td align="left">Isotopes</td>
<td align="left">Mono</td>
</tr>
<tr>
<td align="left">Peak Selection and Plotting</td>
<td align="left">Peak Detection Range (Da)</td>
<td align="left">0.1</td>
</tr>
<tr>
<td align="left"/>
<td align="left">Peak Detection Threshold</td>
<td align="left">0.01</td>
</tr>
</tbody>
</table>
<table-wrap-foot>
<fn>
<p>&#x2a;The other settings are using default values.</p>
</fn>
</table-wrap-foot>
</table-wrap>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>Using NUTS, Simulated Annealing, and stochastic variational inference, we estimated parameters such as monoisotopic masses from observed data, and were able to choose the correct number of constituents with a higher probability than existing methods. This is thought to be due to the fact that we created models for each number of constituents, allowing for the comparative evaluation and selection of models for each number of constituents. This made it possible to suggest the presence of impurities in pharmaceuticals, which is useful for searching for better synthesis conditions for middle to high molecular weight pharmaceuticals, and for quality assurance in factories.</p>
<p>On the other hand, as shown in <xref ref-type="table" rid="T5">Table 5</xref>, the estimated monoisotopic mass had a maximum error of 4.931Da from the true value. This is thought to be due to the trade-off relationship between the monoisotopic mass <inline-formula id="inf88">
<mml:math id="m105">
<mml:mrow>
<mml:msubsup>
<mml:mi>m</mml:mi>
<mml:mi>j</mml:mi>
<mml:mo>&#x2032;</mml:mo>
</mml:msubsup>
</mml:mrow>
</mml:math>
</inline-formula> and the parameters <inline-formula id="inf89">
<mml:math id="m106">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf90">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mi>j</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> that determine the isotopic distribution. Additionally, there was a relative error of several tens of percent from the true value in the ion counts of each estimated constituent. This is speculated to be because the ion counts of each constituent trade off with each other, with a decrease in one ion being compensated for by an increase in another ion. A potential solution to these problems is to represent monoisotopic masses and ion counts as probability distributions. By considering the uncertainty in monoisotopic masses and ion counts of constituents in the sample, improvements in estimation satisfaction can be expected.</p>
<p>Furthermore, it took about 50&#xa0;h for deconvolution assuming 5 constituents per data. This is long compared to the few seconds to a few minutes processing time of UniDec. Also, this processing time is expected to increase almost linearly with the assumed number of constituents. Therefore, it is expected to take a long time when analyzing samples with many constituents, such as serum or environmental samples. A possible countermeasure to this problem is to divide the monoisotopic mass space into mini-batches and perform parallel calculations.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>We assumed multiple numbers of constituents in the sample and created a mass spectrometry model from parameters such as monoisotopic masses and ion counts. We then sought the maximum posterior probability in the model of each number of constituents against observed data using NUTS, Simulated Annealing, and stochastic variational inference. As a result, we were able to estimate the number of constituents with high accuracy. We were also able to estimate parameters such as monoisotopic masses and ion counts at the same time.</p>
<p>Future challenges include reducing computation time, improving mass accuracy, and improving ion count accuracy. Incorporating chromatography or ion mobility information, addressing more stringent concentration ratios between constituents (e.g., greater than 10:1), and adapting to complex samples with more constituents will be pursued to expand the applicability of this method.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement </title>
<p>The raw data supporting the conclusion of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s7">
<title>Author contributions </title>
<p>TT: Conceptualization, Investigation, Methodology, Project administration, Software, Validation, Visualization, Writing&#x2013;original draft. SH: Writing&#x2013;review and editing, Conceptualization. YN: Methodology, Software, Writing&#x2013;review and editing. KT: Software, Writing&#x2013;review and editing. JI: Writing&#x2013;review and editing. TW: Conceptualization, Supervision, Writing&#x2013;review and editing.</p>
</sec>
<sec sec-type="funding-information" id="s8">
<title>Funding</title>
<p>The author(s) declare that no financial support was received for the research, authorship, and/or publication of this article.</p>
</sec>
<ack>
<p>We extend our deepest gratitude to Yoshihiro Ueno, Yusuke Tagawa, Daisuke Okumura, and Daisuke Hiramaru for their advice and coordination on the project as a whole. We also thank Akira Noda and Yusuke Tamai for their insights on Bayesian estimation. Atsuhiko Toyama, Natsuyo Asano, Hiroaki Waki, Kiyoshi Ogawa, Hideaki Izumi, Masahiro Takebe, Takashi Kawabe, and Yusuke Tateishi for their advice on the needs and trends of mass spectrometers. Our appreciation extends to Makoto Yamada and Tomoyuki Oshiro for obtaining the single response waveforms of the detectors, to Masaru Nishiguchi and Hiroyuki Miura for providing samples, to Momoka Hayashida and Noriko Kato for offering insights on nucleic acid analysis, to Yuta Miyazaki for advice on noise characteristics, and to Tomoya Kudo for guidance on ion optics simulations.</p>
</ack>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest </title>
<p>Authors TT, YN, KT, and JI were employed by Shimadzu Corporation.</p>
<p>The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<sec id="s11">
<title>Supplementary material</title>
<p>The Supplementary Material for this article can be found online at: <ext-link ext-link-type="uri" xlink:href="https://www.frontiersin.org/articles/10.3389/frans.2023.1301602/full#supplementary-material">https://www.frontiersin.org/articles/10.3389/frans.2023.1301602/full&#x23;supplementary-material</ext-link>
</p>
<supplementary-material xlink:href="DataSheet1.docx" id="SM1" mimetype="application/docx" xmlns:xlink="http://www.w3.org/1999/xlink"/>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Cheng</surname>
<given-names>Y. C.</given-names>
</name>
<name>
<surname>Luo</surname>
<given-names>M. Z.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J. Y.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Comparison of the purity and impurity of glucagon-for-injection products under various stability conditions</article-title>. <source>Sci. Pharm.</source> <volume>90</volume> (<issue>2</issue>), <fpage>32</fpage>. <pub-id pub-id-type="doi">10.3390/scipharm90020032</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Betancourt</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A conceptual introduction to Hamiltonian Monte Carlo</article-title>. <comment>ArXiv [Stat.ME]. Available at: <ext-link ext-link-type="uri" xlink:href="http://arxiv.org/abs/1701.02434">http://arxiv.org/abs/1701.02434</ext-link>.</comment>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Boesl</surname>
<given-names>U.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Time-of-Flight mass spectrometry: introduction to the Basics</article-title>. <source>Mass Spectrom. Rev.</source> <volume>36</volume> (<issue>1</issue>), <fpage>86</fpage>&#x2013;<lpage>109</lpage>. <pub-id pub-id-type="doi">10.1002/mas.21520</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dasari</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wilmarth</surname>
<given-names>P. A.</given-names>
</name>
<name>
<surname>Reddy</surname>
<given-names>A. P.</given-names>
</name>
<name>
<surname>Robertson</surname>
<given-names>L. J. G.</given-names>
</name>
<name>
<surname>Nagalla</surname>
<given-names>S. R.</given-names>
</name>
<name>
<surname>David</surname>
<given-names>L. L.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Quantification of isotopically overlapping deamidated and 18O-labeled peptides using isotopic envelope mixture modeling</article-title>. <source>J. Proteome Res.</source> <volume>8</volume> (<issue>3</issue>), <fpage>1263</fpage>&#x2013;<lpage>1270</lpage>. <pub-id pub-id-type="doi">10.1021/pr801054w</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Deng</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Yue</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>An improved peak detection algorithm in mass spectra combining wavelet Transform and image segmentation</article-title>. <source>Int. J. Mass Spectrom.</source> <volume>465</volume>, <fpage>116601</fpage>. <pub-id pub-id-type="doi">10.1016/j.ijms.2021.116601</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Ferrige</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Ray</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Alecio</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Waddell</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Electrospray-MS charge deconvolutions without compromise &#x2013; an enhanced data reconstruction algorithm utilising variable peak modelling</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://positiveprobability.com/POSTERS/ASMS%202003.pdf">https://positiveprobability.com/POSTERS/ASMS%202003.pdf</ext-link>.</comment>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ferrige</surname>
<given-names>A. G.</given-names>
</name>
<name>
<surname>Seddon</surname>
<given-names>M. J.</given-names>
</name>
<name>
<surname>Green</surname>
<given-names>B. N.</given-names>
</name>
<name>
<surname>Jarvis</surname>
<given-names>S. A.</given-names>
</name>
<name>
<surname>Skilling</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Staunton</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>1992</year>). <article-title>Disentangling electrospray spectra with maximum entropy</article-title>. <source>Rapid Commun. Mass Spectrom. RCM</source> <volume>6</volume> (<issue>11</issue>), <fpage>707</fpage>&#x2013;<lpage>711</lpage>. <pub-id pub-id-type="doi">10.1002/rcm.1290061115</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gao</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Choudhry</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Apolipoprotein B MRNA editing enzyme catalytic polypeptide-like family genes activation and regulation during tumorigenesis</article-title>. <source>Cancer Sci.</source> <volume>109</volume> (<issue>8</issue>), <fpage>2375</fpage>&#x2013;<lpage>2382</lpage>. <pub-id pub-id-type="doi">10.1111/cas.13658</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hoffman</surname>
<given-names>M. D.</given-names>
</name>
<name>
<surname>Gelman</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>The No-U-turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo</article-title>. <source>J. Mach. Learn. Res. JMLR</source> <volume>15</volume> (<issue>1</issue>), <fpage>1593</fpage>&#x2013;<lpage>1623</lpage>. <pub-id pub-id-type="doi">10.48550/arXiv.1111.4246</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Johnson</surname>
<given-names>J. B.</given-names>
</name>
</person-group> (<year>1928</year>). <article-title>Thermal agitation of electricity in conductors</article-title>. <source>Phys. Rev.</source> <volume>32</volume> (<issue>1</issue>), <fpage>97</fpage>&#x2013;<lpage>109</lpage>. <pub-id pub-id-type="doi">10.1103/physrev.32.97</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kingma</surname>
<given-names>D. P.</given-names>
</name>
<name>
<surname>Max</surname>
<given-names>W.</given-names>
</name>
</person-group> (<year>2013</year>). <source>Auto-encoding variational Bayes</source>. <comment>ArXiv [Stat.ML]. Available at: <ext-link ext-link-type="uri" xlink:href="http://arxiv.org/abs/1312.6114v11">http://arxiv.org/abs/1312.6114v11</ext-link>.</comment>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kirkpatrick</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gelatt</surname>
<given-names>C. D.</given-names>
<suffix>Jr</suffix>
</name>
<name>
<surname>Vecchi</surname>
<given-names>M. P.</given-names>
</name>
</person-group> (<year>1983</year>). <article-title>Optimization by simulated annealing</article-title>. <source>Science</source> <volume>220</volume> (<issue>4598</issue>), <fpage>671</fpage>&#x2013;<lpage>680</lpage>. <pub-id pub-id-type="doi">10.1126/science.220.4598.671</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lucy</surname>
<given-names>L. B.</given-names>
</name>
</person-group> (<year>1974</year>). <article-title>An iterative technique for the rectification of observed distributions</article-title>. <source>Astronomical J.</source> <volume>79</volume>, <fpage>745</fpage>. <pub-id pub-id-type="doi">10.1086/111605</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Marty</surname>
<given-names>M. T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A universal score for deconvolution of intact protein and native electrospray mass spectra</article-title>. <source>Anal. Chem.</source> <volume>92</volume> (<issue>6</issue>), <fpage>4395</fpage>&#x2013;<lpage>4401</lpage>. <pub-id pub-id-type="doi">10.1021/acs.analchem.9b05272</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Marty</surname>
<given-names>M. T.</given-names>
</name>
<name>
<surname>Baldwin</surname>
<given-names>A. J.</given-names>
</name>
<name>
<surname>Marklund</surname>
<given-names>E. G.</given-names>
</name>
<name>
<surname>Hochberg</surname>
<given-names>G. K. A.</given-names>
</name>
<name>
<surname>Benesch</surname>
<given-names>J. L. P.</given-names>
</name>
<name>
<surname>Robinson</surname>
<given-names>C. V.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Bayesian deconvolution of mass and ion mobility spectra: from binary interactions to polydisperse ensembles</article-title>. <source>Anal. Chem.</source> <volume>87</volume> (<issue>8</issue>), <fpage>4370</fpage>&#x2013;<lpage>4376</lpage>. <pub-id pub-id-type="doi">10.1021/acs.analchem.5b00140</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Neal</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Handbook of Markov chain Monte Carlo</article-title>,&#x201d; in <source>Chapter 5: MCMC using Hamiltonian Dynamics</source> (<publisher-loc>United States</publisher-loc>: <publisher-name>CRC Press</publisher-name>).</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Neath</surname>
<given-names>A. A.</given-names>
</name>
<name>
<surname>Cavanaugh</surname>
<given-names>J. E.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>The bayesian information criterion: background, derivation, and applications</article-title>. <source>WIREs Comput. Stat.</source> <volume>4</volume> (<issue>2</issue>), <fpage>199</fpage>&#x2013;<lpage>203</lpage>. <pub-id pub-id-type="doi">10.1002/wics.199</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pecori</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Di Giorgio</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Paulo Lorenzo</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Nina Papavasiliou</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Functions and consequences of AID/APOBEC-Mediated DNA and RNA deamination</article-title>. <source>Nat. Rev. Genet.</source> <volume>23</volume> (<issue>8</issue>), <fpage>505</fpage>&#x2013;<lpage>518</lpage>. <pub-id pub-id-type="doi">10.1038/s41576-022-00459-8</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Perry</surname>
<given-names>C. M.</given-names>
</name>
<name>
<surname>Balfour</surname>
<given-names>J. A.</given-names>
</name>
</person-group> (<year>1999</year>). <article-title>Fomivirsen</article-title>. <source>Drugs</source> <volume>57</volume> (<issue>3</issue>), <fpage>375</fpage>&#x2013;<lpage>380</lpage>. <comment>discussion 381</comment>. <pub-id pub-id-type="doi">10.2165/00003495-199957030-00010</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ranganath</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Gerrish</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Blei</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Black Box variational inference</article-title>,&#x201d; in <source>Proceedings of the Seventeenth international conference on artificial intelligence and Statistics, edited by Samuel Kaski and Jukka corander, 33:814&#x2013;22. Proceedings of machine learning research</source> (<publisher-loc>Reykjavik, Iceland</publisher-loc>: <publisher-name>PMLR</publisher-name>).</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Richardson</surname>
<given-names>W. H.</given-names>
</name>
</person-group> (<year>1972</year>). <article-title>Bayesian-based iterative method of image restoration</article-title>. <source>J. Opt. Soc. Am.</source> <volume>62</volume> (<issue>1</issue>), <fpage>55</fpage>. <pub-id pub-id-type="doi">10.1364/josa.62.000055</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Sanghvi</surname>
<given-names>Y. S.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>A status update of modified oligonucleotides for chemotherapeutics applications</article-title>. <source>Curr. Protoc. Nucleic Acid Chem.</source> <volume>2011</volume>, <fpage>1</fpage>&#x2013;<lpage>22</lpage>. <comment>Chapter 4 (September): Unit 4.1</comment>. <pub-id pub-id-type="doi">10.1002/0471142700.nc0401s46</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Schwarz</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>1978</year>). <article-title>Estimating the dimension of a model</article-title>. <source>Ann. Statistics</source> <volume>6</volume> (<issue>2</issue>), <fpage>461</fpage>&#x2013;<lpage>464</lpage>. <pub-id pub-id-type="doi">10.1214/aos/1176344136</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Stavnezer</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2011</year>). <article-title>Complex regulation and function of activation-induced cytidine deaminase</article-title>. <source>Trends Immunol.</source> <volume>32</volume> (<issue>5</issue>), <fpage>194</fpage>&#x2013;<lpage>201</lpage>. <pub-id pub-id-type="doi">10.1016/j.it.2011.03.003</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tamara</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>den Boer</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Heck</surname>
<given-names>A. J. R.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>High-resolution native mass spectrometry</article-title>. <source>Chem. Rev.</source> <volume>122</volume> (<issue>8</issue>), <fpage>7269</fpage>&#x2013;<lpage>7326</lpage>. <pub-id pub-id-type="doi">10.1021/acs.chemrev.1c00212</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Tranter</surname>
<given-names>R. L.</given-names>
</name>
</person-group> (<year>2000</year>). <source>Design and analysis in chemical research</source>. <publisher-loc>United States</publisher-loc>: <publisher-name>John Wiley &#x26; Sons</publisher-name>.</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Weinberg</surname>
<given-names>W. C.</given-names>
</name>
<name>
<surname>Frazier-Jessen</surname>
<given-names>M. R.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>W. J.</given-names>
</name>
<name>
<surname>Weir</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hartsough</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Keegan</surname>
<given-names>P.</given-names>
</name>
<etal/>
</person-group> (<year>2005</year>). <article-title>Development and regulation of monoclonal antibody products: challenges and opportunities</article-title>. <source>Cancer Metastasis Rev.</source> <volume>24</volume> (<issue>4</issue>), <fpage>569</fpage>&#x2013;<lpage>584</lpage>. <pub-id pub-id-type="doi">10.1007/s10555-005-6196-y</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Wingate</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Weber</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Automated variational inference in probabilistic programming</article-title>. <comment>ArXiv E-Prints, arXiv:1301.1299. Available at: <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.48550/arXiv.1301.1299">https://doi.org/10.48550/arXiv.1301.1299</ext-link>.</comment>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Gonzalez</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Hestilow</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Haskins</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2009</year>). <article-title>Review of peak detection algorithms in liquid-chromatography-mass spectrometry</article-title>. <source>Curr. Genomics</source> <volume>10</volume> (<issue>6</issue>), <fpage>388</fpage>&#x2013;<lpage>401</lpage>. <pub-id pub-id-type="doi">10.2174/138920209789177638</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Alecio</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>1998</year>). &#x201c;<article-title>A novel approach to the automated analysis of peptide mapping data</article-title>,&#x201d; in <source>Proceedings of the Estonian academy of Sciences. Biology, ecology &#x3d; eesti teaduste akadeemia toimetised</source> (<publisher-loc>Okoloogia</publisher-loc>: <publisher-name>Bioloogia</publisher-name>).</citation>
</ref>
</ref-list>
</back>
</article>