<?xml version='1.0'?>
<!DOCTYPE art SYSTEM 'http://www.biomedcentral.com/xml/article.dtd'>
<art>
   <ui>1756-0500-5-163</ui>
   <ji>1756-0500</ji>
   <fm>
      <dochead>Technical Note</dochead>
      <bibl>
         <title>
            <p>WAVOS: a MATLAB toolkit for wavelet analysis and visualization of oscillatory systems</p>
         </title>
         <aug>
            <au id="A1" ca="yes"><snm>Harang</snm><fnm>Richard</fnm><insr iid="I1"/><email>rich.harang@gmail.com</email></au>
            <au id="A2"><snm>Bonnet</snm><fnm>Guillaume</fnm><insr iid="I2"/><email>gbonnet@google.com</email></au>
            <au id="A3"><snm>Petzold</snm><mi>R</mi><fnm>Linda</fnm><insr iid="I1"/><email>petzold@cs.ucsb.edu</email></au>
         </aug>
         <insg>
            <ins id="I1"><p>Department of Computer Science, University of California, Santa Barbara, CA, USA</p></ins>
            <ins id="I2"><p>Department of Statistics and Applied Probability, University of California, Santa Barbara, CA, and Google Inc, Mountain View, CA, USA</p></ins>
         </insg>
         <source>BMC Research Notes</source>
         <issn>1756-0500</issn>
         <pubdate>2012</pubdate>
         <volume>5</volume>
         <issue>1</issue>
         <fpage>163</fpage>
         <url>http://www.biomedcentral.com/1756-0500/5/163</url>
         <xrefbib><pubidlist><pubid idtype="doi">10.1186/1756-0500-5-163</pubid><pubid idtype="pmpid">22448897</pubid></pubidlist></xrefbib>
      </bibl>
      <history><rec><date><day>12</day><month>9</month><year>2011</year></date></rec><acc><date><day>26</day><month>3</month><year>2012</year></date></acc><pub><date><day>26</day><month>3</month><year>2012</year></date></pub></history>
      <cpyrt><year>2012</year><collab>Harang et al; 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>Wavelets have proven to be a powerful technique for the analysis of periodic data, such as those that arise in the analysis of circadian oscillators. While many implementations of both continuous and discrete wavelet transforms are available, we are aware of no software that has been designed with the nontechnical end-user in mind. By developing a toolkit that makes these analyses accessible to end users without significant programming experience, we hope to promote the more widespread use of wavelet analysis.</p>
            </sec>
            <sec>
               <st>
                  <p>Findings</p>
               </st>
               <p>We have developed the WAVOS toolkit for wavelet analysis and visualization of oscillatory systems. WAVOS features both the continuous (Morlet) and discrete (Daubechies) wavelet transforms, with a simple, user-friendly graphical user interface within MATLAB. The interface allows for data to be imported from a number of standard file formats, visualized, processed and analyzed, and exported without use of the command line. Our work has been motivated by the challenges of circadian data, thus default settings appropriate to the analysis of such data have been pre-selected in order to minimize the need for fine-tuning. The toolkit is flexible enough to deal with a wide range of oscillatory signals, however, and may be used in more general contexts.</p>
            </sec>
            <sec>
               <st>
                  <p>Conclusions</p>
               </st>
               <p>We have presented WAVOS: a comprehensive wavelet-based MATLAB toolkit that allows for easy visualization, exploration, and analysis of oscillatory data. WAVOS includes both the Morlet continuous wavelet transform and the Daubechies discrete wavelet transform. We have illustrated the use of WAVOS, and demonstrated its utility for the analysis of circadian data on both bioluminesence and wheel-running data. WAVOS is freely available at <url>http://sourceforge.net/projects/wavos/files/</url></p>
            </sec>
         </sec>
      </abs>
   </fm>
   <bdy>
      <sec>
         <st>
            <p>Background</p>
         </st>
         <p>Many real-world sources of data display suggestively periodic behavior, but with time-varying period, amplitude, or mean. This variation can lead to inaccurate results when the data is analyzed with standard Fourier techniques, as Fourier analysis assumes stationarity of the signal and its basis functions are unbounded in time <abbrgrp><abbr bid="B1">1</abbr></abbrgrp>. Wavelets, in contrast, are localized in both time and frequency. This in turn localizes the analysis, allowing the changes insignal properties to be tracked over time <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>.</p>
         <p>Wavelet analysis has proven to be invaluable in many problem domains, including ecological cycles <abbrgrp><abbr bid="B3">3</abbr></abbrgrp>, sunspot cycles <abbrgrp><abbr bid="B4">4</abbr></abbrgrp>, circadian cycles <abbrgrp><abbr bid="B5">5</abbr><abbr bid="B6">6</abbr></abbrgrp>, nfradian cycles associated with gene transcripts <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>, blood-flow dynamics <abbrgrp><abbr bid="B7">7</abbr></abbrgrp>, and ECG signals <abbrgrp><abbr bid="B8">8</abbr><abbr bid="B9">9</abbr><abbr bid="B10">10</abbr></abbrgrp>. Our work todate has focused on circadian data. This data typically displays many of the features that render a signal difficult to analyze via Fourier techniques, including changes in period length, sharp transients, and phase shifts <abbrgrp><abbr bid="B6">6</abbr><abbr bid="B11">11</abbr></abbrgrp>, as well as experimental artifacts such as loss of amplitude, shifting means <abbrgrp><abbr bid="B12">12</abbr></abbrgrp>, and "shot noise" when bioluminescence experiments are considered <abbrgrp><abbr bid="B13">13</abbr></abbrgrp>. These features may require significant pre-processing of the data before analysis <abbrgrp><abbr bid="B14">14</abbr></abbrgrp>. Recognizing the potential of wavelet methods for analysis of circadian data, Price et al. <abbrgrp><abbr bid="B5">5</abbr></abbrgrp> developed the WAVECLOCK software, implementing the Morlet CWT in the R statistical programming environment. The WAVECLOCK software has enabled and inspired several investigations <abbrgrp><abbr bid="B15">15</abbr><abbr bid="B16">16</abbr></abbrgrp>, but requires familiarity with the R statistical programming language and command-line interface. Other wavelet implementations (e.g. WaveLab <abbrgrp><abbr bid="B17">17</abbr></abbrgrp> or the MATLAB Wavelet Toolkit) exist, but are either general-purpose packages that assume significant familiarity with wavelets, proprietary software, or both.</p>
         <p>The wavelet transform, in both continuous (Morlet) and discrete (Daubechies) versions, offers a set of tools for the analysis of nonstationary oscillators that can avoid many of the issues associated with techniques that assume stationarity. The Morlet continuous wavelet transform can nonparametricallydenoise, detrend, and analyze the local frequency content of a signal in a single operation <abbrgrp><abbr bid="B1">1</abbr><abbr bid="B15">15</abbr></abbrgrp>. Application of the CWT enables such analyses as estimating the evolution of the period and phase of a signal across time, locating peaks and troughs even in the presence of large amounts of noise, tracking the evolution of the amplitude across time, and identifying multiple simultaneous oscillators. The discrete wavelet transform (DWT) enables multi-scale analysis of a signal using a sequence of compactly supported filters that decompose the signal into a set of component frequency bands <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>. While it yields less precise frequency estimates than the CWT, it enables direct statistical significance testing of different frequency bands <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>, and has better time localization properties than the CWT, allowing for more efficient removal of transients that are strictly time-limited. It also has reconstruction properties that are capable of preserving the mean of the signal <abbrgrp><abbr bid="B18">18</abbr></abbrgrp>. Thus the DWT can be used as a pre-processing step for other, non-wavelet analyses. Readers interested in learning more about the continuous wavelet transform are referred to <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>; for further information on discrete wavelets, see <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>.</p>
         <p>We have designed WAVOS to be a comprehensive, user-friendly toolbox for wavelet analysis and visualization of oscillatory signals that makes beginning-to-end wavelet processing and analysis accessible to users with a minimum of expertise in mathematics or computing. We present several analyses via a graphical user interface as illustrated in Figures <figr fid="F1">1</figr>, <figr fid="F2">2</figr>, <figr fid="F3">3</figr>. In the following, we discuss the capabilities and use of WAVOS and some results for circadian systems that we have recently obtained using this software. While the focus of this article is on circadian data, and the preset options are targeted towards such analysis (as described in the sequel), the WAVOS GUI and included functions may be readily used to analyze data of any periodicity by adjusting the minimum and maximum wavelength parameters.</p>
         <fig id="F1"><title><p>Figure 1</p></title><caption><p>CWTgui main interface</p></caption><text>
   <p><b>CWTgui main interface</b>. The main user interface of CWTgui, containing controls to load the data, select analysis parameters, and select the output type and location. CWTgui performs batch analysis of a dataset using the Morlet CWT and returns the results as either a MATLAB environment variable, or saved to a file.</p>
</text><graphic file="1756-0500-5-163-1" hint_layout="single"/></fig>
         <fig id="F2"><title><p>Figure 2</p></title><caption><p>CWTvis main interface</p></caption><text>
   <p><b>CWTvis main interface</b>. The main user interface of CWTvis, containing controls to load the data, select analysis parameters, and explore various plotting and output options. CWTvis allows the user to visualize the output of wavelet operations on individual data traces before beginning a batch analysis using CWTgui.</p>
</text><graphic file="1756-0500-5-163-2" hint_layout="single"/></fig>
         <fig id="F3"><title><p>Figure 3</p></title><caption><p>DWTgui main interface</p></caption><text>
   <p><b>DWTgui main interface</b>. The main user interface of DWTgui.</p>
</text><graphic file="1756-0500-5-163-3" hint_layout="single"/></fig>
         <sec>
            <st>
               <p>Implementation</p>
            </st>
            <p>WAVOS is implemented in MATLAB to allow for easy modification. The convolutions required for both the discrete and continuous wavelet transforms are performed in the Fourier domain. Several options are provided for managing the implicit periodization and corresponding boundary effects that this produces in the CWT, including zero-padding, edge-reweighting, and truncation of affected CWT coefficients (as in <abbrgrp><abbr bid="B5">5</abbr></abbrgrp>).</p>
            <p>For the discrete wavelet transform, the standard decimated transform may cause localization issues for particularly sharp transients, depending upon the place at which the signal is split during decimation. The transient may be completely contained in a particular coefficient of the transform, or it may be split between two adjacent coefficients. This has the undesirable effect of potentially allowing two different rotations of identical data to produce two different sets of DWT coefficients <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>. To avoid this issue, we use a redundant version of the DWT known in various contexts as the "undecimated", "shift-invariant", or "maximum-overlap" DWT <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>. This transform is invariant to rotation of the data. Statistical significance testing of the levels of the DWT decomposition is performed using a Chi-squared test, under the assumption of additive Gaussian noise as described in <abbrgrp><abbr bid="B19">19</abbr></abbrgrp>.</p>
            <p>The default parameters in the GUI are geared towards analysis of circadian signals. In particular, the minimum and maximum periods default to 6 and 48, respectively, with a default sampling rate of 1. These presets assume hourly samples of data with periods of interest in the above range. Both the sampling rate and the periods of interest may be adjusted independently of each other. The tool will not attempt to analyse periodicities that exceed the minimum or maximum possible due to numberof samples and sampling rate, and will emit a warning message with the actual bounds used if such an analysis is attempted. For DWT denoising, a default p-value of 0.05 is used, as this is a generally accepted standard for statistical significance. Users may also select different levels of the decomposition by hand, in order to focus on periodicities of the data that interest them.</p>
            <p>Due to the native MATLAB implementation, long time series (on the order of 10,000 or more observations) may result in analyses requiring several minutes per time series to complete. This may be mitigated by reducing the range of periods to be analyzed in the CWT, or down-sampling the series to a shorter one with a smaller number of samples per unit time. Data sets containing a large number of time series with a large number of samples may exhaust MATLAB's working memory, causing an error; this will depend strongly on the computer being used. Due to MATLAB's representation of data in matrix form, all time series in a single data set to be processed as a batch must contain an equal number of observations. Time series with differing numbers of observations may be processed and analyzed separately.</p>
         </sec>
         <sec>
            <st>
               <p>Usage</p>
            </st>
            <p>The CWT and DWT have different features that incline them toward different uses. The Morlet CWT is most useful for investigating local properties of a signal: its detailed decomposition of time and frequency allows for very close tracking of several statistics of interest, however it cannot efficiently reconstruct a signal from individual components. The DWT fills a complementary role; while its time-frequency decomposition is very coarse, it is capable of reconstruction of a signal and also permits statistical testing. This allows the DWT to be used for many familiar signal-processing tasks, such as denoising and detrending, that are difficult to accomplish with the CWT.</p>
            <p>The Morlet CWT may be viewed as a modification of the windowed Fourier transform (WFT) that scales the size of the window to a constant number of wavelengths for any analysis frequency <abbrgrp><abbr bid="B2">2</abbr></abbrgrp>, resulting in good frequency detection across a wider range of periods than many other methods. For example, Figure <figr fid="F4">4</figr> displays a synthetic signal with a period that is shifting from 24 to 18 hours in length. Figure <figr fid="F5">5</figr> shows the CWT heatmap of that signal with Gaussian edge correction applied and the edge-affected coefficients both included and excluded (all options that can be set within the WAVOS CWT module, see Figures <figr fid="F1">1</figr> and <figr fid="F2">2</figr>). Note that the ridge of the heatmap (highlighted in green) tracks the changing period of oscillation. The changing period appears in more detail in Figure <figr fid="F6">6</figr>, where the instantaneous period is estimated using several different options within WAVOS. The Fourier-transform-like nature of the Morlet CWT allows for estimation of phase but localizes the signal, thus improving the accuracy of locating associated features such as the signal peak and trough. Figure <figr fid="F7">7</figr> shows the peak and trough points of the signal, as well as the instantaneous amplitude measurements, obtained from the phase along the ridge identified in Figure <figr fid="F5">5</figr>.</p>
            <fig id="F4"><title><p>Figure 4</p></title><caption><p>Synthetic signal A</p></caption><text>
   <p><b>Synthetic signal A</b>. Synthetic signal A; decreasing period from 24 to 18 hours, stable baseline, decaying amplitude. Shifting periods are not effectively detectable by the Fourier transform, and will lead to poor estimates of the period. In contrast, analysis by the CWTyields local estimates of the period.</p>
</text><graphic file="1756-0500-5-163-4" hint_layout="single"/></fig>
            <fig id="F5"><title><p>Figure 5</p></title><caption><p>CWTheatmap of synthetic signal A</p></caption><text>
   <p><b>CWTheatmap of synthetic signal A</b>. The first step of analysis of synthetic signal A (Figure 4) with the CWT: generating the CWT heatmap. The upper panel shows the complete CWT heatmap, the lower panel shows the CWT heatmap with all edge-influenced coefficients removed. The ridge is overlaid in green.</p>
</text><graphic file="1756-0500-5-163-5" hint_layout="single"/></fig>
            <fig id="F6"><title><p>Figure 6</p></title><caption><p>Period estimates for synthetic signal A</p></caption><text>
   <p><b>Period estimates for synthetic signal A</b>. Estimated period of synthetic signal A (Figure 4), showing three different edge correction options. These estimates are derived from the ridge of the heatmap as shown in Figure 5. The true period is overlaid in green. This data may be plotted via CWTvis and exported to either an external file or a MATLAB variable with CWTgui.</p>
</text><graphic file="1756-0500-5-163-6" hint_layout="single"/></fig>
            <fig id="F7"><title><p>Figure 7</p></title><caption><p>Feature extraction for synthetic signal A</p></caption><text>
   <p><b>Feature extraction for synthetic signal A</b>. Estimated peak, troughs, and instantaneous amplitude of synthetic signal A (Figure 4) estimated via the CWT; this plot may be visualized in CWTvis and exported to either an external file or a MATLAB variable with CWTgui.</p>
</text><graphic file="1756-0500-5-163-7" hint_layout="single"/></fig>
            <p>The CWT is excellent for examining local features of a signal. On the other hand, it is not well-suited for signal processing tasks such as decomposing the signal into different wavelengths, discarding or shrinking some coefficients related to particularwavelengths, and reconstructing the signal. Fortunately, the Discrete Wavelet Transform is well-suited for these tasks. Figure <figr fid="F8">8</figr> illustrates the use of the DWT in two different modes provided by WAVOS (see Figure <figr fid="F3">3</figr>) to process the signal and remove either statistically insignificant noise, or portions of the signal outside of a particular range of frequencies. An analysis of a signal with missing data is provided in Figures <figr fid="F9">9</figr>, <figr fid="F10">10</figr>, <figr fid="F11">11</figr>, <figr fid="F12">12</figr>, <figr fid="F13">13</figr>; these figures illustrate the robustness of the CWT and DWT to significant amounts of missing data. All figures were generated using WAVOS.</p>
            <fig id="F8"><title><p>Figure 8</p></title><caption><p>Denoising/detrending of synthetic signal A</p></caption><text>
   <p><b>Denoising/detrending of synthetic signal A</b>. Denoising/detrending of the synthetic signal A (Figure 4) using the DWT. The upper panel displays the output of the DWT processing of signal A on the basis of p-value, retaining only those coefficients with a p-value of less than 0.05. The lower panel displays the output of the DWT processing of signal A by hard-thresholding period boundaries. Note that p-value based processing typically retains a non-zero mean as well as moving baselines, since these tend to be statistically significant.</p>
</text><graphic file="1756-0500-5-163-8" hint_layout="single"/></fig>
            <fig id="F9"><title><p>Figure 9</p></title><caption><p>Synthetic signal B</p></caption><text>
   <p><b>Synthetic signal B</b>. Synthetic signal B; stable period with censored middle. The gap causes Fourier methods substantial difficulty.</p>
</text><graphic file="1756-0500-5-163-9" hint_layout="single"/></fig>
            <fig id="F10"><title><p>Figure 10</p></title><caption><p>CWTheatmap of synthetic signal B</p></caption><text>
   <p><b>CWTheatmap of synthetic signal B</b>. The first step of analysis of synthetic signal B (Figure 9) with the CWT: generating the CWT heatmap. The upper panel shows complete CWT heatmap. The lower panel shows the CWT heatmap with all edge-influenced coefficients removed. The ridge is overlaid in green. Note that a small distortion is created by the missing data, however the CWT is capable of interpolating over this range.</p>
</text><graphic file="1756-0500-5-163-10" hint_layout="single"/></fig>
            <fig id="F11"><title><p>Figure 11</p></title><caption><p>Period estimates for synthetic signal B</p></caption><text>
   <p><b>Period estimates for synthetic signal B</b>. Estimated period of synthetic signal B (Figure 9), showing three different edge correction options. These estimates are derived from the ridge of the heatmap as shown in Figure 10. The true period is overlaid in green. This data may be plotted via CWTvis and exported to either an external file or a MATLAB variable with CWTgui. As in Figure 10, the period estimate is successfully interpolated across the missing data, albeit with some distortion.</p>
</text><graphic file="1756-0500-5-163-11" hint_layout="single"/></fig>
            <fig id="F12"><title><p>Figure 12</p></title><caption><p>Feature extraction for synthetic signal B</p></caption><text>
   <p><b>Feature extraction for synthetic signal B</b>. Estimated peak, troughs, and instantaneous amplitude of synthetic signal B (Figure 9) estimated via the CWT; this plot may be visualized in CWTvis and exported to either an external file or a MATLAB variable with CWTgui. The amplitude estimate suffers somewhat from the missing data, however the peak-trough estimates are successfullyinterpolated.</p>
</text><graphic file="1756-0500-5-163-12" hint_layout="single"/></fig>
            <fig id="F13"><title><p>Figure 13</p></title><caption><p>Denoising/detrending of synthetic signal B</p></caption><text>
   <p><b>Denoising/detrending of synthetic signal B</b>. Denoising/detrending of the synthetic signal B (figure 9) using the DWT. The upper panel displays the output of the DWT processing of signal B on the basis of p-value, only retaining those coefficients with a p-value of less than 0.05. The lower panel displays the output of the DWT processing of signal A by hard-thresholding period boundaries. Note that p-value based processing typically retains a non-zero mean as well as moving baselines, since these do tend to be statistically significant. Hard-thresholding to remove baselines can lead to some distortionof missing data as seen in the lower panel.</p>
</text><graphic file="1756-0500-5-163-13" hint_layout="single"/></fig>
            <p>Using the Morlet CWT in WAVOS has enabled us to analyze the distributional properties of the period of rat SCN cells based on PER2::LUC bioluminescence data <abbrgrp><abbr bid="B6">6</abbr></abbrgrp>. Where previous studies had classified cells as either arrhythmic or circadian, our wavelet analysis revealed that individual cells, when removed from network interactions, intermittently express circadian and/or longer infradian periods. Results from our stochastic model suggest that the uncoupled cells may beswitching between two ocsillatory mechanism: the indirect negative feedback of protein complex PER-CRY on the expression of Per and Cry genes, and the negative feedback of CLOCK-BMAL1 on the expression of the Bmal1 gene.</p>
            <p>As another example, we have also used WAVOS to analyze wheel-running data for wild-type mice in a 12:12 light:dark cycle (unpublished data, courtesy of the Herzog lab). The data contains wheel revolutions per minute sampled every 15 minutes for 10 days. Figure <figr fid="F14">14</figr> shows the DWT decomposition plot; the main periodicity of roughly 24 hours is clearly visible in the 16-32 hour band, and the noise associated with waking behavior is visible in the highest frequency/shortest period bands at the bottom. The same data is analyzed in Figure <figr fid="F15">15</figr> via CWT; the circadian periodicity of 24 hours is clearly visible, highlighted via the ridge, along with intermittent ultradian rhythms. Edge effects have been removed (black masking) to avoid potential artifacts in the analysis. Finally, Figure <figr fid="F16">16</figr> shows peak and trough phase markers inferred automatically from the CWT (green) overlaid on the original data (blue). As above, edge-effect masking has been performed. Despite the noisy and non-sinusoidal nature of the data, the CWT accurately selects the appropriate phase markers. Figures <figr fid="F14">14</figr>, <figr fid="F15">15</figr>, <figr fid="F16">16</figr> were created using the WAVOS GUI.</p>
            <fig id="F14"><title><p>Figure 14</p></title><caption><p>DWT analysis of wheel-running data</p></caption><text>
   <p><b>DWT analysis of wheel-running data</b>. The DWT decomposition plot of 10 days of wheel-running data from a wild-type mouse in a 12:12 light schedule (generously provided by the Herzog lab).</p>
</text><graphic file="1756-0500-5-163-14" hint_layout="single"/></fig>
            <fig id="F15"><title><p>Figure 15</p></title><caption><p>CWTheatmap of wheel-running data</p></caption><text>
   <p><b>CWTheatmap of wheel-running data</b>. The CWT heatmap of the data of Figure 14. Note that the period is relatively stable over the course of the data and that a single ridge is clearly visible, as well as some brief ultradian periodicities.</p>
</text><graphic file="1756-0500-5-163-15" hint_layout="single"/></fig>
            <fig id="F16"><title><p>Figure 16</p></title><caption><p>Peak and trough markers for wheel-running data inferred by CWT analysis</p></caption><text>
   <p><b>Peak and trough markers for wheel-running data inferred by CWT analysis</b>. The ridge and phase information as displayed in Figure 15 were used to infer peak and trough phase markers for the signal, here overlaid upon the original data. Note that despite the distinctly non-sinusoidal pattern of behavior, the CWT is capableof automatically inferring peak activity and trough activity from the provided data.</p>
</text><graphic file="1756-0500-5-163-16" hint_layout="single"/></fig>
            <p>WAVOS has many features to facilitate analysis with the DWT and CWT, including: both command-line and graphical user interfaces; automatic processing of multiple time series simultaneously; interfaces to multiple standard file formats (including .csv,.xls, .txt, and .mat); automated detection and extraction of multiple statistics of interest (period, phase, amplitude, peak-to-trough measurements, and Rayleigh synchronization measurements); visualization tools for both exploration and analysis; utilities for smoothing, detrending, and statistical significance testing using the DWT; and multiple ridge selection algorithms, including local maximum and simulated annealing (the "crazy climber" method of <abbrgrp><abbr bid="B20">20</abbr></abbrgrp>). Complete details are provided in the WAVOS documentation (at the download link).</p>
            <p>Future development of WAVOS will concentrate on feature extraction from circadian signals, in particular allowing end-users to select user-defined phase markers for further analysis.</p>
         </sec>
      </sec>
      <sec>
         <st>
            <p>Availability and requirements</p>
         </st>
         <p>&#8226; <b>Project name: </b>WAVOS - Wavelet Analysis and Visualization of Oscillatory Signals</p>
         <p>&#8226; <b>Project home page: </b><url>http://sourceforge.net/p/wavos/home/Home/</url></p>
         <p>&#8226; <b>Operating Systems: </b>Cross-platform with MATLAB 2007a or later</p>
         <p>&#8226; <b>Programming language: </b>MATLAB</p>
         <p>&#8226; <b>Other requirements: </b>MATLAB 2007a or later</p>
         <p>&#8226; <b>License: </b>Modified BSD</p>
      </sec>
      <sec>
         <st>
            <p>Competing interests</p>
         </st>
         <p>The authors declare that they have no competing interests.</p>
      </sec>
      <sec>
         <st>
            <p>Authors' contributions</p>
         </st>
         <p>RH wrote the initial version of WAVOS under the supervision of GB. Subsequent versions were prepared under the supervision of LRP. GB wrote the edge reweighting code to address implicit periodization edge effects in the CWT. All authors contributed equally to the authorship of the manuscript. All authors read and approved the final manuscript.</p>
      </sec>
   </bdy>
   <bm>
      <ack>
         <sec>
            <st>
               <p>Acknowledgements</p>
            </st>
            <p>We wish to thank the Herzog lab at Washington University in St. Louis for their generous help, the locomotor data presented above, and feedback in evaluating early versions of WAVOS.</p>
            <p>This work was funded by: ICB grants through the Army Research Office (DAAD 19-03-D-0004) and NIH grants GM078993 and GM096873-01.</p>
         </sec>
      </ack>
      <refgrp><bibl id="B1"><aug><au><snm>Mallat</snm><fnm>S</fnm></au></aug><source>A Wavelet Tour of Signal Processing</source><publisher>Academic Press</publisher><pubdate>1999</pubdate></bibl><bibl id="B2"><title><p>A practical guide to wavelet analysis</p></title><aug><au><snm>Torrence</snm><fnm>C</fnm></au><au><snm>Compo</snm><fnm>GP</fnm></au></aug><source>Bull Am Meteorol Soc</source><pubdate>1998</pubdate><volume>79</volume><fpage>61</fpage><lpage>78</lpage><url>http://citeseer.ist.psu.edu/article/torrence98practical.html</url><xrefbib><pubid idtype="doi">10.1175/1520-0477(1998)079&lt;0061:APGTWA&gt;2.0.CO;2</pubid></xrefbib></bibl><bibl id="B3"><title><p>Wavelet analysis of ecological time series</p></title><aug><au><snm>Cazelles</snm><fnm>B</fnm></au><au><snm>Chavez</snm><fnm>M</fnm></au><au><snm>Berteaux</snm><fnm>D</fnm></au><au><snm>Mnard</snm><fnm>F</fnm></au><au><snm>Vik</snm><fnm>JO</fnm></au><au><snm>Jenouvrier</snm><fnm>S</fnm></au><au><snm>Stenseth</snm><fnm>NC</fnm></au></aug><source>Oecologia</source><pubdate>2008</pubdate><volume>156</volume><issue>2</issue><fpage>287</fpage><lpage>304</lpage><url>http://www.springerlink.com/content/5l644h35w8872272/</url><xrefbib><pubidlist><pubid idtype="doi">10.1007/s00442-008-0993-2</pubid><pubid idtype="pmpid" link="fulltext">18322705</pubid></pubidlist></xrefbib></bibl><bibl id="B4"><title><p>The 1.3-year and 156-day periodicities in sunspot data: wavelet analysis suggests a common origin</p></title><aug><au><snm>Krivova</snm><fnm>NA</fnm></au><au><snm>Solanki</snm><fnm>SK</fnm></au></aug><source>AstronAstrophys</source><pubdate>2002</pubdate><volume>394</volume><issue>2</issue><fpage>6</fpage></bibl><bibl id="B5"><title><p>WAVECLOCK: wavelet analysis of circadian oscillation</p></title><aug><au><snm>Price</snm><fnm>TS</fnm></au><au><snm>Baggs</snm><fnm>JE</fnm></au><au><snm>Curtis</snm><fnm>AM</fnm></au><au><snm>FitzGerald</snm><fnm>GA</fnm></au><au><snm>Hogenesch</snm><fnm>JB</fnm></au></aug><source>Bioinformatics</source><pubdate>2008</pubdate><volume>24</volume><issue>23</issue><fpage>2794</fpage><lpage>2795</lpage><url>http://bioinformatics.oxfordjournals.org.proxy.library.ucsb.edu:2048/content/24/23/2794.abstract</url><xrefbib><pubidlist><pubid idtype="doi">10.1093/bioinformatics/btn521</pubid><pubid idtype="pmcid">2639275</pubid><pubid idtype="pmpid" link="fulltext">18931366</pubid></pubidlist></xrefbib></bibl><bibl id="B6"><title><p>Wavelet Measurement Suggests Cause of Period Instability in Mammalian Circadian Neurons</p></title><aug><au><snm>Meeker</snm><fnm>K</fnm></au><au><snm>Harang</snm><fnm>R</fnm></au><au><snm>Webb</snm><fnm>AB</fnm></au><au><snm>Welsh</snm><fnm>DK</fnm></au><au><snm>FJD</snm><fnm></fnm><suf>III</suf></au><au><snm>Bonnet</snm><fnm>G</fnm></au><au><snm>Herzog</snm><fnm>ED</fnm></au><au><snm>Petzold</snm><fnm>LR</fnm></au></aug><source>Journal of Biological Rhythms</source><pubdate>2011</pubdate><volume>26</volume><issue>4</issue><fpage>353</fpage><lpage>362</lpage><xrefbib><pubidlist><pubid idtype="doi">10.1177/0748730411409863</pubid><pubid idtype="pmpid" link="fulltext">21775294</pubid></pubidlist></xrefbib></bibl><bibl id="B7"><title><p>Wavelet-based analysis of human blood-flow dynamics</p></title><aug><au><snm>Brai</snm><fnm>M</fnm></au><au><snm>Stefanovska</snm><fnm>A</fnm></au></aug><source>Bull Math Biol</source><pubdate>1998</pubdate><volume>60</volume><issue>5</issue><fpage>919</fpage><lpage>935</lpage><url>http://dx.doi.org/10.1006/bulm.1998.0047</url><xrefbib><pubidlist><pubid idtype="doi">10.1006/bulm.1998.0047</pubid><pubid idtype="pmpid">9739620</pubid></pubidlist></xrefbib></bibl><bibl id="B8"><title><p>Wavelet transforms and the ECG: a review</p></title><aug><au><snm>Addison</snm><fnm>PS</fnm></au></aug><source>Physiol Meas</source><pubdate>2005</pubdate><volume>26</volume><issue>5</issue><fpage>R155</fpage><lpage>R199</lpage><url>http://www.iop.org.proxy.library.ucsb.edu:2048/EJ/abstract/0967-3334/26/5/R01</url><xrefbib><pubidlist><pubid idtype="doi">10.1088/0967-3334/26/5/R01</pubid><pubid idtype="pmpid" link="fulltext">16088052</pubid></pubidlist></xrefbib></bibl><bibl id="B9"><title><p>Electrocardiogram compression using modulus maxima of wavelet transform</p></title><aug><au><snm>Kong</snm><fnm>J</fnm></au><au><snm>Chi</snm><fnm>Z</fnm></au><au><snm>Lu</snm><fnm>W</fnm></au></aug><source>Engineering in Medicine and Biology Society, 1998.Proceedings of the 20th Annual International Conference of the IEEE</source><pubdate>1998</pubdate><volume>3</volume><fpage>1527</fpage><lpage>1530</lpage></bibl><bibl id="B10"><title><p>Time-scale analysis of high-resolution signal-averaged surface ECG using wavelet transformation</p></title><aug><au><snm>Morlet</snm><fnm>D</fnm></au><au><snm>Peyrin</snm><fnm>F</fnm></au><au><snm>Desseigne</snm><fnm>P</fnm></au><au><snm>Touboul</snm><fnm>P</fnm></au><au><snm>Rubel</snm><fnm>P</fnm></au></aug><source>Computers in Cardiology 1991, Proceedings</source><pubdate>1991</pubdate><fpage>393</fpage><lpage>396</lpage></bibl><bibl id="B11"><title><p>Temporal precision in the mammalian circadian system: a reliable clock from less reliable neurons</p></title><aug><au><snm>Herzog</snm><fnm>ED</fnm></au><au><snm>Aton</snm><fnm>SJ</fnm></au><au><snm>Numano</snm><fnm>R</fnm></au><au><snm>Sakaki</snm><fnm>Y</fnm></au><au><snm>Tei</snm><fnm>H</fnm></au></aug><source>J Biol Rhythms</source><pubdate>2004</pubdate><volume>19</volume><fpage>35</fpage><lpage>46</lpage><url>http://jbr.sagepub.com/cgi/content/abstract/19/1/35</url><xrefbib><pubidlist><pubid idtype="doi">10.1177/0748730403260776</pubid><pubid idtype="pmpid" link="fulltext">14964702</pubid></pubidlist></xrefbib></bibl><bibl id="B12"><title><p>Clock controls circadian period in isolated suprachiasmatic nucleus neurons</p></title><aug><au><snm>Herzog</snm><fnm>ED</fnm></au><au><snm>Takahashi</snm><fnm>JS</fnm></au><au><snm>Block</snm><fnm>GD</fnm></au></aug><source>Nat Neurosci</source><pubdate>1998</pubdate><volume>1</volume><issue>8</issue><fpage>708</fpage><lpage>713</lpage><url>http://www.ncbi.nlm.nih.gov.proxy.library.ucsb.edu:2048/pubmed/10196587</url><note>[PMID: 10196587]</note><xrefbib><pubidlist><pubid idtype="doi">10.1038/3708</pubid><pubid idtype="pmpid" link="fulltext">10196587</pubid></pubidlist></xrefbib></bibl><bibl id="B13"><title><p>Suprachiasmatic nucleus: cell autonomy and network properties</p></title><aug><au><snm>Welsh</snm><fnm>DK</fnm></au><au><snm>Takahashi</snm><fnm>JS</fnm></au><au><snm>Kay</snm><fnm>SA</fnm></au></aug><source>Annu Rev Physiol</source><pubdate>2010</pubdate><volume>72</volume><fpage>551</fpage><lpage>577</lpage><url>http://www.ncbi.nlm.nih.gov/pubmed/20148688</url><note>[PMID: 20148688]</note><xrefbib><pubidlist><pubid idtype="doi">10.1146/annurev-physiol-021909-135919</pubid><pubid idtype="pmpid" link="fulltext">20148688</pubid></pubidlist></xrefbib></bibl><bibl id="B14"><title><p>Signal analysis of behavioral and molecular cycles</p></title><aug><au><snm>Levine</snm><fnm>J</fnm></au><au><snm>Funes</snm><fnm>P</fnm></au><au><snm>Dowse</snm><fnm>H</fnm></au><au><snm>Hall</snm><fnm>J</fnm></au></aug><source>BMC Neurosci</source><pubdate>2002</pubdate><volume>3</volume><fpage>1</fpage><url>http://www.biomedcentral.com/1471-2202/3/1</url><xrefbib><pubidlist><pubid idtype="doi">10.1186/1471-2202-3-1</pubid><pubid idtype="pmcid">65508</pubid><pubid idtype="pmpid" link="fulltext">11825337</pubid></pubidlist></xrefbib></bibl><bibl id="B15"><title><p>Network features of the mammalian circadian clock</p></title><aug><au><snm>Baggs</snm><fnm>JE</fnm></au><au><snm>Price</snm><fnm>TS</fnm></au><au><snm>DiTacchio</snm><fnm>L</fnm></au><au><snm>Panda</snm><fnm>S</fnm></au><au><snm>FitzGerald</snm><fnm>GA</fnm></au><au><snm>Hogenesch</snm><fnm>JB</fnm></au></aug><source>PLoS Biol</source><pubdate>2009</pubdate><volume>7</volume><issue>3</issue><fpage>e1000052</fpage><note>doi:<url>http://dx.doi.org/10.1371/journal.pbio.1000052</url></note></bibl><bibl id="B16"><title><p>Casein Kinase 1 Delta Regulates Period Length of the Mouse Suprachiasmatic Circadian Clock <it>In Vitro </it></p></title><aug><au><snm>Etchegaray</snm><fnm>J</fnm></au><au><snm>Yu</snm><fnm>EA</fnm></au><au><snm>Indic</snm><fnm>P</fnm></au><au><snm>Dallmann</snm><fnm>R</fnm></au><au><snm>Weaver</snm><fnm>DR</fnm></au></aug><source>PLoS ONE</source><pubdate>2010</pubdate><volume>5</volume><issue>4</issue><fpage>e10303</fpage><url>http://dx.doi.org/10.1371%2Fjournal.pone.0010303</url><xrefbib><pubidlist><pubid idtype="doi">10.1371/journal.pone.0010303</pubid><pubid idtype="pmcid">2858662</pubid><pubid idtype="pmpid" link="fulltext">20421981</pubid></pubidlist></xrefbib></bibl><bibl id="B17"><title><p>Wavelab and Reproducible Research</p></title><aug><au><snm>Buckheit</snm><fnm>J</fnm></au><au><snm>Donoho</snm><fnm>D</fnm></au></aug><source>Wavelets and Statistics</source><publisher>Springer-Verlag, New York, NY</publisher><editor>Antoniadis A</editor><pubdate>1995</pubdate><fpage>55</fpage><lpage>81</lpage></bibl><bibl id="B18"><aug><au><snm>Daubechies</snm><fnm>I</fnm></au></aug><source>Ten lectures on wavelets</source><publisher>Society for Industrial and Applied Mathematics</publisher><pubdate>1992</pubdate><url>http://portal.acm.org/citation.cfm?id=SERIES9271.130655</url></bibl><bibl id="B19"><aug><au><snm>Percival</snm><fnm>DB</fnm></au><au><snm>Walden</snm><fnm>AT</fnm></au><au><snm>Gill</snm><fnm>R</fnm></au></aug><source>Wavelet Methods for Time Series Analysis</source><publisher>New York: Cambridge University Press</publisher><pubdate>2000</pubdate></bibl><bibl id="B20"><title><p>Multiridge detection and time-frequency reconstruction</p></title><aug><au><snm>Carmona</snm><fnm>R</fnm></au><au><snm>Hwang</snm><fnm>W</fnm></au><au><snm>Torresani</snm><fnm>B</fnm></au></aug><source>Signal Processing, IEEE Transactions on [see also Acoustics, Speech, and Signal Processing, IEEE Transactions on]</source><pubdate>1999</pubdate><volume>47</volume><issue>2</issue><fpage>480</fpage><lpage>492</lpage></bibl></refgrp>
   </bm>
</art>