<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1471-2105-9-324</ui>
   <ji>1471-2105</ji>
   <fm>
      <dochead>Methodology article</dochead>
      <bibl>
         <title>
            <p>Baseline Correction for NMR Spectroscopic Metabolomics Data Analysis</p>
         </title>
         <aug>
            <au id="A1">
               <snm>Xi</snm>
               <fnm>Yuanxin</fnm>
               <insr iid="I1"/>
               <email>yxi@bcm.edu</email>
            </au>
            <au id="A2" ca="yes">
               <snm>Rocke</snm>
               <mi>M</mi>
               <fnm>David</fnm>
               <insr iid="I1"/>
               <insr iid="I2"/>
               <email>dmrocke@ucdavis.edu</email>
            </au>
         </aug>
         <insg>
            <ins id="I1">
               <p>Department of Applied Science, University of California, Davis, One Shields Avenue, Davis, CA 95616, USA</p>
            </ins>
            <ins id="I2">
               <p>Division of Biostatistics, School of Medicine, University of California, Davis, One Shields Avenue, Davis, CA 95616, USA</p>
            </ins>
         </insg>
         <source>BMC Bioinformatics</source>
         <issn>1471-2105</issn>
         <pubdate>2008</pubdate>
         <volume>9</volume>
         <issue>1</issue>
         <fpage>324</fpage>
         <url>http://www.biomedcentral.com/1471-2105/9/324</url>
         <xrefbib>
            <pubidlist>
               <pubid idtype="pmpid">18664284</pubid>
               <pubid idtype="doi">10.1186/1471-2105-9-324</pubid>
            </pubidlist>
         </xrefbib>
      </bibl>
      <history>
         <rec>
            <date>
               <day>21</day>
               <month>1</month>
               <year>2008</year>
            </date>
         </rec>
         <acc>
            <date>
               <day>29</day>
               <month>7</month>
               <year>2008</year>
            </date>
         </acc>
         <pub>
            <date>
               <day>29</day>
               <month>7</month>
               <year>2008</year>
            </date>
         </pub>
      </history>
      <cpyrt>
         <year>2008</year>
         <collab>Xi and Rocke; licensee BioMed Central Ltd.</collab>
         <note>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (<url>http://creativecommons.org/licenses/by/2.0</url>), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</note>
      </cpyrt>
      <abs>
         <sec>
            <st>
               <p>Abstract</p>
            </st>
            <sec>
               <st>
                  <p>Background</p>
               </st>
               <p>We propose a statistically principled baseline correction method, derived from a parametric smoothing model. It uses a score function to describe the key features of baseline distortion and constructs an optimal baseline curve to maximize it. The parameters are determined automatically by using LOWESS (locally weighted scatterplot smoothing) regression to estimate the noise variance.</p>
            </sec>
            <sec>
               <st>
                  <p>Results</p>
               </st>
               <p>We tested this method on 1D NMR spectra with different forms of baseline distortions, and demonstrated that it is effective for both regular 1D NMR spectra and metabolomics spectra with over-crowded peaks.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusion</p>
               </st>
               <p>Compared with the automatic baseline correction function in XWINNMR 3.5, the penalized smoothing method provides more accurate baseline correction for high-signal density metabolomics spectra.</p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>Baseline distortions in 1D NMR spectra are mainly caused by the corruption of the first few data points in FID (free induction decay). These corrupted data points add low frequency modulations in the Fourier-transformed spectrum, and thus formed the distorted baseline. Correction of these distortions is a necessary step in NMR spectra data processing because they offset the intensity values and result in inaccuracy in peak assignment and quantification. These errors could be critical in the study of metabolomics, which involves many small but statistically significant peaks that are sensitive to baseline distortions. Incorrect quantification of these peaks may result in failures in detection of important metabolites or identifying potential biomarkers.</p>
         <p>Existing automatic baseline distortion correction methods fall into two categories: time domain correction and frequency domain correction <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr><abbr bid="B4">4</abbr><abbr bid="B5">5</abbr><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr><abbr bid="B9">9</abbr></abbrgrp>. Time domain correction methods reconstruct the corrupted data points in FID to reduce the low frequency modulation <abbrgrp><abbr bid="B6">6</abbr><abbr bid="B7">7</abbr><abbr bid="B8">8</abbr></abbrgrp>. Frequency domain correction methods construct baseline curves in the spectra directly, and subtract these baseline curves to remove the distortion <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B2">2</abbr><abbr bid="B3">3</abbr><abbr bid="B4">4</abbr><abbr bid="B5">5</abbr></abbrgrp>. These methods have been implemented in commercial software and hand-written programs for NMR data processing. Usually a combination of both time and frequency domain methods are applied to achieve better correction. In comparison, time domain methods provide general correction for FID and frequency domain methods provide more detailed correction on the spectrum itself. For processing a specific kind of NMR spectra, such as metabolomics spectra, frequency domain methods are easier to tailor for different needs.</p>
         <p>In this article, we present a novel frequency domain baseline correction method for processing 1D spectra for metabolomics profiling. 1D proton NMR spectroscopy has been widely applied in metabolomics profiling because it can simultaneously measure many metabolites that lie above the detection limit. These metabolomics spectra usually have many crowded peaks such that noise regions are broken into smaller pieces and are more difficult to identify accurately. The term noise regions refer to the regions in the spectrum that only contain noise. In some part of the spectra, severely overlapping peaks form long gaps between noise regions and are a cause of numerical sensitivity in baseline construction. Traditional frequency domain methods detect noise regions and construct the baseline curve by interpolating among identified noise regions. These methods rely heavily on robust noise region identification, and therefore may not achieve optimal baseline correction in metabolomics spectra. For example, Golotvin et al <abbrgrp><abbr bid="B5">5</abbr></abbrgrp> proposed identifying noise points by comparing the intensity range of a small neighborhood with the standard deviation of noise regions, which is estimated by dividing the spectrum into 32 sections and taking the minimum value of standard deviations of these sections. We observed that this method occasionally identifies the low signal points in metabolomics spectra as noise because they may overlap with each other and have reduced standard deviation, and as a result these signal points will be offset to zero after baseline correction. Noise standard deviation estimation is also theoretically biased to be smaller than the true value in a statistical view, and leads to additional inaccuracy in detection of noise data points.</p>
         <p>As an alternative to the existing noise detection and interpolation approaches, we developed a new baseline correction method based on a penalized parametric smoothing model. This method fits a curve following the bottom envelope of the spectrum and doesn't need explicit identification of the noise data points. The primary motivation is that we model the baseline as a smooth curve of arbitrary form that goes through the noise region instead of linked pieces of selected noise points. We describe key features of this model by a score function and construct the optimal baseline curve corresponding to the function maximum. In addition, we present a more accurate estimation of noise variance by LOWESS (locally weighted scatterplot smoothing) regression and use it to determine the model parameters.</p>
      </sec>
      <sec>
         <st>
            <p>Methods</p>
         </st>
         <p>Suppose a 1D NMR spectrum is represented by the set of ordered pairs {<it>x</it><sub><it>i</it></sub>, <it>y</it><sub><it>i</it></sub>}, where <it>x</it><sub><it>i </it></sub>is the abscissa in ppm units and <it>y</it><sub><it>i </it></sub>is the ordinate, representing the height of the spectrum as a Fourier-transformed RF decay curve. The fundamental model behind our method is that the spectrum can be represented as</p>
         <p>
            <display-formula id="M1">
               <m:math name="1471-2105-9-324-i1" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:msub>
                           <m:mi>y</m:mi>
                           <m:mi>i</m:mi>
                        </m:msub>
                        <m:mo>=</m:mo>
                        <m:msub>
                           <m:mi>b</m:mi>
                           <m:mi>i</m:mi>
                        </m:msub>
                        <m:mo>+</m:mo>
                        <m:msub>
                           <m:mi>&#956;</m:mi>
                           <m:mi>i</m:mi>
                        </m:msub>
                        <m:msup>
                           <m:mi>e</m:mi>
                           <m:mrow>
                              <m:msub>
                                 <m:mi>&#951;</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                           </m:mrow>
                        </m:msup>
                        <m:mo>+</m:mo>
                        <m:msub>
                           <m:mi>&#949;</m:mi>
                           <m:mi>i</m:mi>
                        </m:msub>
                        <m:mo>,</m:mo>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyEaK3aaSbaaSqaaiabdMgaPbqabaGccqGH9aqpcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgUcaRiabeY7aTnaaBaaaleaacqWGPbqAaeqaaOGaemyzau2aaWbaaSqabeaacqaH3oaAdaWgaaadbaGaemyAaKgabeaaaaGccqGHRaWkcqaH1oqzdaWgaaWcbaGaemyAaKgabeaakiabcYcaSaaa@40F4@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>where <it>b</it><sub><it>i </it></sub>is the baseline, <it>&#956;</it><sub>i </sub>is the true signal, and <it>&#951;</it><sub>i </sub>and <it>&#949;</it><sub>i </sub>are random errors normally distributed with mean 0 and variance 1, generally autocorrelated, a type of model that fits a wide variety of measurement data (Rocke and Lorenzato 1995 <abbrgrp><abbr bid="B10">10</abbr></abbrgrp>; Rocke and Durbin 2001 <abbrgrp><abbr bid="B11">11</abbr></abbrgrp>). An estimated baseline should be 1) smooth, but not necessarily flat; and 2) run through the middle of the data in segments where there is no signal. Based the on these features, we construct the following score function:</p>
         <p>
            <display-formula id="M2">
               <m:math name="1471-2105-9-324-i2" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>=</m:mo>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:mi>A</m:mi>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>+</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>+</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>2</m:mn>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>&#8722;</m:mo>
                        <m:mi>B</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOrayKaeiikaGIaeCOyaiMaeiykaKIaeyypa0ZaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdgeabnaaqafabaGaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPjabgUcaRiabigdaXaqabaGccqGHRaWkcqWGIbGydaWgaaWcbaGaemyAaKMaeyOeI0IaeGymaedabeaakiabgkHiTiabikdaYiabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aaWcbaGaemyAaKgabeqdcqGHris5aOGaeyOeI0IaemOqai0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdaaaa@67F7@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>And <inline-formula><m:math name="1471-2105-9-324-i3" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>g</m:mi><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mrow><m:mo>{</m:mo><m:mrow><m:mtable><m:mtr><m:mtd><m:mrow><m:mn>1</m:mn><m:mo>,</m:mo></m:mrow></m:mtd><m:mtd><m:mrow><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo>></m:mo><m:mn>0</m:mn></m:mrow></m:mtd></m:mtr><m:mtr><m:mtd><m:mrow><m:mn>0</m:mn><m:mo>,</m:mo></m:mrow></m:mtd><m:mtd><m:mrow><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8804;</m:mo><m:mn>0</m:mn></m:mrow></m:mtd></m:mtr></m:mtable></m:mrow></m:mrow></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaCMaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWG5bqEdaWgaaWcbaGaemyAaKgabeaakiabcMcaPiabg2da9maaceaabaqbaeqabiGaaaqaaiabigdaXiabcYcaSaqaaiabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaeyOeI0IaemyEaK3aaSbaaSqaaiabdMgaPbqabaGccqGH+aGpcqaIWaamaeaacqaIWaamcqGGSaalaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeyizImQaeGimaadaaaGaay5Eaaaaaa@4DCA@</m:annotation></m:semantics></m:math></inline-formula> is the Heaviside step function.</p>
         <p><b>b </b>= {<it>b</it><sub><it>i</it></sub>} is a set of points that represents a certain baseline. The optimal baseline curve <b>b</b><sub>0 </sub>should maximize the score function <it>F</it>(<b>b</b>).</p>
         <p>
            <display-formula id="M3"><b>b</b><sub>0 </sub>= arg max <it>F</it>(<b>b</b>)</display-formula>
         </p>
         <p><it>F</it>(<b>b</b>) has three components. The first term <inline-formula><m:math name="1471-2105-9-324-i4" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaaaeaacqWGPbqAaeqaniabggHiLdaaaa@321C@</m:annotation></m:semantics></m:math></inline-formula> is the sum of all baseline points. We want to maximize it subject to the smoothness penalty <inline-formula><m:math name="1471-2105-9-324-i5" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mo>&#8722;</m:mo><m:mi>A</m:mi><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mrow><m:mi>i</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msub><m:mo>+</m:mo><m:msub><m:mi>b</m:mi><m:mrow><m:mi>i</m:mi><m:mo>&#8722;</m:mo><m:mn>1</m:mn></m:mrow></m:msub><m:mo>&#8722;</m:mo><m:mn>2</m:mn><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyOeI0Iaemyqae0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKMaey4kaSIaeGymaedabeaakiabgUcaRiabdkgaInaaBaaaleaacqWGPbqAcqGHsislcqaIXaqmaeqaaOGaeyOeI0IaeGOmaiJaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGGPaqkdaahaaWcbeqaaiabikdaYaaaaeaacqWGPbqAaeqaniabggHiLdaaaa@431B@</m:annotation></m:semantics></m:math></inline-formula> and the negativity penalty <inline-formula><m:math name="1471-2105-9-324-i6" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mo>&#8722;</m:mo><m:mi>B</m:mi><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mi>g</m:mi><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyOeI0IaemOqai0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdaaaa@44DF@</m:annotation></m:semantics></m:math></inline-formula>. The smoothness penalty is a discrete form of integral of squares of second-order derivatives, which is small for linear segments and large for small curvature radius. The negativity penalty is designed to be nonzero only when the baseline point is above the data point, by using the Heaviside step function <it>g</it>(<it>b</it><sub><it>i </it></sub>- <it>y</it><sub><it>i</it></sub>). It counteracts the uptrend of the first term and force the baseline to run through the middle of the data. By maximizing this function the baseline is pushed up to the spectrum but not exceeding the zero-signal level, and forced to be as smooth as possible to link peak regions.</p>
         <p>The negative penalty parameter <it>B </it>is determined by the condition that the baseline should run through the center of the noise region. Take the simplest case of a spectrum with only normally distributed noise with variance <it>&#963;</it><sup>2 </sup>and mean 0. The baseline should also be a horizontal line at <it>y </it>= <it>b</it>, so the summation term in the score function <inline-formula><m:math name="1471-2105-9-324-i7" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:munderover><m:mo>&#8721;</m:mo><m:mrow><m:mi>i</m:mi><m:mo>=</m:mo><m:mn>1</m:mn></m:mrow><m:mi>n</m:mi></m:munderover><m:mrow><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub></m:mrow></m:mstyle><m:mo>=</m:mo><m:mi>n</m:mi><m:mi>b</m:mi></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabCaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaaaeaacqWGPbqAcqGH9aqpcqaIXaqmaeaacqWGUbGBa0GaeyyeIuoakiabg2da9iabd6gaUjabdkgaIbaa@3958@</m:annotation></m:semantics></m:math></inline-formula>. The smoothing term <inline-formula><m:math name="1471-2105-9-324-i5" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mo>&#8722;</m:mo><m:mi>A</m:mi><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mrow><m:mi>i</m:mi><m:mo>+</m:mo><m:mn>1</m:mn></m:mrow></m:msub><m:mo>+</m:mo><m:msub><m:mi>b</m:mi><m:mrow><m:mi>i</m:mi><m:mo>&#8722;</m:mo><m:mn>1</m:mn></m:mrow></m:msub><m:mo>&#8722;</m:mo><m:mn>2</m:mn><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyOeI0Iaemyqae0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKMaey4kaSIaeGymaedabeaakiabgUcaRiabdkgaInaaBaaaleaacqWGPbqAcqGHsislcqaIXaqmaeqaaOGaeyOeI0IaeGOmaiJaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGGPaqkdaahaaWcbeqaaiabikdaYaaaaeaacqWGPbqAaeqaniabggHiLdaaaa@431B@</m:annotation></m:semantics></m:math></inline-formula> = 0 because the baseline should be horizontal and has no curvature. The expectation value of negativity term could be calculated based on the probability density function (PDF) of the noise <it>P</it>(<it>y</it>).</p>
         <p>
            <display-formula id="M4">
               <m:math name="1471-2105-9-324-i8" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mo>&lt;</m:mo>
                        <m:mo>&#8722;</m:mo>
                        <m:mi>B</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                              <m:mo>></m:mo>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>=</m:mo>
                        <m:mo>&#8722;</m:mo>
                        <m:mi>n</m:mi>
                        <m:mi>B</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:mrow>
                              <m:msubsup>
                                 <m:mo>&#8747;</m:mo>
                                 <m:mrow>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mi>&#8734;</m:mi>
                                 </m:mrow>
                                 <m:mi>&#8734;</m:mi>
                              </m:msubsup>
                              <m:mrow>
                                 <m:msup>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mi>b</m:mi>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mi>y</m:mi>
                                       <m:mo stretchy="false">)</m:mo>
                                    </m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:msup>
                                 <m:mi>g</m:mi>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:mi>b</m:mi>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mi>y</m:mi>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mi>P</m:mi>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:mi>y</m:mi>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mi>d</m:mi>
                                 <m:mi>y</m:mi>
                              </m:mrow>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>=</m:mo>
                        <m:mo>&#8722;</m:mo>
                        <m:mi>n</m:mi>
                        <m:mi>B</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:mrow>
                              <m:msubsup>
                                 <m:mo>&#8747;</m:mo>
                                 <m:mrow>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mi>&#8734;</m:mi>
                                 </m:mrow>
                                 <m:mi>b</m:mi>
                              </m:msubsup>
                              <m:mrow>
                                 <m:msup>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mi>b</m:mi>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mi>y</m:mi>
                                       <m:mo stretchy="false">)</m:mo>
                                    </m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:msup>
                                 <m:mi>P</m:mi>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:mi>y</m:mi>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mi>d</m:mi>
                                 <m:mi>y</m:mi>
                              </m:mrow>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyipaWJaeyOeI0IaemOqai0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKIaeyOpa4daleaacqWGPbqAaeqaniabggHiLdGccqGH9aqpcqGHsislcqWGUbGBcqWGcbGqdaWdXaqaaiabcIcaOiabdkgaIjabgkHiTiabdMha5jabcMcaPmaaCaaaleqabaGaeGOmaidaaOGaem4zaCMaeiikaGIaemOyaiMaeyOeI0IaemyEaKNaeiykaKIaemiuaaLaeiikaGIaemyEaKNaeiykaKIaemizaqMaemyEaKhaleaacqGHsislcqGHEisPaeaacqGHEisPa0Gaey4kIipakiabg2da9iabgkHiTiabd6gaUjabdkeacnaapedabaGaeiikaGIaemOyaiMaeyOeI0IaemyEaKNaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGqbaucqGGOaakcqWG5bqEcqGGPaqkcqWGKbazcqWG5bqEaSqaaiabgkHiTiabg6HiLcqaaiabdkgaIbqdcqGHRiI8aaaa@7E05@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>Where <inline-formula><m:math name="1471-2105-9-324-i9" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>P</m:mi><m:mo stretchy="false">(</m:mo><m:mi>y</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mfrac><m:mn>1</m:mn><m:mrow><m:msqrt><m:mrow><m:mn>2</m:mn><m:mi>&#960;</m:mi><m:msup><m:mi>&#963;</m:mi><m:mn>2</m:mn></m:msup></m:mrow></m:msqrt></m:mrow></m:mfrac><m:mi>exp</m:mi><m:mo>&#8289;</m:mo><m:mo stretchy="false">(</m:mo><m:mo>&#8722;</m:mo><m:mfrac><m:mrow><m:msup><m:mi>y</m:mi><m:mn>2</m:mn></m:msup></m:mrow><m:mrow><m:mn>2</m:mn><m:msup><m:mi>&#963;</m:mi><m:mn>2</m:mn></m:msup></m:mrow></m:mfrac><m:mo stretchy="false">)</m:mo></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiuaaLaeiikaGIaemyEaKNaeiykaKIaeyypa0tcfa4aaSaaaeaacqaIXaqmaeaadaGcaaqaaiabikdaYiabec8aWjabeo8aZnaaCaaabeqaaiabikdaYaaaaeqaaaaakiGbcwgaLjabcIha4jabcchaWjabcIcaOiabgkHiTKqbaoaalaaabaGaemyEaK3aaWbaaeqabaGaeGOmaidaaaqaaiabikdaYiabeo8aZnaaCaaabeqaaiabikdaYaaaaaGccqGGPaqkaaa@4632@</m:annotation></m:semantics></m:math></inline-formula> is the PDF of normal distribution with variance <it>&#963;</it><sup>2 </sup>and mean 0. The boundary of the integral (-&#8734;, <it>b</it>) in equation (4) is determined by explicitly plug in the step function <inline-formula><m:math name="1471-2105-9-324-i10" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>g</m:mi><m:mo stretchy="false">(</m:mo><m:mi>b</m:mi><m:mo>&#8722;</m:mo><m:mi>y</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:mrow><m:mo>{</m:mo><m:mrow><m:mtable><m:mtr><m:mtd><m:mrow><m:mn>1</m:mn><m:mo>,</m:mo></m:mrow></m:mtd><m:mtd><m:mrow><m:mi>y</m:mi><m:mo>&lt;</m:mo><m:mi>b</m:mi></m:mrow></m:mtd></m:mtr><m:mtr><m:mtd><m:mrow><m:mn>0</m:mn><m:mo>,</m:mo></m:mrow></m:mtd><m:mtd><m:mrow><m:mi>y</m:mi><m:mo>&#8805;</m:mo><m:mi>b</m:mi></m:mrow></m:mtd></m:mtr></m:mtable></m:mrow></m:mrow></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaem4zaCMaeiikaGIaemOyaiMaeyOeI0IaemyEaKNaeiykaKIaeyypa0ZaaiqaaeaafaqabeGacaaabaGaeGymaeJaeiilaWcabaGaemyEaKNaeyipaWJaemOyaigabaGaeGimaaJaeiilaWcabaGaemyEaKNaeyyzImRaemOyaigaaaGaay5Eaaaaaa@40BB@</m:annotation></m:semantics></m:math></inline-formula>.</p>
         <p>Hence the expected value of the score function &lt;<it>F</it>(<it>b</it>) > becomes:</p>
         <p>
            <display-formula id="M5">
               <m:math name="1471-2105-9-324-i11" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mo>&lt;</m:mo>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mi>b</m:mi>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>></m:mo>
                        <m:mo>=</m:mo>
                        <m:mi>n</m:mi>
                        <m:mi>b</m:mi>
                        <m:mo>&#8722;</m:mo>
                        <m:mi>n</m:mi>
                        <m:mi>B</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:mrow>
                              <m:msubsup>
                                 <m:mo>&#8747;</m:mo>
                                 <m:mrow>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mi>&#8734;</m:mi>
                                 </m:mrow>
                                 <m:mi>b</m:mi>
                              </m:msubsup>
                              <m:mrow>
                                 <m:msup>
                                    <m:mrow>
                                       <m:mo stretchy="false">(</m:mo>
                                       <m:mi>b</m:mi>
                                       <m:mo>&#8722;</m:mo>
                                       <m:mi>y</m:mi>
                                       <m:mo stretchy="false">)</m:mo>
                                    </m:mrow>
                                    <m:mn>2</m:mn>
                                 </m:msup>
                                 <m:mo>&#8901;</m:mo>
                                 <m:mfrac>
                                    <m:mn>1</m:mn>
                                    <m:mrow>
                                       <m:msqrt>
                                          <m:mrow>
                                             <m:mn>2</m:mn>
                                             <m:mi>&#960;</m:mi>
                                             <m:msup>
                                                <m:mi>&#963;</m:mi>
                                                <m:mn>2</m:mn>
                                             </m:msup>
                                          </m:mrow>
                                       </m:msqrt>
                                    </m:mrow>
                                 </m:mfrac>
                                 <m:mi>exp</m:mi>
                                 <m:mo>&#8289;</m:mo>
                                 <m:mo stretchy="false">(</m:mo>
                                 <m:mo>&#8722;</m:mo>
                                 <m:mfrac>
                                    <m:mrow>
                                       <m:msup>
                                          <m:mi>y</m:mi>
                                          <m:mn>2</m:mn>
                                       </m:msup>
                                    </m:mrow>
                                    <m:mrow>
                                       <m:mn>2</m:mn>
                                       <m:msup>
                                          <m:mi>&#963;</m:mi>
                                          <m:mn>2</m:mn>
                                       </m:msup>
                                    </m:mrow>
                                 </m:mfrac>
                                 <m:mo stretchy="false">)</m:mo>
                                 <m:mi>d</m:mi>
                                 <m:mi>y</m:mi>
                              </m:mrow>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyipaWJaemOrayKaeiikaGIaemOyaiMaeiykaKIaeyOpa4Jaeyypa0JaemOBa4MaemOyaiMaeyOeI0IaemOBa4MaemOqai0aa8qmaeaacqGGOaakcqWGIbGycqGHsislcqWG5bqEcqGGPaqkdaahaaWcbeqaaiabikdaYaaakiabgwSixNqbaoaalaaabaGaeGymaedabaWaaOaaaeaacqaIYaGmcqaHapaCcqaHdpWCdaahaaqabeaacqaIYaGmaaaabeaaaaGccyGGLbqzcqGG4baEcqGGWbaCcqGGOaakcqGHsisljuaGdaWcaaqaaiabdMha5naaCaaabeqaaiabikdaYaaaaeaacqaIYaGmcqaHdpWCdaahaaqabeaacqaIYaGmaaaaaOGaeiykaKIaemizaqMaemyEaKhaleaacqGHsislcqGHEisPaeaacqWGIbGya0Gaey4kIipaaaa@5FD5@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>The estimated baseline should be at the zero intensity level, which means the score function reaches its maximum at <it>b </it>= 0.</p>
         <p>
            <display-formula>
               <m:math name="1471-2105-9-324-i12" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mfrac>
                           <m:mrow>
                              <m:mo>&#8706;</m:mo>
                              <m:mo>&lt;</m:mo>
                              <m:mi>F</m:mi>
                              <m:mo>></m:mo>
                           </m:mrow>
                           <m:mrow>
                              <m:mo>&#8706;</m:mo>
                              <m:mi>b</m:mi>
                           </m:mrow>
                        </m:mfrac>
                        <m:msub>
                           <m:mo>|</m:mo>
                           <m:mrow>
                              <m:mi>b</m:mi>
                              <m:mo>=</m:mo>
                              <m:mn>0</m:mn>
                           </m:mrow>
                        </m:msub>
                        <m:mo>=</m:mo>
                        <m:mi>n</m:mi>
                        <m:mo>&#8722;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:mn>2</m:mn>
                              <m:mi>n</m:mi>
                              <m:mi>&#963;</m:mi>
                              <m:mi>B</m:mi>
                           </m:mrow>
                           <m:mrow>
                              <m:msqrt>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                    <m:mi>&#960;</m:mi>
                                 </m:mrow>
                              </m:msqrt>
                           </m:mrow>
                        </m:mfrac>
                        <m:mo>=</m:mo>
                        <m:mn>0</m:mn>
                        <m:mo>,</m:mo>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaSaaaeaacqGHciITcqGH8aapcqWGgbGrcqGH+aGpaeaacqGHciITcqWGIbGyaaGaeiiFaW3aaSbaaeaacqWGIbGycqGH9aqpcqaIWaamaeqaaiabg2da9OGaemOBa4MaeyOeI0scfa4aaSaaaeaacqaIYaGmcqWGUbGBcqaHdpWCcqWGcbGqaeaadaGcaaqaaiabikdaYiabec8aWbqabaaaaOGaeyypa0JaeGimaaJaeiilaWcaaa@47A1@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>This gives us the theoretical value of <it>B</it></p>
         <p>
            <display-formula id="M6">
               <m:math name="1471-2105-9-324-i13" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>B</m:mi>
                        <m:mo>=</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msqrt>
                                 <m:mrow>
                                    <m:mn>2</m:mn>
                                    <m:mi>&#960;</m:mi>
                                 </m:mrow>
                              </m:msqrt>
                           </m:mrow>
                           <m:mrow>
                              <m:mn>2</m:mn>
                              <m:mi>&#963;</m:mi>
                           </m:mrow>
                        </m:mfrac>
                        <m:mo>&#8776;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:mn>1.25</m:mn>
                           </m:mrow>
                           <m:mi>&#963;</m:mi>
                        </m:mfrac>
                        <m:mo>.</m:mo>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOqaiKaeyypa0tcfa4aaSaaaeaadaGcaaqaaiabikdaYiabec8aWbqabaaabaGaeGOmaiJaeq4WdmhaaOGaeyisISBcfa4aaSaaaeaacqaIXaqmcqGGUaGlcqaIYaGmcqaI1aqnaeaacqaHdpWCaaGaeiOla4caaa@3D06@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>So the negativity penalty parameter <it>B </it>is determined by the noise standard deviation <it>&#963;</it>. We define the constant <inline-formula><m:math name="1471-2105-9-324-i14" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msup><m:mi>B</m:mi><m:mo>&#8727;</m:mo></m:msup><m:mo>=</m:mo><m:mfrac><m:mrow><m:msqrt><m:mrow><m:mn>2</m:mn><m:mi>&#960;</m:mi></m:mrow></m:msqrt></m:mrow><m:mn>2</m:mn></m:mfrac><m:mo>&#8776;</m:mo><m:mn>1.25</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOqai0aaWbaaSqabeaacqGHxiIkaaGccqGH9aqpjuaGdaWcaaqaamaakaaabaGaeGOmaiJaeqiWdahabeaaaeaacqaIYaGmaaGccqGHijYUcqaIXaqmcqGGUaGlcqaIYaGmcqaI1aqnaaa@38D6@</m:annotation></m:semantics></m:math></inline-formula> so that <it>B </it>is in the form of <inline-formula><m:math name="1471-2105-9-324-i15" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>B</m:mi><m:mo>=</m:mo><m:mfrac><m:mrow><m:msup><m:mi>B</m:mi><m:mo>&#8727;</m:mo></m:msup></m:mrow><m:mi>&#963;</m:mi></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOqaiKaeyypa0tcfa4aaSaaaeaacqWGcbGqdaahaaqabeaacqGHxiIkaaaabaGaeq4Wdmhaaaaa@3267@</m:annotation></m:semantics></m:math></inline-formula>. By dividing by <it>&#963;</it>, the negativity penalty <inline-formula><m:math name="1471-2105-9-324-i6" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mo>&#8722;</m:mo><m:mi>B</m:mi><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msup><m:mrow><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow><m:mn>2</m:mn></m:msup><m:mi>g</m:mi><m:mo stretchy="false">(</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8722;</m:mo><m:msub><m:mi>y</m:mi><m:mi>i</m:mi></m:msub><m:mo stretchy="false">)</m:mo></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeyOeI0IaemOqai0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdaaaa@44DF@</m:annotation></m:semantics></m:math></inline-formula> will have the same order of the intensity as in the first linear summation term <inline-formula><m:math name="1471-2105-9-324-i4" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mstyle displaystyle="true"><m:munder><m:mo>&#8721;</m:mo><m:mi>i</m:mi></m:munder><m:mrow><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub></m:mrow></m:mstyle></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaWaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaaaeaacqWGPbqAaeqaniabggHiLdaaaa@321C@</m:annotation></m:semantics></m:math></inline-formula> in the score function, which guarantees that the maximal point of the score function remain invariant if the spectrum is multiplied by a scalar, so that the corresponding baseline curve will not be affected. For the same reason, the smoothing penalty parameter, denoted by <it>A </it>in the score function (2), should also take the form of <inline-formula><m:math name="1471-2105-9-324-i16" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>A</m:mi><m:mo>=</m:mo><m:mfrac><m:mrow><m:mi>C</m:mi><m:msup><m:mi>A</m:mi><m:mo>&#8727;</m:mo></m:msup></m:mrow><m:mi>&#963;</m:mi></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyqaeKaeyypa0tcfa4aaSaaaeaacqWGdbWqcqWGbbqqdaahaaqabeaacqGHxiIkaaaabaGaeq4Wdmhaaaaa@3372@</m:annotation></m:semantics></m:math></inline-formula> to guarantee invariance in spectrum scaling, where <it>A</it>* is a constant and <it>C </it>is a coefficient related with the resolution of the spectra and will be discussed later.</p>
         <p>For example, if we multiply the spectrum {<it>x</it><sub><it>i</it></sub>, <it>y</it><sub><it>i</it></sub>} by a scalar k, we get a new spectrum {<it>x</it><sub><it>i</it></sub>, <it>ky</it><sub><it>i</it></sub>}. The noise standard deviation of the scaled spectrum, denoted by <it>&#963;</it>', is also <it>k </it>times the original noise standard deviation <it>&#963;</it>: <it>&#963;</it>' = <it>k&#963;</it>.</p>
         <p>The score function for the original spectrum is:</p>
         <p>
            <display-formula id="M7">
               <m:math name="1471-2105-9-324-i17" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>=</m:mo>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:mi>C</m:mi>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mi>&#963;</m:mi>
                              </m:mfrac>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>+</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>+</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>2</m:mn>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>&#8722;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>B</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mi>&#963;</m:mi>
                        </m:mfrac>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOrayKaeiikaGIaeCOyaiMaeiykaKIaeyypa0ZaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTKqbaoaalaaabaGaem4qamKaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabeo8aZbaakmaaqafabaGaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPjabgUcaRiabigdaXaqabaGccqGHRaWkcqWGIbGydaWgaaWcbaGaemyAaKMaeyOeI0IaeGymaedabeaakiabgkHiTiabikdaYiabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aaWcbaGaemyAaKgabeqdcqGHris5aOGaeyOeI0scfa4aaSaaaeaacqWGcbGqdaahaaqabeaacqGHxiIkaaaabaGaeq4WdmhaaOWaaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdaaaa@6FFE@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>And the score function for the scaled spectrum is:</p>
         <p>
            <display-formula id="M8">
               <m:math name="1471-2105-9-324-i18" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo>'</m:mo>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>=</m:mo>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>'</m:mo>
                              <m:mo>&#8722;</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:mi>C</m:mi>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                    <m:mi>&#963;</m:mi>
                                 </m:mrow>
                              </m:mfrac>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>+</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>'</m:mo>
                                          <m:mo>+</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>'</m:mo>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>2</m:mn>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo>'</m:mo>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>&#8722;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>B</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                              <m:mi>&#963;</m:mi>
                           </m:mrow>
                        </m:mfrac>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>'</m:mo>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mi>k</m:mi>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>'</m:mo>
                              <m:mo>&#8722;</m:mo>
                              <m:mi>k</m:mi>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOrayKaeiikaGIaeCOyaiMaei4jaCIaeiykaKIaeyypa0ZaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabcEcaNiabgkHiTKqbaoaalaaabaGaem4qamKaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabdUgaRjabeo8aZbaakmaaqafabaGaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPjabgUcaRiabigdaXaqabaGccqGGNaWjcqGHRaWkcqWGIbGydaWgaaWcbaGaemyAaKMaeyOeI0IaeGymaedabeaakiabcEcaNiabgkHiTiabikdaYiabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaei4jaCIaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aaWcbaGaemyAaKgabeqdcqGHris5aOGaeyOeI0scfa4aaSaaaeaacqWGcbGqdaahaaqabeaacqGHxiIkaaaabaGaem4AaSMaeq4WdmhaaOWaaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabcEcaNiabgkHiTiabdUgaRjabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabcEcaNiabgkHiTiabdUgaRjabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdaaaa@7B54@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>The estimated baseline for scaled spectrum should also be also <it>k </it>times of the original spectrum baseline, thus <b>b</b>' = <it>k</it><b>b</b>, or equivalently, <it>b</it><sub><it>i</it></sub><sup>' </sup>= <it>kb</it><sub><it>i</it></sub>. Substitute into equation (8), we have</p>
         <p>
            <display-formula>
               <m:math name="1471-2105-9-324-i19" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo>'</m:mo>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>=</m:mo>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:mi>k</m:mi>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:mi>C</m:mi>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>k</m:mi>
                                    <m:mi>&#963;</m:mi>
                                 </m:mrow>
                              </m:mfrac>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:mi>k</m:mi>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>+</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>+</m:mo>
                                          <m:mi>k</m:mi>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>2</m:mn>
                                          <m:mi>k</m:mi>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>&#8722;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>B</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mrow>
                              <m:mi>k</m:mi>
                              <m:mi>&#963;</m:mi>
                           </m:mrow>
                        </m:mfrac>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:mi>k</m:mi>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mi>k</m:mi>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:mi>k</m:mi>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:mi>k</m:mi>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>=</m:mo>
                        <m:mi>k</m:mi>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo stretchy="false">)</m:mo>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOrayKaeiikaGIaeCOyaiMaei4jaCIaeiykaKIaeyypa0ZaaabuaeaacqWGRbWAcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTKqbaoaalaaabaGaem4qamKaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabdUgaRjabeo8aZbaakmaaqafabaGaeiikaGIaem4AaSMaemOyai2aaSbaaSqaaiabdMgaPjabgUcaRiabigdaXaqabaGccqGHRaWkcqWGRbWAcqWGIbGydaWgaaWcbaGaemyAaKMaeyOeI0IaeGymaedabeaakiabgkHiTiabikdaYiabdUgaRjabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aaWcbaGaemyAaKgabeqdcqGHris5aOGaeyOeI0scfa4aaSaaaeaacqWGcbGqdaahaaqabeaacqGHxiIkaaaabaGaem4AaSMaeq4WdmhaaOWaaabuaeaacqGGOaakcqWGRbWAcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdUgaRjabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaGccqWGNbWzcqGGOaakcqWGRbWAcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTiabdUgaRjabdMha5naaBaaaleaacqWGPbqAaeqaaOGaeiykaKcaleaacqWGPbqAaeqaniabggHiLdGccqGH9aqpcqWGRbWAcqWGgbGrcqGGOaakcqWHIbGycqGGPaqkaaa@8511@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>So <it>F</it>(<b>b'</b>) = <it>F</it>(<it>k</it><b>b</b>) = <it>kF</it>(<b>b</b>), which means the score function is in an invariant form for scaling. Multiplying the spectrum by a constant does not affect finding the optimal baseline by maximizing this score function.</p>
         <p>In addition, the smoothness penalty should be robust to the abscissa resolution. For example, if we take half the data points (with odd indices) of the original spectrum so that the chemical shift interval is doubled, the baseline curve should not be affected. This suggests the coefficient <it>C </it>in <inline-formula><m:math name="1471-2105-9-324-i16" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>A</m:mi><m:mo>=</m:mo><m:mfrac><m:mrow><m:mi>C</m:mi><m:msup><m:mi>A</m:mi><m:mo>&#8727;</m:mo></m:msup></m:mrow><m:mi>&#963;</m:mi></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyqaeKaeyypa0tcfa4aaSaaaeaacqWGdbWqcqWGbbqqdaahaaqabeaacqGHxiIkaaaabaGaeq4Wdmhaaaaa@3372@</m:annotation></m:semantics></m:math></inline-formula> is related with the abscissa resolution <it>dx</it>.</p>
         <p>Recall the smoothing term is the sum of squared second order derivatives of {<it>b</it><sub><it>i</it></sub>}, rewrite it in the generic form of discrete representation of second order derivative:</p>
         <p>
            <display-formula>
               <m:math name="1471-2105-9-324-i20" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>A</m:mi>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mi>i</m:mi>
                                          <m:mo>+</m:mo>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                    </m:msub>
                                    <m:mo>+</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mi>i</m:mi>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mn>2</m:mn>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mo>=</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mi>&#963;</m:mi>
                              </m:mfrac>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:mfrac>
                                             <m:mrow>
                                                <m:msub>
                                                   <m:mi>b</m:mi>
                                                   <m:mrow>
                                                      <m:mi>i</m:mi>
                                                      <m:mo>+</m:mo>
                                                      <m:mn>1</m:mn>
                                                   </m:mrow>
                                                </m:msub>
                                                <m:mo>+</m:mo>
                                                <m:msub>
                                                   <m:mi>b</m:mi>
                                                   <m:mrow>
                                                      <m:mi>i</m:mi>
                                                      <m:mo>&#8722;</m:mo>
                                                      <m:mn>1</m:mn>
                                                   </m:mrow>
                                                </m:msub>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>2</m:mn>
                                                <m:msub>
                                                   <m:mi>b</m:mi>
                                                   <m:mi>i</m:mi>
                                                </m:msub>
                                             </m:mrow>
                                             <m:mrow>
                                                <m:mi>d</m:mi>
                                                <m:msup>
                                                   <m:mi>x</m:mi>
                                                   <m:mn>2</m:mn>
                                                </m:msup>
                                             </m:mrow>
                                          </m:mfrac>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                              <m:mo>=</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mrow>
                                    <m:mi>&#963;</m:mi>
                                    <m:mo>&#8901;</m:mo>
                                    <m:mi>d</m:mi>
                                    <m:msup>
                                       <m:mi>x</m:mi>
                                       <m:mn>4</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mfrac>
                           </m:mrow>
                        </m:mstyle>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mi>i</m:mi>
                                          <m:mo>+</m:mo>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                    </m:msub>
                                    <m:mo>+</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mrow>
                                          <m:mi>i</m:mi>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>1</m:mn>
                                       </m:mrow>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mn>2</m:mn>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyqae0aaabuaeaacqGGOaakcqWGIbGydaWgaaWcbaGaemyAaKMaey4kaSIaeGymaedabeaakiabgUcaRiabdkgaInaaBaaaleaacqWGPbqAcqGHsislcqaIXaqmaeqaaOGaeyOeI0IaeGOmaiJaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGGPaqkdaahaaWcbeqaaiabikdaYaaakiabg2da9KqbaoaalaaabaGaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabeo8aZbaakmaaqafabaGaeiikaGscfa4aaSaaaeaacqWGIbGydaWgaaqaaiabdMgaPjabgUcaRiabigdaXaqabaGaey4kaSIaemOyai2aaSbaaeaacqWGPbqAcqGHsislcqaIXaqmaeqaaiabgkHiTiabikdaYiabdkgaInaaBaaabaGaemyAaKgabeaaaeaacqWGKbazcqWG4baEdaahaaqabeaacqaIYaGmaaaaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aOGaeyypa0tcfa4aaSaaaeaacqWGbbqqdaahaaqabeaacqGHxiIkaaaabaGaeq4WdmNaeyyXICTaemizaqMaemiEaG3aaWbaaeqabaGaeGinaqdaaaaaaSqaaiabdMgaPbqab0GaeyyeIuoakmaaqafabaGaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPjabgUcaRiabigdaXaqabaGccqGHRaWkcqWGIbGydaWgaaWcbaGaemyAaKMaeyOeI0IaeGymaedabeaakiabgkHiTiabikdaYiabdkgaInaaBaaaleaacqWGPbqAaeqaaOGaeiykaKYaaWbaaSqabeaacqaIYaGmaaaabaGaemyAaKgabeqdcqGHris5aaaa@82C4@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>Therefore <it>C </it>has an inverse quadruple relation with the resolution <it>dx </it>of the abscissa. For a given spectrum, <it>dx </it>is inverse proportional to the number of data points <it>n</it>: <inline-formula><m:math name="1471-2105-9-324-i21" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>d</m:mi><m:mi>x</m:mi><m:mo>&#8733;</m:mo><m:mfrac><m:mn>1</m:mn><m:mi>n</m:mi></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemizaqMaemiEaGNaeyyhIuBcfa4aaSaaaeaacqaIXaqmaeaacqWGUbGBaaaaaa@3312@</m:annotation></m:semantics></m:math></inline-formula>, which means <it>C </it>could take the value of <it>n</it><sup>4</sup>.</p>
         <p>
            <display-formula id="M9">
               <m:math name="1471-2105-9-324-i22" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mtext>So&#160;</m:mtext>
                        <m:mi>A</m:mi>
                        <m:mo>=</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:mi>C</m:mi>
                              <m:msup>
                                 <m:mi>A</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mi>&#963;</m:mi>
                        </m:mfrac>
                        <m:mo>=</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>n</m:mi>
                                 <m:mn>4</m:mn>
                              </m:msup>
                              <m:msup>
                                 <m:mi>A</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mi>&#963;</m:mi>
                        </m:mfrac>
                        <m:mo>,</m:mo>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaee4uamLaee4Ba8MaeeiiaaIaemyqaeKaeyypa0tcfa4aaSaaaeaacqWGdbWqcqWGbbqqdaahaaqabeaacqGHxiIkaaaabaGaeq4WdmhaaOGaeyypa0tcfa4aaSaaaeaacqWGUbGBdaahaaqabeaacqaI0aanaaGaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabeo8aZbaakiabcYcaSaaa@400D@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>where <it>A</it>* is a constant that is independent of the spectrum. By comparing different spectra, we choose an empirically reasonable value of <it>A</it>* to be <it>A</it>* = 5 &#215; 10<sup>-9</sup>.</p>
         <p>Based on the above analysis, the score function takes the follow form</p>
         <p>
            <display-formula id="M10">
               <m:math name="1471-2105-9-324-i23" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>F</m:mi>
                        <m:mo stretchy="false">(</m:mo>
                        <m:mstyle mathvariant="bold" mathsize="normal">
                           <m:mi>b</m:mi>
                        </m:mstyle>
                        <m:mo stretchy="false">)</m:mo>
                        <m:mo>=</m:mo>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:mfrac>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mi>n</m:mi>
                                       <m:mn>4</m:mn>
                                    </m:msup>
                                    <m:msup>
                                       <m:mi>A</m:mi>
                                       <m:mo>&#8727;</m:mo>
                                    </m:msup>
                                 </m:mrow>
                                 <m:mi>&#963;</m:mi>
                              </m:mfrac>
                              <m:mstyle displaystyle="true">
                                 <m:munder>
                                    <m:mo>&#8721;</m:mo>
                                    <m:mi>i</m:mi>
                                 </m:munder>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mrow>
                                          <m:mo stretchy="false">(</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>+</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>+</m:mo>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mo>&#8722;</m:mo>
                                                <m:mn>1</m:mn>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>&#8722;</m:mo>
                                          <m:mn>2</m:mn>
                                          <m:msub>
                                             <m:mi>b</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo stretchy="false">)</m:mo>
                                       </m:mrow>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                 </m:mrow>
                              </m:mstyle>
                           </m:mrow>
                        </m:mstyle>
                        <m:mo>&#8722;</m:mo>
                        <m:mfrac>
                           <m:mrow>
                              <m:msup>
                                 <m:mi>B</m:mi>
                                 <m:mo>&#8727;</m:mo>
                              </m:msup>
                           </m:mrow>
                           <m:mi>&#963;</m:mi>
                        </m:mfrac>
                        <m:mstyle displaystyle="true">
                           <m:munder>
                              <m:mo>&#8721;</m:mo>
                              <m:mi>i</m:mi>
                           </m:munder>
                           <m:mrow>
                              <m:msup>
                                 <m:mrow>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msub>
                                       <m:mi>b</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo>&#8722;</m:mo>
                                    <m:msub>
                                       <m:mi>y</m:mi>
                                       <m:mi>i</m:mi>
                                    </m:msub>
                                    <m:mo stretchy="false">)</m:mo>
                                 </m:mrow>
                                 <m:mn>2</m:mn>
                              </m:msup>
                              <m:mi>g</m:mi>
                              <m:mo stretchy="false">(</m:mo>
                              <m:msub>
                                 <m:mi>b</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo>&#8722;</m:mo>
                              <m:msub>
                                 <m:mi>y</m:mi>
                                 <m:mi>i</m:mi>
                              </m:msub>
                              <m:mo stretchy="false">)</m:mo>
                           </m:mrow>
                        </m:mstyle>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOrayKaeiikaGIaeCOyaiMaeiykaKIaeyypa0ZaaabuaeaacqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabgkHiTKqbaoaalaaabaGaemOBa42aaWbaaeqabaGaeGinaqdaaiabdgeabnaaCaaabeqaaiabgEHiQaaaaeaacqaHdpWCaaGcdaaeqbqaaiabcIcaOiabdkgaInaaBaaaleaacqWGPbqAcqGHRaWkcqaIXaqmaeqaaOGaey4kaSIaemOyai2aaSbaaSqaaiabdMgaPjabgkHiTiabigdaXaqabaGccqGHsislcqaIYaGmcqWGIbGydaWgaaWcbaGaemyAaKgabeaakiabcMcaPmaaCaaaleqabaGaeGOmaidaaaqaaiabdMgaPbqab0GaeyyeIuoaaSqaaiabdMgaPbqab0GaeyyeIuoakiabgkHiTKqbaoaalaaabaGaemOqai0aaWbaaeqabaGaey4fIOcaaaqaaiabeo8aZbaakmaaqafabaGaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWG5bqEdaWgaaWcbaGaemyAaKgabeaakiabcMcaPmaaCaaaleqabaGaeGOmaidaaOGaem4zaCMaeiikaGIaemOyai2aaSbaaSqaaiabdMgaPbqabaGccqGHsislcqWG5bqEdaWgaaWcbaGaemyAaKgabeaakiabcMcaPaWcbaGaemyAaKgabeqdcqGHris5aaaa@716C@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>where <it>A</it>* = 5 &#215; 10<sup>-9</sup>, <it>B</it>* &#8776; 1.25, <it>&#963; </it>is the standard deviation of noise and <it>n </it>is the total number of data points. The baseline curve is insensitive to small changes of <it>A </it>and <it>B</it>, unless the orders of magnitude are changed.</p>
         <p>The estimation of the noise standard deviation <it>&#963; </it>is based on the model in equation (1), The variance of a certain part of spectrum is derived as the following</p>
         <p>
            <display-formula id="M11">
               <m:math name="1471-2105-9-324-i24" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mtable>
                           <m:mtr>
                              <m:mtd>
                                 <m:mrow>
                                    <m:mi>V</m:mi>
                                    <m:mi>a</m:mi>
                                    <m:mi>r</m:mi>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:mi>y</m:mi>
                                    <m:mo stretchy="false">)</m:mo>
                                    <m:mo>=</m:mo>
                                    <m:msubsup>
                                       <m:mi>&#963;</m:mi>
                                       <m:mi>&#949;</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msubsup>
                                    <m:mo>+</m:mo>
                                    <m:msup>
                                       <m:mi>&#956;</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                    <m:msup>
                                       <m:mi>S</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                    <m:mo>,</m:mo>
                                 </m:mrow>
                              </m:mtd>
                              <m:mtd>
                                 <m:mrow>
                                    <m:mtext>where</m:mtext>
                                 </m:mrow>
                              </m:mtd>
                              <m:mtd>
                                 <m:mrow>
                                    <m:msup>
                                       <m:mi>S</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msup>
                                    <m:mo>=</m:mo>
                                    <m:mi>exp</m:mi>
                                    <m:mo>&#8289;</m:mo>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msubsup>
                                       <m:mi>&#963;</m:mi>
                                       <m:mi>&#951;</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msubsup>
                                    <m:mo stretchy="false">)</m:mo>
                                    <m:mo stretchy="false">[</m:mo>
                                    <m:mi>exp</m:mi>
                                    <m:mo>&#8289;</m:mo>
                                    <m:mo stretchy="false">(</m:mo>
                                    <m:msubsup>
                                       <m:mi>&#963;</m:mi>
                                       <m:mi>&#951;</m:mi>
                                       <m:mn>2</m:mn>
                                    </m:msubsup>
                                    <m:mo stretchy="false">)</m:mo>
                                    <m:mo>&#8722;</m:mo>
                                    <m:mn>1</m:mn>
                                    <m:mo stretchy="false">]</m:mo>
                                 </m:mrow>
                              </m:mtd>
                           </m:mtr>
                        </m:mtable>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xI8qiVKYPFjYdHaVhbbf9v8qqaqFr0xc9vqFj0dXdbba91qpepeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqbaeqabeWaaaqaaiabdAfawjabdggaHjabdkhaYjabcIcaOiabdMha5jabcMcaPiabg2da9iabeo8aZnaaDaaaleaacqaH1oqzaeaacqaIYaGmaaGccqGHRaWkcqaH8oqBdaahaaWcbeqaaiabikdaYaaakiabdofatnaaCaaaleqabaGaeGOmaidaaOGaeiilaWcabaGaee4DaCNaeeiAaGMaeeyzauMaeeOCaiNaeeyzaugabaGaem4uam1aaWbaaSqabeaacqaIYaGmaaGccqGH9aqpcyGGLbqzcqGG4baEcqGGWbaCcqGGOaakcqaHdpWCdaqhaaWcbaGaeq4TdGgabaGaeGOmaidaaOGaeiykaKIaei4waSLagiyzauMaeiiEaGNaeiiCaaNaeiikaGIaeq4Wdm3aa0baaSqaaiabeE7aObqaaiabikdaYaaakiabcMcaPiabgkHiTiabigdaXiabc2faDbaaaaa@636E@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>It indicates that the signal variance <it>Var</it>(<it>y</it>) increases with the mean value of signal intensity <it>&#956;</it>. We can estimate the noise variance <inline-formula><m:math name="1471-2105-9-324-i25" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>&#963;</m:mi><m:mi>&#949;</m:mi><m:mn>2</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeq4Wdm3aa0baaSqaaiabew7aLbqaaiabikdaYaaaaaa@305E@</m:annotation></m:semantics></m:math></inline-formula> by fitting equation (11) on the signal variances and mean intensities sampled from the spectrum. We divide the spectrum into small regions and compute the variance and mean intensity within each regions. Figure <figr fid="F1">1</figr> plots the variances versus mean values with region size of 32 data points, corresponding to 0.012 ppm in chemical shifts. We use LOWESS (locally weighted scatterplot smoothing) regression to fit equation (11). The red line in Figure <figr fid="F1">1</figr> represents the fitted regression line. It has a quadratic form as expressed in equation (11).</p>
         <fig id="F1">
            <title>
               <p>Figure 1</p>
            </title>
            <caption>
               <p>LOWESS smoothing for variances estimation</p>
            </caption>
            <text>
               <p><b>LOWESS smoothing for variances estimation</b>. Variances versus mean intensities sampled bins of 1D NMR metabolomics spectra. The bin size was set to 32 data points, corresponding to 0.012 ppm in chemical shift. The fitted LOWESS regression curve was plotted in red, and the flat region of the LOWESS curve represents the estimated noise variance.</p>
            </text>
            <graphic file="1471-2105-9-324-1"/>
         </fig>
         <p>Since <inline-formula><m:math name="1471-2105-9-324-i26" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>V</m:mi><m:mi>a</m:mi><m:mi>r</m:mi><m:mo stretchy="false">(</m:mo><m:mi>y</m:mi><m:mo stretchy="false">)</m:mo><m:mo>=</m:mo><m:msubsup><m:mi>&#963;</m:mi><m:mi>&#949;</m:mi><m:mn>2</m:mn></m:msubsup><m:mo>+</m:mo><m:msup><m:mi>&#956;</m:mi><m:mn>2</m:mn></m:msup><m:msup><m:mi>S</m:mi><m:mn>2</m:mn></m:msup><m:mo>&#8776;</m:mo><m:msubsup><m:mi>&#963;</m:mi><m:mi>&#949;</m:mi><m:mn>2</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOvayLaemyyaeMaemOCaiNaeiikaGIaemyEaKNaeiykaKIaeyypa0Jaeq4Wdm3aa0baaSqaaiabew7aLbqaaiabikdaYaaakiabgUcaRiabeY7aTnaaCaaaleqabaGaeGOmaidaaOGaem4uam1aaWbaaSqabeaacqaIYaGmaaGccqGHijYUcqaHdpWCdaqhaaWcbaGaeqyTdugabaGaeGOmaidaaaaa@44DB@</m:annotation></m:semantics></m:math></inline-formula> when <it>&#956; </it>&#8776; 0, the noise variance <inline-formula><m:math name="1471-2105-9-324-i25" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>&#963;</m:mi><m:mi>&#949;</m:mi><m:mn>2</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeq4Wdm3aa0baaSqaaiabew7aLbqaaiabikdaYaaaaaa@305E@</m:annotation></m:semantics></m:math></inline-formula> is approximately equal to the signal variance <it>Var</it>(<it>y</it>) for small mean values. We take the predicted value of <it>Var</it>(<it>y</it>) at zero mean intensity in the LOWESS regression to be our estimate of <inline-formula><m:math name="1471-2105-9-324-i25" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msubsup><m:mi>&#963;</m:mi><m:mi>&#949;</m:mi><m:mn>2</m:mn></m:msubsup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeq4Wdm3aa0baaSqaaiabew7aLbqaaiabikdaYaaaaaa@305E@</m:annotation></m:semantics></m:math></inline-formula>, and the standard deviation of the noise <it>&#963; </it>is the square root of the noise variance</p>
         <p>
            <display-formula>
               <m:math name="1471-2105-9-324-i27" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mrow>
                        <m:mi>&#963;</m:mi>
                        <m:mo>=</m:mo>
                        <m:msqrt>
                           <m:mrow>
                              <m:msubsup>
                                 <m:mi>&#963;</m:mi>
                                 <m:mi>&#949;</m:mi>
                                 <m:mn>2</m:mn>
                              </m:msubsup>
                           </m:mrow>
                        </m:msqrt>
                     </m:mrow>
                     <m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaeq4WdmNaeyypa0ZaaOaaaeaacqaHdpWCdaqhaaWcbaGaeqyTdugabaGaeGOmaidaaaqabaaaaa@3337@</m:annotation>
                  </m:semantics>
               </m:math>
            </display-formula>
         </p>
         <p>After determining the parameters, we maximize the function <it>F</it>(<b>b</b>) to find the baseline <b>b</b><sub>0</sub>, according to equation (3). Mathematically, we solve <inline-formula><m:math name="1471-2105-9-324-i28" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mfrac><m:mrow><m:mo>&#8706;</m:mo><m:mi>F</m:mi><m:mo stretchy="false">(</m:mo><m:mstyle mathvariant="bold" mathsize="normal"><m:mi>b</m:mi></m:mstyle><m:mo stretchy="false">)</m:mo></m:mrow><m:mrow><m:mo>&#8706;</m:mo><m:mstyle mathvariant="bold" mathsize="normal"><m:mi>b</m:mi></m:mstyle></m:mrow></m:mfrac><m:mo>=</m:mo><m:mn>0</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaSaaaeaacqGHciITcqWGgbGrcqGGOaakcqWHIbGycqGGPaqkaeaacqGHciITcqWHIbGyaaGccqGH9aqpcqaIWaamaaa@36A6@</m:annotation></m:semantics></m:math></inline-formula> to find the maximum of <it>F</it>(<b>b</b>). This partial derivative equation expands as a linear system with the solution to be <b>b</b><sub>0</sub>. The numerical implementation of solving this linear system is attached in the appendix.</p>
      </sec>
      <sec>
         <st>
            <p>Results and discussion</p>
         </st>
         <p>Based on this penalized smoothing model, we test the baseline correction method on simple 1D NMR spectra and complex metabolomics spectra.</p>
         <p>Figure <figr fid="F2">2</figr> demonstrates this method corrects the baseline distortion of a simple 1D <sup>1</sup>H NMR reference spectrum of DSS (2,2-Dimethyl-2-silapentane-5-sulfonic acid) with <it>n </it>= 65536 data points. The estimated noise standard deviation is <it>&#963; </it>= 8335.9. According to previous discussion of parameter determination, the parameters are set to <inline-formula><m:math name="1471-2105-9-324-i29" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>A</m:mi><m:mo>=</m:mo><m:mfrac><m:mrow><m:msup><m:mi>n</m:mi><m:mn>4</m:mn></m:msup><m:msup><m:mi>A</m:mi><m:mo>&#8727;</m:mo></m:msup></m:mrow><m:mi>&#963;</m:mi></m:mfrac><m:mo>=</m:mo><m:mn>1.1</m:mn><m:mo>&#215;</m:mo><m:msup><m:mrow><m:mn>10</m:mn></m:mrow><m:mn>7</m:mn></m:msup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemyqaeKaeyypa0tcfa4aaSaaaeaacqWGUbGBdaahaaqabeaacqaI0aanaaGaemyqae0aaWbaaeqabaGaey4fIOcaaaqaaiabeo8aZbaakiabg2da9iabigdaXiabc6caUiabigdaXiabgEna0kabigdaXiabicdaWmaaCaaaleqabaGaeG4naCdaaaaa@3DD2@</m:annotation></m:semantics></m:math></inline-formula> and <inline-formula><m:math name="1471-2105-9-324-i30" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mi>B</m:mi><m:mo>=</m:mo><m:mfrac><m:mrow><m:msup><m:mi>B</m:mi><m:mo>&#8727;</m:mo></m:msup></m:mrow><m:mi>&#963;</m:mi></m:mfrac><m:mo>=</m:mo><m:mn>1.5</m:mn><m:mo>&#215;</m:mo><m:msup><m:mrow><m:mn>10</m:mn></m:mrow><m:mrow><m:mo>&#8722;</m:mo><m:mn>4</m:mn></m:mrow></m:msup></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemOqaiKaeyypa0tcfa4aaSaaaeaacqWGcbGqdaahaaqabeaacqGHxiIkaaaabaGaeq4WdmhaaOGaeyypa0JaeGymaeJaeiOla4IaeGynauJaey41aqRaeGymaeJaeGimaaZaaWbaaSqabeaacqGHsislcqaI0aanaaaaaa@3C48@</m:annotation></m:semantics></m:math></inline-formula>. Figure <figr fid="F2">2A</figr> shows the original spectrum with apparent baseline distortions. This distorted baseline is detected by the penalized smoothing method in Figure <figr fid="F2">2B</figr>. In Figure <figr fid="F2">2C</figr>, this baseline curve is subtracted from the spectrum and the distortion is corrected. The optimal baseline found by our baseline model fits well with the distortion curve. The small peak at 2ppm in the spectrum is correctly presented after baseline subtraction.</p>
         <fig id="F2">
            <title>
               <p>Figure 2</p>
            </title>
            <caption>
               <p>Baseline correction by penalized parametric smoothing method</p>
            </caption>
            <text>
               <p><b>Baseline correction by penalized parametric smoothing method</b>. (A) Original 1D proton NMR spectrum of DSS reference with distorted baseline. (B) Detected baseline curve by penalized parametric smoothing method. (C) Corrected spectrum after baseline subtraction.</p>
            </text>
            <graphic file="1471-2105-9-324-2"/>
         </fig>
         <p>We test this method in more complicated metabolomics spectra collected from tissue samples of red abalone. The data are from a study of environmental stresses on the development of a bacterial infection among red abalones (<it>Haliotis rufescens</it>) <abbrgrp><abbr bid="B12">12</abbr><abbr bid="B13">13</abbr></abbrgrp>. The dataset include 65 1D proton NMR spectra with 65536 data points in each spectrum. In our test the penalized smoothing method correctly detected and removed the distorted baseline for all 65 spectra. Figure <figr fid="F3">3</figr> shows the baseline correction result on one example of testing spectra using the penalized smoothing method. In Figure <figr fid="F3">3A</figr>, the peaks of metabolites aggregate together and form continuous peak regions. Lack of noise points in these regions generates big gaps in baseline construction. As demonstrated in Figure <figr fid="F3">3B</figr> and Figure <figr fid="F3">3C</figr>, the baseline distortion is correctly detected and removed. In these gaps, the baseline curve is constructed following the smoothing constraints in the penalized smoothing model. The penalized smoothing method does not require explicit identification of noise region identification and therefore avoids constructing the baseline by interpolation, which is sensitive to the identification of noise points, especially in the region with high peak densities where noise points is difficult to detect accurately.</p>
         <fig id="F3">
            <title>
               <p>Figure 3</p>
            </title>
            <caption>
               <p>Baseline correction for metabolomics spectrum by penalized parametric smoothing method</p>
            </caption>
            <text>
               <p><b>Baseline correction for metabolomics spectrum by penalized parametric smoothing method</b>. (A) Original spectrum with distorted baseline. (B) Detected baseline curve by penalized parametric smoothing method. (C) Corrected spectrum after baseline subtraction.</p>
            </text>
            <graphic file="1471-2105-9-324-3"/>
         </fig>
         <p>We compared the penalized smoothing method with commercial software in Figure <figr fid="F4">4</figr> and Figure <figr fid="F5">5</figr>. We applied the penalized smoothing method and the automatic baseline correction function in XWIN-NMR software (version 3.5) carried by the Bruker AVANCE 600 NMR facility to the same spectrum with baseline distortion, and plot the baseline corrected spectrum in Figure <figr fid="F4">4</figr>. The red lines represent the ideal horizontal baseline at zero intensity level. Both methods are capable of removing large distortions of the baseline and setting the corrected baseline to near the zero intensity level. The corrected baseline by the penalized smoothing method (Figure <figr fid="F4">4A</figr>) fits well with the ideal horizontal baseline in red. In Figure <figr fid="F4">4B</figr>, the corrected baseline by XWINNMR has apparently larger deviation from the zero intensity level.</p>
         <fig id="F4">
            <title>
               <p>Figure 4</p>
            </title>
            <caption>
               <p>Comparison of penalized smoothing method and XWIN-NMR 3.5</p>
            </caption>
            <text>
               <p><b>Comparison of penalized smoothing method and XWIN-NMR 3.5</b>. (A) Spectrum corrected by penalized parametric smoothing method. (B) Spectrum corrected by automatic baseline correction function in XWIN-NMR 3.5. The red lines represent the zero intensity level.</p>
            </text>
            <graphic file="1471-2105-9-324-4"/>
         </fig>
         <fig id="F5">
            <title>
               <p>Figure 5</p>
            </title>
            <caption>
               <p>Comparison of baseline distortion detection by penalized smoothing methods and XWIN-NMR 3.5</p>
            </caption>
            <text>
               <p><b>Comparison of baseline distortion detection by penalized smoothing methods and XWIN-NMR 3.5</b>. This is an expanded region of the spectrum in Figure 4 before baseline correction. Baseline curves are detected by penalized parametric method (red) and XWIN 3.5 automatic baseline correction function (black).</p>
            </text>
            <graphic file="1471-2105-9-324-5"/>
         </fig>
         <p>In Figure <figr fid="F5">5</figr> we show a region from 6.5 ppm to 9.5 ppm of original spectrum to illustrate the difference of baselines detected by penalized smoothing methods (in red) and XWINNMR 3.5 (in black). The penalized smoothing baseline is closer to the center of noise regions and therefore detects the offsets of signals more accurately. This leads to a more accurate identification and quantification of signals in the corrected spectrum, especially for the small peaks at 7.08 ppm, 8.35 ppm and 8.94 ppm in Figure <figr fid="F5">5</figr>. For all 65 testing spectra, the penalized smoothing method shows significant improvement in presenting low intensity peaks in 47 spectra, corresponding to a percentage of 69%. To achieve comparable baseline correction quality in these spectra, XWINNMR 3.5 needs manually marking of the noise points or regions for baseline interpolation, which is time consuming for batch processing and is dependent on the experience of the software users. The penalized smoothing method is fully automatic and user independent.</p>
      </sec>
      <sec>
         <st>
            <p>Conclusion</p>
         </st>
         <p>We propose an alternative baseline correction method based on a penalized smoothing model. This method constructs the baseline by maximizing a score function (eq 2) that evaluates how well the baseline fits the spectrum. The model parameters A and B in score function are determined by the noise variance of the spectrum, <it>&#963;</it><sup>2</sup>, which can be automatically estimated by LOWESS regression. This method does not require explicit identification of noise data points for baseline interpolation, or assumption of fixed forms of baseline curves, i.e. polynomials etc. Instead, it uses a general smoothing term to fit flexible forms of baseline distortion.</p>
         <p>We applied this method to 1D NMR spectra with baseline distortion, and demonstrate it is effective for both regular 1D NMR spectra and metabolomics spectra with over-crowded peaks. The numerical implementation is fast and stable on common personal computers. This method provides an alternative to the existing noise detection and interpolation approaches in baseline correction, especially for spectra with many crowded peaks, such as in NMR metabolomics profiling, where noise points are more difficult to identify accurately. Compared with the widely used XWINNMR software, the method provided more accurate baseline correction on 47 out of 65 of our testing metabolomics spectra. With a few modifications, this penalized smoothing baseline correction approach is also applicable to 2D NMR spectra. The numerical implementation and optimization for 2D baseline correction could be one topic in further study.</p>
      </sec>
      <sec>
         <st>
            <p>Appendix</p>
         </st>
         <p>We solve <inline-formula><m:math name="1471-2105-9-324-i31" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:mfrac><m:mrow><m:mo>&#8706;</m:mo><m:mi>F</m:mi></m:mrow><m:mrow><m:mo>&#8706;</m:mo><m:mstyle mathvariant="bold" mathsize="normal"><m:mi>b</m:mi></m:mstyle></m:mrow></m:mfrac><m:mo>=</m:mo><m:mn>0</m:mn></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaqcfa4aaSaaaeaacqGHciITcqWGgbGraeaacqGHciITcqWHIbGyaaGccqGH9aqpcqaIWaamaaa@33A3@</m:annotation></m:semantics></m:math></inline-formula> to find the maximum of score function <it>F</it>(<b>b</b>), which leads to linear system of order <it>n</it>. (<it>n </it>is the number of data points in <b>b</b>).</p>
         <p>
            <display-formula><b>Db </b>= <b>m</b></display-formula>
         </p>
         <p><b>D </b>is the Hessian matrix of <it>F</it>(<b>b</b>), i.e.<inline-formula><m:math name="1471-2105-9-324-i32" xmlns:m="http://www.w3.org/1998/Math/MathML"><m:semantics><m:mrow><m:msub><m:mi>D</m:mi><m:mrow><m:mi>i</m:mi><m:mi>j</m:mi></m:mrow></m:msub><m:mo>=</m:mo><m:mfrac><m:mrow><m:msup><m:mo>&#8706;</m:mo><m:mn>2</m:mn></m:msup><m:mi>F</m:mi></m:mrow><m:mrow><m:mo>&#8706;</m:mo><m:msub><m:mi>b</m:mi><m:mi>i</m:mi></m:msub><m:mo>&#8706;</m:mo><m:msub><m:mi>b</m:mi><m:mi>j</m:mi></m:msub></m:mrow></m:mfrac></m:mrow><m:annotation encoding="MathType-MTEF">
 MathType@MTEF@5@5@+=feaagaart1ev2aaatCvAUfKttLearuWrP9MDH5MBPbIqV92AaeXatLxBI9gBaebbnrfifHhDYfgasaacPC6xNi=xH8viVGI8Gi=hEeeu0xXdbba9frFj0xb9qqpG0dXdb9aspeI8k8fiI+fsY=rqGqVepae9pg0db9vqaiVgFr0xfr=xfr=xc9adbaqaaeGaciGaaiaabeqaaeqabiWaaaGcbaGaemiraq0aaSbaaSqaaiabdMgaPjabdQgaQbqabaGccqGH9aqpjuaGdaWcaaqaaiabgkGi2oaaCaaabeqaaiabikdaYaaacqWGgbGraeaacqGHciITcqWGIbGydaWgaaqaaiabdMgaPbqabaGaeyOaIyRaemOyai2aaSbaaeaacqWGQbGAaeqaaaaaaaa@3D67@</m:annotation></m:semantics></m:math></inline-formula>, and <b>m </b>is a vector. In detail, the entries of <b>D </b>and <b>m </b>have the following entries:</p>
         <p>
            <display-formula>
               <m:math name="1471-2105-9-324-i33" xmlns:m="http://www.w3.org/1998/Math/MathML">
                  <m:semantics>
                     <m:mtable columnalign="left">
                        <m:mtr>
                           <m:mtd>
                              <m:mtable>
                                 <m:mtr>
                                    <m:mtd>
                                       <m:mrow>
                                          <m:msub>
                                             <m:mi>m</m:mi>
                                             <m:mi>i</m:mi>
                                          </m:msub>
                                          <m:mo>=</m:mo>
                                          <m:mrow>
                                             <m:mo>{</m:mo>
                                             <m:mrow>
                                                <m:mtable>
                                                   <m:mtr>
                                                      <m:mtd>
                                                         <m:mrow>
                                                            <m:mn>2</m:mn>
                                                            <m:mi>B</m:mi>
                                                            <m:msub>
                                                               <m:mi>y</m:mi>
                                                               <m:mi>i</m:mi>
                                                            </m:msub>
                                                            <m:mo>&#8722;</m:mo>
                                                            <m:mn>1</m:mn>
                                                            <m:mo>,</m:mo>
                                                         </m:mrow>
                                                      </m:mtd>
                                                   </m:mtr>
                                                   <m:mtr>
                                                      <m:mtd>
                                                         <m:mrow>
                                                            <m:mo>&#8722;</m:mo>
                                                            <m:mn>1</m:mn>
                                                         </m:mrow>
                                                      </m:mtd>
                                                   </m:mtr>
                                                </m:mtable>
                                             </m:mrow>
                                          </m:mrow>
                                       </m:mrow>
                                    </m:mtd>
                                    <m:mtd>
                                       <m:mrow>
                                          <m:mtable>
                                             <m:mtr>
                                                <m:mtd>
                                                   <m:mrow>
                                                      <m:msub>
                                                         <m:mi>b</m:mi>
                                                         <m:mi>i</m:mi>
                                                      </m:msub>
                                                      <m:mo>></m:mo>
                                                      <m:msub>
                                                         <m:mi>y</m:mi>
                                                         <m:mi>i</m:mi>
                                                      </m:msub>
                                                   </m:mrow>
                                                </m:mtd>
                                             </m:mtr>
                                             <m:mtr>
                                                <m:mtd>
                                                   <m:mrow>
                                                      <m:msub>
                                                         <m:mi>b</m:mi>
                                                         <m:mi>i</m:mi>
                                                      </m:msub>
                                                      <m:mo>&#8804;</m:mo>
                                                      <m:msub>
                                                         <m:mi>y</m:mi>
                                                         <m:mi>i</m:mi>
                                                      </m:msub>
                                                   </m:mrow>
                                                </m:mtd>
                                             </m:mtr>
                                          </m:mtable>
                                          <m:mo>;</m:mo>
                                       </m:mrow>
                                    </m:mtd>
                                 </m:mtr>
                              </m:mtable>
                           </m:mtd>
                        </m:mtr>
                        <m:mtr>
                           <m:mtd>
                              <m:mtable>
                                 <m:mtr>
                                    <m:mtd>
                                       <m:mrow>
                                          <m:msub>
                                             <m:mi>D</m:mi>
                                             <m:mrow>
                                                <m:mi>i</m:mi>
                                                <m:mi>i</m:mi>
                                             </m:mrow>
                                          </m:msub>
                                          <m:mo>=</m:mo>
                                          <m:mfrac>
                                             <m:mrow>
                                                <m:msup>
                                                   <m:mo>&#8706;</m:mo>
                                                   <m:mn>2</m:mn>
                                                </m:msup>
                                                <m:mi>F</m:mi>
                                             </m:mrow>
                                             <m:mrow>
                                                <m:mo>&#8706;</m:mo>
                                                <m:msubsup>
                                                   <m:mi>b</m:mi>
                                                   <m:mi>i</m:mi>
                                                   <m:mn>2</m:mn>
                                                </m:msubsup>
                                             </m:mrow>
                                          </m:mfra