<p>This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</p> <title>Background</title> <p>Chromosome location is often used as a scaffold to organize genomic information in both the living cell and molecular biological research. Thus, ever-increasing amounts of data about genomic features are stored in public databases and can be readily visualized by genome browsers. To perform <italic>in silico </italic>experimentation conveniently with this genomics data, biologists need tools to process and compare datasets routinely and explore the obtained results interactively. The complexity of such experimentation requires these tools to be based on an e-Science approach, hence generic, modular, and reusable. A virtual laboratory environment with workflows, workflow management systems, and Grid computation are therefore essential.</p> <title>Findings</title> <p>Here we apply an e-Science approach to develop SigWin-detector, a workflow-based tool that can detect significantly enriched windows of (genomic) features in a (DNA) sequence in a fast and reproducible way. For proof-of-principle, we utilize a biological use case to detect regions of increased and decreased gene expression (RIDGEs and anti-RIDGEs) in human transcriptome maps. We improved the original method for RIDGE detection by replacing the costly step of estimation by random sampling with a faster analytical formula for computing the distribution of the null hypothesis being tested and by developing a new algorithm for computing moving medians. SigWin-detector was developed using the WS-VLAM workflow management system and consists of several reusable modules that are linked together in a basic workflow. The configuration of this basic workflow can be adapted to satisfy the requirements of the specific <italic>in silico </italic>experiment.</p> <title>Conclusion</title> <p>As we show with the results from analyses in the biological use case on RIDGEs, SigWin-detector is an efficient and reusable Grid-based tool for discovering windows enriched for features of a particular type in any sequence of values. Thus, SigWin-detector provides the proof-of-principle for the modular e-Science based concept of integrative bioinformatics experimentation.</p>
<title>Findings</title> <p>Genomic information is encoded in DNA and as such retained in a fairly steady configuration. In contrast to RNA, proteins, and metabolites, DNA is organized by a limited number of large chromosomes with relatively stable DNA sequences. Therefore, position in the DNA sequence, i.e., chromosome location, provides a convenient and essential scaffold for both the living cell and molecular biological research. In cells, for example, chromosomal organization is important for gene-transcription processes. Expression-profiling studies showed that gene expression is not only controlled at the level of individual genes, but also via autonomous regulation of chromosomal domains [##REF##12144710##1##, ####REF##12478293##2##, ##REF##12214599##3##, ##REF##12915492##4##, ##REF##16791208##5####16791208##5##]. This suggests the existence of higher-order transcriptional regulatory mechanisms related to DNA organization or structures. The use of chromosomal organization in the life sciences is exemplified by the popularity of genome browsers that use chromosome location to map many genomic features, such as genes and their products, regulatory elements, gene expression, and epigenetic markers. The search for connections between genomic features is important in unraveling cellular mechanisms.</p> <p>The pace at which omics experiments continuously keep producing large amounts of data about genomic features for an increasing number of sequenced genomes, creates a need for new high-throughput methods for identification of correlations between DNA related features [##REF##17571346##6##, ####REF##17072317##7##, ##REF##15920525##8##, ##REF##10471496##9##, ##REF##11904358##10##, ##REF##15388519##11##, ##REF##16859498##12####16859498##12##]. Therefore, biologists would benefit from tools that could quickly identify enriched regions of genomic features. This would allow extensive, yet convenient <italic>in silico </italic>experimentation based on routinely processing and comparing multiple datasets. However, this requires these tools to be implemented in such a way that they deal with the many steps involved in this kind of experimentation. These include: acquiring the data from local or remote data repositories, converting it to the desired format, using it with the actual application that searches for the desired enrichment (possibly using Grid computation), visualizing the results, and comparing and/or integrating multiple datasets. Therefore, such a tool should be developed applying an e-Science approach [##REF##16580600##13##, ####REF##18628864##14##, ##UREF##0##15##, ##UREF##1##16##, ##REF##17881406##17####17881406##17##]: it should be generic with respect to which data it can analyze, easy to adapt, and its parts should be reusable.</p> <p>In an e-Science approach, a computational environment that provides transparent access to distributed data, adequate computational resources, as well as the necessary interfacing tools, is called a <italic>virtual laboratory </italic>(<italic>VL</italic>). <italic>Workflow management systems </italic>(<italic>WMSs</italic>, [##UREF##2##18##, ####REF##16845108##19##, ##UREF##3##20##, ##UREF##4##21####4##21##]) are an example of interfacing tooling that takes care of scheduling, keeps track of task executions, and provides the management framework necessary to develop applications inside a VL. WMSs can be used to design scientific workflows that automate <italic>in silico </italic>experimentation by providing a pipeline for streaming large quantities of data through various algorithms, applications and services.</p> <p>This paper describes an e-Science based data integration and analysis tool: SigWin-detector. This application can detect clusters with increased (or decreased) density of a genomic feature in a DNA-related sequence in a fast and reproducible way. In the context of the development of a VL, our tool was implemented as a workflow running under WS-VLAM[##UREF##3##20##,##UREF##4##21##], a Grid-enabled WMS. A biological use case shows its relevance for biological research. SigWin-detector is based on a method previously used by Versteeg and coworkers [##REF##12915492##4##] to detect <italic>regions of increased and decreased gene expression </italic>(<italic>RIDGEs and anti-RIDGES</italic>) in human transcriptome maps (HTM). We improved the original method by i) deriving an analytical formula for computing the new hypothesis probability distribution, which replaces the costly step of estimation by random sampling and ii) developing a new algorithm for computing moving medians. While these improvements radically increase the intrinsic efficiency of the method, implementing SigWin-detector using a generic e-Science approach with access to Grid resources broadens its applicability and makes it amenable to a wide spectrum of experiments on genomic features or in fact on any sequence of values.</p> <title>Significant windows and the mmFDR procedure</title> <p>Versteeg et al. [##REF##12915492##4##] identified clusters where the median expression level of the genes involved is significantly higher than expected (RIDGEs), using a <italic>moving median false discovery rate (mmFDR) </italic>procedure (Figure ##FIG##0##1##). The mmFDR procedure identifies RIDGEs by testing the input gene-expression against the null hypothesis that the position of the genes on the chromosomes does not affect their expression levels. This same procedure can be used to identify <italic>significant windows </italic>(i.e., windows in the input sequence that have a median value that deviates significantly from expected, if assumed that the ordering of the numbers in the input sequence is random) related to any genomic feature mapped to DNA sequences. In an even wider scope, it can also be used to identify significant windows in any sequence of numbers.</p> <title>Avoiding permutations in the mmFDR procedure</title> <p>Computationally, the most expensive step in the original mmFDR procedure is the repeated determination of medians over sliding windows of permutations of the input data to estimate the probability function corresponding to the null hypothesis. Our first improvement to the original method was to derive an exact formula for this distribution (see definitions and derivation in Additional file ##SUPPL##0##1##):</p> <p></p> <p>This exact formula reduces the number of cycles of computing moving medians of an input sequence of approximately 25,000 entries from at least 5,000 to 1, giving SigWin-detector the efficiency it needs to be used routinely and for processing and comparing multiple datasets within minutes to hours, instead of days. This efficiency could not be if <italic>f</italic>(<italic>m</italic>) was estimated by sampling the permutation space <bold>E</bold><sub><italic>π</italic></sub>, and counting the number of times <italic>m </italic>was the median value in any sliding window of size <italic>S</italic>.</p> <title>Speeding up the computation of moving medians</title> <p>Although we removed the need for computing moving medians over permutations of the input sequence, we still need to compute medians of windows sliding over the input sequence. We developed a new algorithm to compute those moving medians efficiently by exploiting the fact that moving medians for many window sizes must be computed simultaneously (Figure ##FIG##1##2##). This new algorithm is also suitable for computing any other order-statistics.</p> <p>Additional Figure A1 (Additional file ##SUPPL##1##2##) shows a graph comparing our moving medians algorithm with the commonly used Hardle and Steiger's algorithm [##UREF##5##22##]. While the execution time of their algorithm increases with window size (for a fixed sequence size), the execution time of our algorithm decreases with window size (Figure A1, upper panel). Because SigWin-detector needs to compute moving medians for many window sizes, our algorithm has a clear advantage over Hardle and Steiger's algorithm. In Figure A1, the break-even point of the cumulative computation is for <italic>S</italic><sub><italic>max </italic></sub>around 400. The efficiency of our method can be further improved by using a mixed algorithm that uses Hardle and Steiger's algorithm for small window sizes and our algorithm for large window sizes, or by employing a divide-and-conquer approach. For example, a two-phase algorithm would start by dividing the input sequence into chunks of size 2<italic>M</italic>, with <italic>M </italic>≥ 2<italic>S</italic><sub><italic>max</italic></sub>, and applying the original algorithm to each chunk separately. Similarly, the second phase computes the medians for the missing sliding windows by dividing the sequence into chunks of the same size, but now using an offset <italic>M</italic>. This two-phase algorithm is also suitable for parallelization.</p> <title>Designing a Grid-enabled generic workflow</title> <p>To broaden the applicability of the mmFDR procedure, we implemented SigWin-detector using an e-Science approach by implementing a general, reusable, and adaptable tool with access to Grid resources using the WS-VLAM workflow management system[##UREF##3##20##,##UREF##4##21##].</p> <p>First we split the procedure into a collection of workflow components (called modules), each module performing a specific task that may be fine-tuned using parameters. The modules exchange data with each other by means of input and output ports. We then can choose the appropriate modules and compose a workflow suited to our specific needs [##UREF##1##16##]. Figure ##FIG##2##3## describes a basic workflow configuration of SigWin-detector.</p> <p>The SigWin-detector Config-Basic1 workflow was tested on a Grid computer cluster composed of geographically distributed computational nodes: <italic>Distributed ASCI Supercomputer 3 </italic>(<italic>DAS-3</italic>, [##UREF##6##23##]). Additional Figure A2 (Additional file ##SUPPL##1##2##) presents wall clock execution times of the SigWin-detector Config-Basic1 workflow (Figure ##FIG##2##3##) for input sequences of various sizes.</p> <p>The basic workflow can be altered by substituting, deleting, or adding modules. For example, we can extend the workflow to get the input sequence from a remote <italic>uniform resource identifier </italic>(<italic>URI</italic>)and then put the resulting SigWin-map back into it. We can modify the workflow to generate one SigWin-map per logical subsequence of the input sequence, instead of a single SigWin-map for the complete sequence [##UREF##1##16##]. We can also expand our workflow by computing significant windows for high median values (e.g., RIDGEs) and significant windows for low median values (e.g., anti-RIDGEs) simultaneously. The SigWin-detector workflow itself can be made into a "composite module" for more complex workflows. Furthermore, interconnection of WS-VLAM with the TAVERNA workbench [##REF##16845108##19##] will permit the use of the existing TAVERNA components in connection with SigWin-detector. At the moment, Grid authentication prevents WS-VLAM workflows being used outside the Grid without the extra step of Grid certification. However, we are working on a Taverna workflow that encapsulates the SigWin detector, to be made available through the myExperiment webpage [##UREF##7##24##].</p> <title>Biological application: finding RIDGES in a human transcriptome map</title> <p>Once we finished our basic SigWin-detector, we modified it (Additional file ##SUPPL##2##3##) for application in our biological use case that aims to find (anti-)RIDGES in transcriptome maps. Figures ##FIG##3##4## and ##FIG##4##5## show a series of RIDGEOGRAMS for gene expression data for a recent version of the human transcriptome map (HTM) based on the UCSC release hg18 [##REF##12915492##4##], and Table ##TAB##0##1## summarizes some RIDGE statistics. Each RIDGEOGRAM displays both RIDGEs (red-shades) and anti-RIDGEs (blue-shades), the different color shades representing different mmFDR threshold levels. The size of the resulting RIDGEOGRAMS is proportional to the number of genes on a chromosome. We determined i) genome-wide (anti-)RIDGEs, i.e., windows for which the median expression is significantly higher (lower) than expected by considering the whole genome gene expression profile in the mmFDR procedure (Figure ##FIG##3##4##), and ii) chromosome specific (anti-)RIDGEs, i.e., the same analysis, but considering only the specific chromosome gene expression profile (Figure ##FIG##4##5##). This distinction has a major effect on the outcome. If the expression values of the genes on a certain chromosome are typically significantly higher than the genome-wide values, then there are less chromosome specific than genome-wide RIDGEs (e.g., chromosome 19 in Figures ##FIG##3##4## and ##FIG##4##5## and Table ##TAB##0##1##). Conversely, if the expression values of the genes on a chromosome are typically significantly smaller than the genome-wide values, then there are more chromosome specific RIDGEs (e.g., chromosome 6 in Table ##TAB##0##1## and Figures ##FIG##3##4## and ##FIG##4##5##). In the case of anti-RIDGEs the opposite holds (e.g., chromosomes 17 in Table ##TAB##0##1## and Figures ##FIG##3##4## and ##FIG##4##5##). This example shows the importance of choosing the right sequence to compute the null hypothesis distribution. Based on the fact that chromosomes are separate molecules in a cell, one may favor the results from the individual chromosome SigWin-detector analysis to investigate potential higher-order gene expression regulatory mechanisms.</p> <p>The RIDGEOGRAMS shown in Figures ##FIG##3##4## and ##FIG##4##5## only take the ordering of the genes into account, and not their actual physical position in the chromosome. However, from a biological perspective it is likely that the higher order gene-expression mechanisms that underlie RIDGEs relate to an actual section of the chromosome rather than a cluster of genes just ordered by their chromosome location. So we used our SigWin-detector to take the physical gene position into account by subdividing the chromosomes in stretches of constant value (250 kb). If a stretch contains the beginning of one or more genes, their average expression value is assigned to that stretch of DNA. For this analysis we used the SigWin-detector Config-Sub2 with preprocessed HTM data and adapted parameters. The resulting RIDGEOGRAMS are proportional to the chromosome's size (Additional Figure A3, Additional file ##SUPPL##1##2##). The anti-RIDGEs show a lower cut-off caused by the many 0 values in the HTM. The results from the SigWin-detector analysis using chromosome position are substantially different to those using chromosome ordering. This application demonstrated that SigWin-detector is an e-Science tool that allows convenient in-silico experimentation. To prove that this tool is generic, we used our workflow to examine a simple sequential data set: an extended time series of hourly ground level ozone concentration measurements (Additional file ##SUPPL##3##4##).</p> <title>Availability and requirements</title> <p>• <bold>Project name</bold>: SigWin-detector</p> <p>• <bold>Project home page: </bold><ext-link ext-link-type="uri" xlink:href="http://mad-db.science.uva.nl/projects/sigwin/"/></p> <p>• <bold>Programming language: </bold>C++</p> <p>• <bold>Other requirements: </bold>SigWin-detector needs the WS-VLAM workflow management system. WS-VLAM has a client distribution and site distribution.</p> <p><italic>i. WS-VLAM client distribution: </italic>The WS-VLAM composer, a graphical interface used for creating, modifying, and submitting workflows. Needs Java virtual machine (version1.5 or higher).</p> <p><italic>ii. WS-VLAM site distribution: </italic>The WS-VLAM engine, which is needed for running the workflows in a Grid. The WS-VLAM engine needs a GLOBUS GT4 (4.0.3) installation.</p> <p>To download these WS-VLAM distributions (Additional file ##SUPPL##4##5##) go to <ext-link ext-link-type="uri" xlink:href="http://staff.science.uva.nl/~gvlam/wsvlam/"/>, click the "Distributions" tab and follow the instructions in it.</p> <title>Competing interests</title> <p>The authors declare that they have no competing interests.</p> <title>Authors' contributions</title> <p>MAI carried out the entire research project and wrote the manuscript. MFvB participated in development of the statistical methods. MR was involved in the conceptualization of the analytical formula, in the e-Science approach, and in the coordination of the project. ASZB, DV, and WA worked on the development and support of WS-VLAM. AHvK developed the methods for the genomic mapping of expression data and was involved in the development of the statistical methods. TMB conceived the study, participated in its design and coordination and helped to draft the manuscript. All authors read and approved the final manuscript.</p> <title>Supplementary Material</title>
<title>Acknowledgements</title> <p>We thank R. Monajemi for assistance with the HTM data sets, R. H. Bisseling for checking the mathematics, L. O. Hertzberger for his constant support, and J. Batson for proofreading the paper. This work was carried out in the context of the Virtual Laboratory e-Science project <ext-link ext-link-type="uri" xlink:href="http://www.vl-e.nl"/> and BioRange program of the Netherlands Bioinformatics Centre (NBIC). VL-e is supported by a BSIK grant from the Dutch Ministry of Education, Culture and Science (OC&amp;W) and the ICT innovation program of the Ministry of Economic Affairs (EZ). BioRange is supported by a BSIK grant through the Netherlands Genomics Initiative (NGI).</p>
<fig position="float" id="F1"><label>Figure 1</label><caption><p><bold>Using a mmFDR method to detect RIDGEs in a human transcriptome map</bold>. Schematic representation of the moving median false discovery rate (mmFDR) procedure identifying regions of high and low density of gene expression (RIDGEs and anti-RIDGEs, respectively) [##REF##12915492##4##]. (A) Input sequence, a human transcriptome map (HTM), i.e., expression values of genes ordered by their chromosome location (cyan; chromosome 6). (B) <italic>mm</italic>(<italic>w</italic>), moving medians of the HTM for a given window size <italic>S</italic>. (C) Determination of the high and low mmFDR thresholds at a given level <italic>α</italic>: The high threshold <italic>m</italic><sub><italic>k </italic></sub>is the smallest gene expression value for which the , here <italic>f</italic>(<italic>m</italic>) is the theoretical probability distribution of <italic>mm</italic>(<italic>w</italic>), and <italic>g</italic>(<italic>m</italic>) is the observed distribution of <italic>mm</italic>(<italic>w</italic>). (In [##REF##12915492##4##], <italic>f</italic>(<italic>m</italic>) is estimated by simple sampling). Similarly, the low threshold <italic>m</italic><sub><italic>j </italic></sub>is the largest gene expression value for which . (D) Selection of significant windows in chromosome 6: RIDGEs (in red) all windows for which the median gene expression is higher than or equal to <italic>m</italic><sub><italic>k</italic></sub>; anti-RIDGEs (in blue) all windows for which the median gene expression is lower than or equal to <italic>m</italic><sub><italic>j</italic></sub>. (E) Output RIDGEOGRAM of chromosome 6. Each row (y-axis) in the RIDGEOGRAM represents a window size, ranging from <italic>S </italic>= 3 to <italic>S </italic>= <italic>M </italic>(the number of genes on the chromosome). Each column (x-axis) represents a sliding window number, ranging from <italic>w </italic>= S/2 to <italic>w </italic>= <italic>M</italic>-<italic>S</italic>/2 (hence the triangular form). Color is used to mark window medians significantly above (red) or below (blue) the genome-wide median. The scheme shows median expression data for window size <italic>S </italic>= 69 and FDR thresholds level <italic>α </italic>= 5%.</p></caption></fig> <fig position="float" id="F2"><label>Figure 2</label><caption><p><bold>Computing moving medians for many window sizes</bold>. Description of our moving medians algorithm and data structures used. The figure illustrates a computation with input sequence size <italic>N </italic>= 7, and window sizes <italic>S </italic>= 3, 5, 7. (A) <italic>Rank </italic>data structure: used to store the input sequence. The Rank data structure gives access to the input sequence in its original and ranked order. It also allows fetching elements according to their rank. (B) <italic>Marker </italic>data structure: helps navigation through the sliding windows while keeping track of the median (or any other desired order-statistics). The Marker data structure is a Boolean array used to keep track of the elements that are inside a sliding window by means of crossing out the elements that are outside it. It also has a pointer that keeps track of the <italic>i</italic>th remaining element. This pointer is used to track the median. The Marker structure assumes the sequence is in ranked order. For example, if a sliding window of size 3 of a sequence of size 7 contains elements ranked 5, 1, and 6, the corresponding Marker structure has elements ranked 2, 3, 4, and 7 crossed out, and its median pointer points to element ranked 5. (C) Moving median algorithm for window size S. Our algorithm computes the moving medians for window sizes <italic>S </italic>= <italic>Smin</italic>, <italic>Smin+</italic>d<italic>S,..., Smin+n</italic>·d<italic>S</italic>, starting at <italic>S </italic>= <italic>S</italic><sub><italic>min</italic></sub>. When the last sliding window of size <italic>S </italic>is reached, the algorithm proceeds to the next window size (<italic>S</italic>+d<italic>S</italic>) by inserting the elements that are in the first sliding window of size <italic>S</italic>+d<italic>S </italic>and crossing out the elements that were in the last sliding window of size <italic>S </italic>and setting the new position for the median pointer (which is element <italic>mm</italic>(<italic>S+</italic>d<italic>S</italic>) = (<italic>S</italic>+d<italic>S</italic>+1)/2). The algorithm stops after computing the medians for the largest window size.</p></caption></fig> <fig position="float" id="F3"><label>Figure 3</label><caption><p><bold>SigWin-Detector basic workflow using the WS-VLAM workflow composer</bold>. Upper: A snapshot of the workflow. Lower: Short description of the functionality of each module, port connections, and output ports. The ports are named by an abbreviation of the module name followed by 'i' or 'o' (input or output respectively) and the port number. Input ports are colored in blue and output ports in red. The ports are numbered in the same order they appear in the workflow.</p></caption></fig> <fig position="float" id="F4"><label>Figure 4</label><caption><p><bold>Genome-wide RIDGES in a human transcriptome map (HTM)</bold>. Genome-wide RIDGEOGRAMS per chromosome for the HTM based on the UCSC release hg18 [##REF##12915492##4##]. The expression levels are mapped to gene number. Each RIDGEOGRAM displays a composite of both RIDGES (red-shades) and anti-RIDGEs (blue-shades) for different mmFDR rate levels: 10% (lighter shade), 5%, 1%, and 0.5% (darker shade). All the different window sizes are depicted because they give different specific results. In general, small windows suffer from noise and large windows suffer from lack of detail.</p></caption></fig> <fig position="float" id="F5"><label>Figure 5</label><caption><p><bold>Chromosome-specific RIDGES in a human transcriptome map (HTM)</bold>. Chromosome-specific RIDGEOGRAMS per chromosome for the HTM based on the UCSC release hg18 [##REF##12915492##4##]. The expression levels are mapped to gene number. Each RIDGEOGRAM displays a composite of both RIDGES (red-shades) and anti-RIDGEs (blue-shades) for different mmFDR rate levels: 10% (lighter shade), 5%, 1%, and 0.5% (darker shade).</p></caption></fig>
<table-wrap position="float" id="T1"><label>Table 1</label><caption><p>HTM statistical data</p></caption><table frame="hsides" rules="groups"><thead><tr><td/><td/><td/><td/><td align="center" colspan="4"><bold>RIDGEs</bold></td><td align="center" colspan="4"><bold>anti-RIDGEs</bold></td></tr></thead><tbody><tr><td/><td/><td/><td/><td align="right" colspan="2"><bold>all window sizes</bold></td><td align="right" colspan="2"><bold>window sizes 19–59</bold></td><td align="right" colspan="2"><bold>all window sizes</bold></td><td align="right" colspan="2"><bold>window sizes 19–59</bold></td></tr><tr><td colspan="12"><hr/></td></tr><tr><td align="right"><bold>chr</bold></td><td align="right"><bold>median</bold></td><td align="right"><bold>size</bold></td><td align="right"><bold>N</bold></td><td align="right"><bold>gw-R</bold></td><td align="right"><bold>chr-R</bold></td><td align="right"><bold>gw-R</bold></td><td align="right"><bold>chr-R</bold></td><td align="right"><bold>gw-aR</bold></td><td align="right"><bold>chr-aR</bold></td><td align="right"><bold>gw-aR</bold></td><td align="right"><bold>chr-aR</bold></td></tr><tr><td colspan="12"><hr/></td></tr><tr><td align="right">Y</td><td align="right">11</td><td align="right">57772954</td><td align="right">96</td><td align="right">0</td><td align="right">28</td><td align="right">0</td><td align="right">9</td><td align="right">212</td><td align="right">0</td><td align="right">54</td><td align="right">0</td></tr><tr><td align="right">21</td><td align="right">15</td><td align="right">46944323</td><td align="right">318</td><td align="right">0</td><td align="right">0</td><td align="right">0</td><td align="right">0</td><td align="right">6957</td><td align="right">0</td><td align="right">266</td><td align="right">0</td></tr><tr><td align="right">18</td><td align="right">16</td><td align="right">76117153</td><td align="right">488</td><td align="right">0</td><td align="right">8</td><td align="right">0</td><td align="right">0</td><td align="right">23329</td><td align="right">27</td><td align="right">521</td><td align="right">0</td></tr><tr><td align="right">13</td><td align="right">19</td><td align="right">114142980</td><td align="right">553</td><td align="right">0</td><td align="right">2</td><td align="right">0</td><td align="right">0</td><td align="right">32667</td><td align="right">10123</td><td align="right">853</td><td align="right">190</td></tr><tr><td align="right">4</td><td align="right">23</td><td align="right">191273063</td><td align="right">1172</td><td align="right">0</td><td align="right">323</td><td align="right">0</td><td align="right">0</td><td align="right">121113</td><td align="right">0</td><td align="right">5</td><td align="right">0</td></tr><tr><td align="right">6</td><td align="right">26</td><td align="right">170899992</td><td align="right">1406</td><td align="right">28327</td><td align="right">175351</td><td align="right">873</td><td align="right">1803</td><td align="right">73404</td><td align="right">12884</td><td align="right">223</td><td align="right">0</td></tr><tr><td align="right">8</td><td align="right">26</td><td align="right">146274826</td><td align="right">1067</td><td align="right">213</td><td align="right">61</td><td align="right">32</td><td align="right">0</td><td align="right">83720</td><td align="right">3110</td><td align="right">176</td><td align="right">20</td></tr><tr><td align="right">10</td><td align="right">26</td><td align="right">135374737</td><td align="right">1123</td><td align="right">165</td><td align="right">36813</td><td align="right">9</td><td align="right">0</td><td align="right">9239</td><td align="right">611</td><td align="right">453</td><td align="right">379</td></tr><tr><td align="right">20</td><td align="right">26.5</td><td align="right">62435964</td><td align="right">738</td><td align="right">978</td><td align="right">1350</td><td align="right">292</td><td align="right">538</td><td align="right">4171</td><td align="right">0</td><td align="right">7</td><td align="right">0</td></tr><tr><td align="right">2</td><td align="right">29</td><td align="right">242951149</td><td align="right">1908</td><td align="right">1801</td><td align="right">22546</td><td align="right">247</td><td align="right">52</td><td align="right">2871</td><td align="right">376</td><td align="right">34</td><td align="right">2</td></tr><tr><td align="right">5</td><td align="right">29</td><td align="right">180857866</td><td align="right">1276</td><td align="right">722</td><td align="right">8875</td><td align="right">146</td><td align="right">303</td><td align="right">35406</td><td align="right">10231</td><td align="right">298</td><td align="right">234</td></tr><tr><td align="right">3</td><td align="right">30</td><td align="right">199501827</td><td align="right">1581</td><td align="right">47644</td><td align="right">97097</td><td align="right">806</td><td align="right">1491</td><td align="right">77920</td><td align="right">85262</td><td align="right">123</td><td align="right">89</td></tr><tr><td align="right">X</td><td align="right">30</td><td align="right">154913754</td><td align="right">893</td><td align="right">141</td><td align="right">946</td><td align="right">106</td><td align="right">694</td><td align="right">0</td><td align="right">3667</td><td align="right">0</td><td align="right">0</td></tr><tr><td colspan="12"><hr/></td></tr><tr><td align="right"><italic>genome</italic></td><td align="right"><italic>33</italic></td><td align="right"><italic>3080419480</italic></td><td align="right"><italic>26740</italic></td><td align="right"><italic>1115947</italic></td><td align="right"><italic>767239</italic></td><td align="right"><italic>2511</italic></td><td align="right"><italic>9406</italic></td><td align="right"><italic>545680</italic></td><td align="right"><italic>554438</italic></td><td align="right"><italic>4832</italic></td><td align="right"><italic>6844</italic></td></tr><tr><td colspan="12"><hr/></td></tr><tr><td align="right">1</td><td align="right">34</td><td align="right">247249719</td><td align="right">2659</td><td align="right">165349</td><td align="right">154517</td><td align="right">1611</td><td align="right">1734</td><td align="right">68461</td><td align="right">271099</td><td align="right">75</td><td align="right">88</td></tr><tr><td align="right">12</td><td align="right">34</td><td align="right">132349534</td><td align="right">1382</td><td align="right">1161</td><td align="right">541</td><td align="right">348</td><td align="right">492</td><td align="right">853</td><td align="right">1262</td><td align="right">530</td><td align="right">661</td></tr><tr><td align="right">7</td><td align="right">35</td><td align="right">158821424</td><td align="right">1273</td><td align="right">10549</td><td align="right">19690</td><td align="right">615</td><td align="right">693</td><td align="right">3614</td><td align="right">5125</td><td align="right">388</td><td align="right">479</td></tr><tr><td align="right">15</td><td align="right">36</td><td align="right">100338915</td><td align="right">859</td><td align="right">232</td><td align="right">29110</td><td align="right">0</td><td align="right">0</td><td align="right">0</td><td align="right">0</td><td align="right">0</td><td align="right">0</td></tr><tr><td align="right">11</td><td align="right">38</td><td align="right">134452384</td><td align="right">1472</td><td align="right">225772</td><td align="right">150844</td><td align="right">1508</td><td align="right">814</td><td align="right">0</td><td align="right">14777</td><td align="right">0</td><td align="right">0</td></tr><tr><td align="right">9</td><td align="right">39</td><td align="right">140273252</td><td align="right">1103</td><td align="right">62730</td><td align="right">50105</td><td align="right">214</td><td align="right">571</td><td align="right">7</td><td align="right">27055</td><td align="right">7</td><td align="right">3</td></tr><tr><td align="right">14</td><td align="right">39</td><td align="right">106368585</td><td align="right">834</td><td align="right">817</td><td align="right">102</td><td align="right">170</td><td align="right">75</td><td align="right">210</td><td align="right">5968</td><td align="right">186</td><td align="right">489</td></tr><tr><td align="right">17</td><td align="right">44</td><td align="right">78774742</td><td align="right">1439</td><td align="right">67267</td><td align="right">0</td><td align="right">1236</td><td align="right">0</td><td align="right">841</td><td align="right">72325</td><td align="right">434</td><td align="right">1405</td></tr><tr><td align="right">16</td><td align="right">47</td><td align="right">88827254</td><td align="right">1075</td><td align="right">107253</td><td align="right">1388</td><td align="right">1293</td><td align="right">82</td><td align="right">504</td><td align="right">15676</td><td align="right">63</td><td align="right">1248</td></tr><tr><td align="right">22</td><td align="right">48</td><td align="right">49691432</td><td align="right">580</td><td align="right">34220</td><td align="right">0</td><td align="right">255</td><td align="right">0</td><td align="right">12</td><td align="right">242</td><td align="right">12</td><td align="right">219</td></tr><tr><td align="right">19</td><td align="right">52</td><td align="right">63811651</td><td align="right">1445</td><td align="right">360606</td><td align="right">17542</td><td align="right">2748</td><td align="right">55</td><td align="right">169</td><td align="right">14618</td><td align="right">124</td><td align="right">1338</td></tr></tbody></table></table-wrap>
<inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M1" name="1756-0500-1-63-i1" overflow="scroll"><mml:semantics><mml:mrow><mml:mstyle displaystyle="true"><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>≥</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mstyle displaystyle="true"><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>≥</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>≤</mml:mo><mml:mi>α</mml:mi></mml:mrow></mml:mstyle></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></inline-formula> <inline-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M2" name="1756-0500-1-63-i2" overflow="scroll"><mml:semantics><mml:mrow><mml:mstyle displaystyle="true"><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>≤</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mi>f</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mstyle displaystyle="true"><mml:msub><mml:mo>∑</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>≤</mml:mo><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:msub><mml:mrow><mml:mi>g</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>≤</mml:mo><mml:mi>α</mml:mi></mml:mrow></mml:mstyle></mml:mrow></mml:mstyle></mml:mrow></mml:semantics></mml:math></inline-formula> <disp-formula><mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" id="M3" name="1756-0500-1-63-i3" overflow="scroll"><mml:semantics><mml:mrow><mml:mover accent="true"><mml:mi>f</mml:mi><mml:mo>ˆ</mml:mo></mml:mover><mml:mo stretchy="false">(</mml:mo><mml:mi>r</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>r</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>K</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi><mml:mo>−</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mi>K</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mi>N</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>S</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>r</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi><mml:mo>−</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mi>N</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>S</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>=</mml:mo><mml:mfrac><mml:mi>S</mml:mi><mml:mi>N</mml:mi></mml:mfrac><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>r</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi><mml:mo>−</mml:mo><mml:mi>r</mml:mi></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:mi>N</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:mi>S</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo>.</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<supplementary-material content-type="local-data" id="S1"><caption><title>Additional file 1</title><p>Derivation of the exact formula for the probability function <italic>f</italic>(<italic>m</italic>), and detailed description of the mmFDR-procedure.</p></caption></supplementary-material> <supplementary-material content-type="local-data" id="S2"><caption><title>Additional file 2</title><p>Additional Figures.</p></caption></supplementary-material> <supplementary-material content-type="local-data" id="S3"><caption><title>Additional file 3</title><p>Description of alternative SigWin-detector workflow configurations.</p></caption></supplementary-material> <supplementary-material content-type="local-data" id="S4"><caption><title>Additional file 4</title><p>Applicability of SigWin-detector: periodic time series of air quality data.</p></caption></supplementary-material> <supplementary-material content-type="local-data" id="S5"><caption><title>Additional file 5</title><p>This tar file contains the source files of the WS-VLAM modules needed to run the SigWin-detector workflow, and some examples. To uncompress use. ▪ tar -xvzf SigWin-VLAM.v1.1.tar.gz (Linux users). ▪ WinZip or a similar tool.</p></caption></supplementary-material>
<table-wrap-foot><p>chr: chromosome, median: median expression of all genes on a chromosome, size: chromosome size in base pairs, N: number of genes in chromosome, gw-R: number of genome-wide RIDGEs in a chromosome, chr-R: number of chromosome-specific RIDGEs in a chromosome, gw-aR: number of genome-wide anti-RIDGEs in a chromosome, chr-aR: number of chromosome-specific anti-RIDGEs in a chromosome.</p></table-wrap-foot>
<graphic xlink:href="1756-0500-1-63-1"/> <graphic xlink:href="1756-0500-1-63-2"/> <graphic xlink:href="1756-0500-1-63-3"/> <graphic xlink:href="1756-0500-1-63-4"/> <graphic xlink:href="1756-0500-1-63-5"/>
<media xlink:href="1756-0500-1-63-S1.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media> <media xlink:href="1756-0500-1-63-S2.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media> <media xlink:href="1756-0500-1-63-S3.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media> <media xlink:href="1756-0500-1-63-S4.pdf" mimetype="application" mime-subtype="pdf"><caption><p>Click here for file</p></caption></media> <media xlink:href="1756-0500-1-63-S5.gz" mimetype="application" mime-subtype="x-zip-compressed"><caption><p>Click here for file</p></caption></media>
[{"surname": ["Oehmen", "Straatsma", "Anderson", "Orr", "Webb-Robertson", "Taylor", "Mooney", "Baxter", "Jones", "Dixon"], "given-names": ["CS", "TP", "GA", "G", "BJM", "RC", "RW", "DJ", "DR", "DA"], "article-title": ["New challenges facing integrative biological science in the post-genomic era"], "source": ["Journal of Biological Systems"], "year": ["2006"], "volume": ["14"], "fpage": ["275"], "lpage": ["293"], "pub-id": ["10.1142/S0218339006001805"]}, {"surname": ["Inda", "Belloum", "Roos", "Vasunin", "de Laat", "Hertzberger", "Breit"], "given-names": ["MA", "ASZ", "M", "D", "C", "LO", "TM"], "article-title": ["Interactive Workflows in a Virtual Laboratory for e-Bioscience: the SigWin-Detector Tool for Gene Expression Analysis"], "source": ["Proceedings of the e-Science 2006; Amsterdam"], "year": ["2006"], "publisher-name": ["IEEE CS Press"]}, {"surname": ["Ludascher", "Altintas", "Berkley", "Higgins", "Jaeger", "Jones", "Lee", "Tao", "Zhao"], "given-names": ["B", "I", "C", "D", "E", "M", "EA", "J", "Y"], "article-title": ["Scientific workflow management and the Kepler system"], "source": ["Concurrency and Computation-Practice & Experience"], "year": ["2006"], "volume": ["18"], "fpage": ["1039"], "lpage": ["1065"], "pub-id": ["10.1002/cpe.994"]}, {"surname": ["Korkhov", "Vasunin", "Wibisono", "Belloum", "Inda", "Roos", "Breit", "Hertzberger"], "given-names": ["V", "D", "A", "ASZ", "MA", "M", "T", "BLO"], "article-title": ["VLAM-G: Interactive Dataflow Driven Engine for Grid-enabled Resources"], "source": ["Scientific Programming"], "year": ["2007"], "volume": ["15"], "fpage": ["173"], "lpage": ["188"]}, {"article-title": ["WS-VLAM"]}, {"surname": ["Hardle", "Steiger"], "given-names": ["W", "W"], "article-title": ["Optimal Median Smoothing"], "source": ["Applied Statistics-Journal of the Royal Statistical Society Series C"], "year": ["1995"], "volume": ["44"], "fpage": ["258"], "lpage": ["264"]}, {"article-title": ["DAS3, The Distributed ASCI Supercomputer 3"]}, {"surname": ["Goble", "Roure"], "given-names": ["C", "DCD"], "article-title": ["myExperiment: social networking for workflow-using e-scientists"], "source": ["Proceedings of the 2nd workshop on Workflows in support of large-scale science; June 25, 2007; Monterey, California, USA"], "year": ["2007"], "publisher-name": ["ACM Press"], "fpage": ["1"], "lpage": ["2"]}]
BMC Res Notes. 2008 Aug 8; 1:63