changeset 0:09098f34f445 draft

Uploaded
author greg
date Wed, 23 Mar 2016 13:58:55 -0400
parents
children a64feed0d508
files all_fasta.loc.sample fimo.xml fimo_wrapper.py test-data/fimo_output_almost-gff_1.txt test-data/fimo_output_almost-gff_2.txt test-data/fimo_output_html_1.html test-data/fimo_output_html_2.html test-data/fimo_output_interval_1.txt test-data/fimo_output_interval_2.txt test-data/fimo_output_txt_1.txt test-data/fimo_output_txt_2.txt test-data/fimo_output_xml_1.xml test-data/fimo_output_xml_2.xml test-data/meme_output_xml_1.xml test-data/phiX.fasta tool_data_table_conf.xml.sample tool_dependencies.xml
diffstat 17 files changed, 2829 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/all_fasta.loc.sample	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,18 @@
+#This file lists the locations and dbkeys of all the fasta files
+#under the "genome" directory (a directory that contains a directory
+#for each build). The script extract_fasta.py will generate the file
+#all_fasta.loc. This file has the format (white space characters are
+#TAB characters):
+#
+#<unique_build_id>	<dbkey>	<display_name>	<file_path>
+#
+#So, all_fasta.loc could look something like this:
+#
+#apiMel3	apiMel3	Honeybee (Apis mellifera): apiMel3	/path/to/genome/apiMel3/apiMel3.fa
+#hg19canon	hg19	Human (Homo sapiens): hg19 Canonical	/path/to/genome/hg19/hg19canon.fa
+#hg19full	hg19	Human (Homo sapiens): hg19 Full	/path/to/genome/hg19/hg19full.fa
+#
+#Your all_fasta.loc file should contain an entry for each individual
+#fasta file. So there will be multiple fasta files for each build,
+#such as with hg19 above.
+#
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fimo.xml	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,291 @@
+<tool id="meme_fimo" name="FIMO" version="4.11.0.3">
+    <description>- Scan a set of sequences for motifs.</description>
+    <requirements>
+        <requirement type="package" version="6.9.3">imagemagick</requirement>
+        <requirement type="package" version="4.11.0">meme</requirement>
+    </requirements>
+    <command>
+        <![CDATA[
+            mkdir -p output &&
+            python $__tool_directory__/fimo_wrapper.py
+            --input_motifs "${input_motifs}"
+            #if str($fasta_type.fasta_type_selector) == 'history':
+                --input_fasta "${fasta_type.input_database}"
+            #else:
+                --input_fasta "${fasta_type.input_database.fields.path}"
+            #end if
+            --options_type $options_type.options_type_selector
+            #if str($options_type.options_type_selector) == 'advanced':
+                --alpha "${options_type.alpha}"
+                #if str($options_type.bgfile_type.bgfile_type_selector) == 'motif_file':
+                    --bgfile "motif-file"
+                #elif str($options_type.bgfile_type.bgfile_type_selector) == 'bgfile':
+                    --bgfile "${options_type.bgfile_type.bgfile}"
+                #end if
+                ${options_type.max_strand}
+                --max_stored_scores "${options_type.max_stored_scores}"
+                #if str($options_type.motifs_cond.motifs_selector) == 'no':
+                    #for $motif in $options_type.motifs:
+                        --motif "${motif.motif}"
+                    #end for
+                #end if
+                --output_separate_motifs ${options_type.output_separate_motifs}
+                --motif_pseudo "${options_type.motif_pseudo}"
+                ${options_type.no_qvalue}
+                ${options_type.norc}
+                ${options_type.parse_genomic_coord_cond.parse_genomic_coord}
+                #if str($options_type.parse_genomic_coord_cond.parse_genomic_coord) == '--parse_genomic_coord':
+                    --remove_duplicate_coords ${options_type.parse_genomic_coord_cond.remove_duplicate_coords}
+                #end if
+                #if str($options_type.psp_cond.psp_selector) == 'yes':
+                    --input_psp "${input_psp}"
+                #end if
+                #if str($options_type.prior_dist_cond.prior_dist_selector) == 'yes':
+                    --input_prior_dist "${input_prior_dist}"
+                #end if
+                ${options_type.qv_thresh}
+                --thresh ${options_type.thresh}
+            #end if
+            --output_path '${html_outfile.files_path}'
+            --html_output "${html_outfile}"
+            --interval_output '${interval_outfile}'
+            --txt_output "${txt_outfile}"
+            --xml_output "${xml_outfile}"
+            --gff_output "${gff_outfile}"
+        ]]>
+    </command>
+    <inputs>
+        <param name="input_motifs" type="data" format="memexml" label="'MEME output' formatted file"/>
+        <conditional name="fasta_type">
+            <param name="fasta_type_selector" type="select" label="Source for sequence to search">
+                <option value="cached">Locally Cached sequences</option>
+                <option value="history" selected="true">Sequences from your history</option>
+            </param>
+            <when value="cached">
+                <param name="input_database" type="select" label="Genome to search">
+                    <options from_data_table="all_fasta" />
+                </param>
+            </when>
+            <when value="history">
+                <param format="fasta" name="input_database" type="data" label="Sequences"/>
+            </when>
+        </conditional>
+        <conditional name="options_type">
+            <param name="options_type_selector" type="select" label="Options configuration">
+                <option value="basic" selected="true">Basic</option>
+                <option value="advanced">Advanced</option>
+            </param>
+            <when value="basic" />
+            <when value="advanced">
+                <param name="alpha" type="float" value="1.0" min="0" max="1.0" label="Alpha parameter for calculating position specific priors" help="Represents the fraction of all transcription factor binding sites that are binding sites for the TF of interest (must be between 0 and 1)."/>
+                <conditional name="bgfile_type">
+                    <param name="bgfile_type_selector" type="select" label="Background file type">
+                        <option value="default" selected="true">Use frequencies embedded in the application from the non-redundant database</option>
+                        <option value="motif_file">Use frequencies from motif file</option>
+                        <option value="bgfile">Use frequencies from background file</option>
+                    </param>
+                    <when value="motif_file" />
+                    <when value="default" />
+                    <when value="bgfile">
+                        <param name="bgfile" type="data" format="txt" optional="True" label="Background Model" help="File must be in MEME background file format."/>
+                    </when>
+                </conditional>
+                <param name="max_strand" label="If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score" type="boolean" truevalue="--max_strand" falsevalue="" checked="False" help="If the scores are tied, the matching strand is chosen at random.  Leave unchecked to report both matches."/>
+                <param name="max_stored_scores" type="integer" value="100000" label="Maximum number of scores that will be stored" />
+                <conditional name="motifs_cond">
+                    <param name="motifs_selector" type="select" label="Use all motifs in input?">
+                        <option value="yes" selected="true">Yes</option>
+                        <option value="no">No</option>
+                    </param>
+                    <when value="yes"/>
+                    <when value="no">
+                        <repeat name="motifs" title="Limit to specified motif">
+                            <param name="motif" type="text" value="" label="Specify motif by id" />
+                        </repeat>
+                    </when>
+                </conditional>
+                <param name="output_separate_motifs" type="select" label="Output a dataset per motif?" help="Output a collection consisting of a separate dataset for each motif in the input">
+                    <option value="no" selected="true">No</option>
+                    <option value="yes">Yes</option>
+                </param>
+                <param name="motif_pseudo" type="float" value="0.1" label="Pseudocount to add to counts in motif matrix" help="A pseudocount to be added to each count in the motif matrix, after first multiplying by the corresponding background frequency"/>
+                <param name="no_qvalue" label="Do not compute a q-value for each p-value" type="boolean" truevalue="--no_qvalue" falsevalue="" checked="True" help="The q-value calculation is that of Benjamini and Hochberg (1995)."/>
+                <param name="norc" label="Do not score the reverse complement DNA strand" type="boolean" truevalue="--norc" falsevalue="" checked="False" />
+                <conditional name="parse_genomic_coord_cond">
+                    <param name="parse_genomic_coord" label="Check each sequence header for UCSC style genomic coordinates" type="boolean" truevalue="--parse_genomic_coord" falsevalue="" checked="False" />
+                    <when value="--parse_genomic_coord">
+                        <param name="remove_duplicate_coords" type="select" label="Remove duplicate entries in unique GFF coordinates?" help="Remove duplicate entries as defined by the unique GFF coordinates">
+                            <option value="no" selected="true">No</option>
+                            <option value="yes">Yes</option>
+                        </param>
+                    </when>
+                    <when value=""/>
+                </conditional>
+                <conditional name="psp_cond">
+                    <param name="psp_selector" type="select" label="Use position-specific priors?">
+                        <option value="no" selected="true">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="no"/>
+                    <when value="yes">
+                        <param name="input_psp" type="data" format="txt" label="Select dataset containing position specific priors" help="Format must be meme psp or wiggle."/>
+                    </when>
+                </conditional>
+                <conditional name="prior_dist_cond">
+                    <param name="prior_dist_selector" type="select" label="Use binned distribution of priors?">
+                        <option value="no" selected="true">No</option>
+                        <option value="yes">Yes</option>
+                    </param>
+                    <when value="no"/>
+                    <when value="yes">
+                        <param name="input_prior_dist" type="data" format="txt" label="Select dataset containing binned distribution of priors"/>
+                    </when>
+                </conditional>
+                <param name="qv_thresh" label="Use q-values for the output threshold" type="boolean" truevalue="--qv_thresh" falsevalue="" checked="False" help="Leave unchecked to use p-values for the output threshold."/>
+                <param name="thresh" type="float" value="1e-4" label="Output threshold for displaying search results" help="Only search results with a p-value less than the threshold will be output. The threshold can be set to use q-values rather than p-values via the option above."/>
+            </when>
+        </conditional>
+        <param name="non_commercial_use" label="I certify that I am not using this tool for commercial purposes." type="boolean" truevalue="NON_COMMERCIAL_USE" falsevalue="COMMERCIAL_USE" checked="False">
+            <validator type="expression" message="This tool is only available for non-commercial use.">value == True</validator>
+        </param>
+    </inputs>
+    <outputs>
+        <data format="html" name="html_outfile" label="${tool.name} on ${on_string} (html)">
+            <actions>
+                <conditional name="fasta_type.fasta_type_selector">
+                    <when value="cached">
+                        <action type="metadata" name="dbkey">
+                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
+                                <filter type="param_value" column="0" value="seq" keep="True"/>
+                                <filter type="param_value" ref="fasta_type.input_database" column="1"/>
+                            </option>
+                        </action>
+                    </when>
+                </conditional>
+            </actions>
+        </data>
+        <data format="tabular" name="txt_outfile" label="${tool.name} on ${on_string} (text)">
+            <actions>
+                <conditional name="fasta_type.fasta_type_selector">
+                    <when value="cached">
+                        <action type="metadata" name="dbkey">
+                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
+                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
+                            </option>
+                        </action>
+                    </when>
+                </conditional>
+            </actions>
+        </data>
+        <data format="tabular" name="gff_outfile" label="${tool.name} on ${on_string} (almost-gff)">
+            <filter>options_type['output_separate_motifs'] == 'no'</filter>
+            <actions>
+                <conditional name="fasta_type.fasta_type_selector">
+                    <when value="cached">
+                        <action type="metadata" name="dbkey">
+                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
+                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
+                            </option>
+                        </action>
+                    </when>
+                </conditional>
+            </actions>
+        </data>
+        <collection name="motifs" type="list" label="Motifs: ${tool.name} on ${on_string}">
+            <discover_datasets pattern="(?P&lt;designation&gt;.*)" directory="output" ext="gff" visible="false" />
+            <filter>options_type['output_separate_motifs'] == 'yes'</filter>
+        </collection>
+        <data format="cisml" name="xml_outfile" label="${tool.name} on ${on_string} (xml)">
+            <actions>
+                <conditional name="fasta_type.fasta_type_selector">
+                    <when value="cached">
+                        <action type="metadata" name="dbkey">
+                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
+                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
+                            </option>
+                        </action>
+                    </when>
+                </conditional>
+            </actions>
+        </data>
+        <data format="interval" name="interval_outfile" label="${tool.name} on ${on_string} (interval)">
+            <actions>
+                <conditional name="fasta_type.fasta_type_selector">
+                    <when value="cached">
+                        <action type="metadata" name="dbkey">
+                            <option type="from_data_table" name="all_fasta" column="1" offset="0">
+                                <filter type="param_value" ref="fasta_type.input_database" column="0"/>
+                            </option>
+                        </action>
+                    </when>
+                </conditional>
+            </actions>
+        </data>
+    </outputs>
+    <tests>
+        <test>
+            <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/>
+            <param name="fasta_type_selector" value="history"/>
+            <param name="input_database" value="phiX.fasta" ftype="fasta"/>
+            <param name="options_type_selector" value="basic"/>
+            <param name="non_commercial_use" value="True"/>
+            <output name="html_outfile" file="fimo_output_html_1.html" compare="contains"/>
+            <output name="txt_outfile" file="fimo_output_txt_1.txt" compare="contains"/>
+            <output name="gff_outfile" file="fimo_output_almost-gff_1.txt" compare="contains"/>
+            <output name="xml_outfile" file="fimo_output_xml_1.xml" lines_diff="8"/>
+            <output name="interval_outfile" file="fimo_output_interval_1.txt" compare="contains"/>
+        </test>
+        <test>
+            <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/>
+            <param name="fasta_type_selector" value="history"/>
+            <param name="input_database" value="phiX.fasta" ftype="fasta"/>
+            <param name="options_type_selector" value="advanced"/>
+            <param name="non_commercial_use" value="True"/>
+            <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/>
+            <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/>
+            <output name="gff_outfile" file="fimo_output_almost-gff_2.txt" compare="contains"/>
+            <output name="xml_outfile" file="fimo_output_xml_2.xml" lines_diff="8"/>
+            <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/>
+        </test>
+        <test>
+            <param name="input_motifs" value="meme_output_xml_1.xml" ftype="memexml"/>
+            <param name="fasta_type_selector" value="history"/>
+            <param name="input_database" value="phiX.fasta" ftype="fasta"/>
+            <param name="options_type_selector" value="advanced"/>
+            <param name="parse_genomic_coord" value="--parse_genomic_coord"/>
+            <param name="remove_duplicate_coords" value="yes"/>
+            <param name="output_separate_motifs" value="yes"/>
+            <param name="non_commercial_use" value="True"/>
+            <output name="html_outfile" file="fimo_output_html_2.html" compare="contains"/>
+            <output name="txt_outfile" file="fimo_output_txt_2.txt" compare="contains"/>
+            <output_collection name="motifs" type="list">
+                <element name="MOTIFS1.gff" file="fimo_output_almost-gff_2.txt" ftype="gff" compare="contains"/>
+            </output_collection>
+            <output name="xml_outfile" file="fimo_output_xml_2.xml" lines_diff="8"/>
+            <output name="interval_outfile" file="fimo_output_interval_2.txt" compare="contains"/>
+        </test>
+    </tests>
+    <help>
+
+.. class:: warningmark
+
+**WARNING: This tool is only available for non-commercial use. Use for educational, research and non-profit purposes is permitted.
+Before using, be sure to review, agree, and comply with the license.**
+
+FIMO scans a sequence database for individual matches to each of the motifs you provide (sample output for motifs and sequences).
+The name FIMO stands for 'Find Individual Motif Occurrences'.  The program searches a database of sequences for occurrences of
+known motifs, treating each motif independently.  Motifs must be in MEME Motif Format.  You can define the statistical threshold
+(p-value) for motifs and whether FIMO scans just the given sequences or their reverse complements (where applicable).
+
+.. class:: infomark
+
+For detailed information on FIMO, click here_, or view the license_.
+
+.. _here: http://meme-suite.org/doc/fimo.html?man_type=web
+.. _license: http://meme-suite.org/doc/copyright.html?man_type=web
+
+    </help>
+    <citations>
+        <citation type="doi">10.1093/bioinformatics/btr064</citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fimo_wrapper.py	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,194 @@
+#!/usr/bin/env python
+import argparse
+import os
+import shutil
+import string
+import subprocess
+import sys
+import tempfile
+
+BUFFSIZE = 1048576
+# Translation table for reverse Complement, with ambiguity codes.
+DNA_COMPLEMENT = string.maketrans("ACGTRYKMBDHVacgtrykmbdhv", "TGCAYRMKVHDBtgcayrmkvhdb")
+
+
+def get_stderr(tmp_stderr):
+    tmp_stderr.seek(0)
+    stderr = ''
+    try:
+        while True:
+            stderr += tmp_stderr.read(BUFFSIZE)
+            if not stderr or len(stderr) % BUFFSIZE != 0:
+                break
+    except OverflowError:
+        pass
+    return stderr
+
+
+def reverse(sequence):
+    # Reverse sequence string.
+    return sequence[::-1]
+
+
+def dna_complement(sequence):
+    # Complement DNA sequence string.
+    return sequence.translate(DNA_COMPLEMENT)
+
+
+def dna_reverse_complement(sequence):
+    # Returns the reverse complement of the sequence.
+    sequence = reverse(sequence)
+    return dna_complement(sequence)
+
+
+def stop_err(msg):
+    sys.stderr.write(msg)
+    sys.exit(1)
+
+parser = argparse.ArgumentParser()
+parser.add_argument('--input_motifs', dest='input_motifs', help='MEME output formatted files for input to fimo')
+parser.add_argument('--input_fasta', dest='input_fasta', help='Fassta sequence file')
+parser.add_argument('--options_type', dest='options_type', help='Basic or Advance options')
+parser.add_argument('--input_psp', dest='input_psp', default=None, help='File containing position specific priors')
+parser.add_argument('--input_prior_dist', dest='input_prior_dist', default=None, help='File containing binned distribution of priors')
+parser.add_argument('--alpha', dest='alpha', type=float, default=1.0, help='The alpha parameter for calculating position specific priors')
+parser.add_argument('--bgfile', dest='bgfile', default=None, help='Background file type, used only if not "default"')
+parser.add_argument('--max_strand', action='store_true', help='If matches on both strands at a given position satisfy the output threshold, only report the match for the strand with the higher score')
+parser.add_argument('--max_stored_scores', dest='max_stored_scores', type=int, help='Maximum score count to store')
+parser.add_argument('--motif', dest='motifs', action='append', default=[], help='Specify motif by id')
+parser.add_argument('--output_separate_motifs', default="no", help='Output one dataset per motif')
+parser.add_argument('--motif_pseudo', dest='motif_pseudo', type=float, default=0.1, help='Pseudocount to add to counts in motif matrix')
+parser.add_argument('--no_qvalue', action='store_true', help='Do not compute a q-value for each p-value')
+parser.add_argument('--norc', action='store_true', help='Do not score the reverse complement DNA strand')
+parser.add_argument('--output_path', dest='output_path', help='Output files directory')
+parser.add_argument('--parse_genomic_coord', action='store_true', help='Check each sequence header for UCSC style genomic coordinates')
+parser.add_argument('--remove_duplicate_coords', default='no', help='Remove duplicate entries in unique GFF coordinates')
+parser.add_argument('--qv_thresh', action='store_true', help='Use q-values for the output threshold')
+parser.add_argument('--thresh', dest='thresh', type=float, help='p-value threshold')
+parser.add_argument('--gff_output', dest='gff_output', help='Gff output file')
+parser.add_argument('--html_output', dest='html_output', help='HTML output file')
+parser.add_argument('--interval_output', dest='interval_output', help='Interval output file')
+parser.add_argument('--txt_output', dest='txt_output', help='Text output file')
+parser.add_argument('--xml_output', dest='xml_output', help='XML output file')
+args = parser.parse_args()
+
+fimo_cmd_list = ['fimo']
+if args.options_type == 'advanced':
+    fimo_cmd_list.append('--alpha %4f' % args.alpha)
+    if args.bgfile is not None:
+        fimo_cmd_list.append('--bgfile "%s"' % args.bgfile)
+    if args.max_strand:
+        fimo_cmd_list.append('--max-strand')
+    fimo_cmd_list.append('--max-stored-scores %d' % args.max_stored_scores)
+    if len(args.motifs) > 0:
+        for motif in args.motifs:
+            fimo_cmd_list.append('--motif "%s"' % motif)
+    fimo_cmd_list.append('--motif-pseudo %4f' % args.motif_pseudo)
+    if args.no_qvalue:
+        fimo_cmd_list.append('--no-qvalue')
+    if args.norc:
+        fimo_cmd_list.append('--norc')
+    if args.parse_genomic_coord:
+        fimo_cmd_list.append('--parse-genomic-coord')
+    if args.qv_thresh:
+        fimo_cmd_list.append('--qv-thresh')
+    fimo_cmd_list.append('--thresh %4f' % args.thresh)
+    if args.input_psp is not None:
+        fimo_cmd_list.append('--psp "%s"' % args.input_psp)
+    if args.input_prior_dist is not None:
+        fimo_cmd_list.append('--prior-dist "%s"' % args.input_prior_dist)
+fimo_cmd_list.append('--o "%s"' % (args.output_path))
+fimo_cmd_list.append('--verbosity 1')
+fimo_cmd_list.append(args.input_motifs)
+fimo_cmd_list.append(args.input_fasta)
+
+fimo_cmd = ' '.join(fimo_cmd_list)
+
+try:
+    tmp_stderr = tempfile.NamedTemporaryFile()
+    proc = subprocess.Popen(args=fimo_cmd, shell=True, stderr=tmp_stderr)
+    returncode = proc.wait()
+    if returncode != 0:
+        stderr = get_stderr(tmp_stderr)
+        stop_err(stderr)
+except Exception, e:
+    stop_err('Error running FIMO:\n%s' % str(e))
+
+shutil.move(os.path.join(args.output_path, 'fimo.txt'), args.txt_output)
+
+gff_file = os.path.join(args.output_path, 'fimo.gff')
+if args.remove_duplicate_coords == 'yes':
+    tmp_stderr = tempfile.NamedTemporaryFile()
+    # Sort GFF output by a combination of: score, start and coordinate.
+    # The output file is specified by -o FILE, and this operation is
+    # guaranteed safe (the file is read before being overwritten for output).
+    cmd = 'sort -k6,6n -k4,4n -o %s %s' % (gff_file, gff_file)
+    proc = subprocess.Popen(args=cmd, stderr=tmp_stderr, shell=True)
+    returncode = proc.wait()
+    if returncode != 0:
+        stderr = get_stderr(tmp_stderr)
+        stop_err(stderr)
+    # Sort by chromosome id, identifying and eliminating identical
+    # motif occurrences.
+    cmd = 'sort -k1,1 -u -o %s %s' % (gff_file, gff_file)
+    proc = subprocess.Popen(args=cmd, stderr=tmp_stderr, shell=True)
+    returncode = proc.wait()
+    if returncode != 0:
+        stderr = get_stderr(tmp_stderr)
+        stop_err(stderr)
+if args.output_separate_motifs == 'yes':
+    # Create the collection output directory.
+    collection_path = (os.path.join(os.getcwd(), 'output'))
+    # Keep track of motif occurrences.
+    header_line = None
+    motif_ids = []
+    file_handles = []
+    for line in open(gff_file, 'r'):
+        if line.startswith('#'):
+            if header_line is None:
+                header_line = line
+            continue
+        items = line.split('\t')
+        attribute = items[8]
+        attributes = attribute.split(';')
+        name = attributes[0]
+        motif_id = name.split('=')[1]
+        file_name = os.path.join(collection_path, 'MOTIF%s.gff' % motif_id)
+        if motif_id in motif_ids:
+            i = motif_ids.index(motif_id)
+            fh = file_handles[i]
+            fh.write(line)
+        else:
+            fh = open(file_name, 'wb')
+            if header_line is not None:
+                fh.write(header_line)
+            fh.write(line)
+            motif_ids.append(motif_id)
+            file_handles.append(fh)
+    for file_handle in file_handles:
+        file_handle.close()
+else:
+    shutil.move(gff_file, args.gff_output)
+shutil.move(os.path.join(args.output_path, 'fimo.xml'), args.xml_output)
+shutil.move(os.path.join(args.output_path, 'fimo.html'), args.html_output)
+
+out_file = open(args.interval_output, 'wb')
+out_file.write("#%s\n" % "\t".join(("chr", "start", "end", "pattern name", "score", "strand", "matched sequence", "p-value", "q-value")))
+for line in open(args.txt_output):
+    if line.startswith('#'):
+        continue
+    fields = line.rstrip("\n\r").split("\t")
+    start, end = int(fields[2]), int(fields[3])
+    sequence = fields[7]
+    if start > end:
+        # Flip start and end and set strand.
+        start, end = end, start
+        strand = "-"
+        # We want sequences relative to strand; FIMO always provides + stranded sequence.
+        sequence = dna_reverse_complement(sequence)
+    else:
+        strand = "+"
+    # Make 0-based start position.
+    start -= 1
+    out_file.write("%s\n" % "\t".join([fields[1], str(start), str(end), fields[0], fields[4], strand, sequence, fields[5], fields[6]]))
+out_file.close()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_almost-gff_1.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+##gff-version 3
+phiX174	fimo	polypeptide_motif	1388	1398	102	+	.	Name=1;ID=1-1-phiX174;pvalue=6.36e-11;qvalue= 1.25e-09;sequence=AATATCTATAA;
+phiX174	fimo	polypeptide_motif	847	857	102	+	.	Name=1;ID=1-2-phiX174;pvalue=7.02e-11;qvalue= 1.25e-09;sequence=AATGTCTAAAG;
+phiX174	fimo	polypeptide_motif	2301	2311	99.6	+	.	Name=1;ID=1-3-phiX174;pvalue=1.08e-10;qvalue= 1.29e-09;sequence=AGGTTATAACG;
+phiX174	fimo	polypeptide_motif	5063	5073	95.6	+	.	Name=1;ID=1-4-phiX174;pvalue=2.73e-10;qvalue= 2.25e-09;sequence=AGGAGCTAAAG;
+phiX174	fimo	polypeptide_motif	989	999	 95	+	.	Name=1;ID=1-5-phiX174;pvalue=3.15e-10;qvalue= 2.25e-09;sequence=TGAGGATAAAT;
+phiX174	fimo	polypeptide_motif	4713	4723	91.1	+	.	Name=1;ID=1-6-phiX174;pvalue=7.74e-10;qvalue= 3.48e-09;sequence=GACTGCTATCA;
+phiX174	fimo	polypeptide_motif	5048	5058	90.7	+	.	Name=1;ID=1-7-phiX174;pvalue=8.51e-10;qvalue= 3.48e-09;sequence=TGCTGCTAAAG;
+phiX174	fimo	polypeptide_motif	855	865	90.6	+	.	Name=1;ID=1-8-phiX174;pvalue=8.64e-10;qvalue= 3.48e-09;sequence=AAGGTAAAAAA;
+phiX174	fimo	polypeptide_motif	3155	3165	90.1	+	.	Name=1;ID=1-9-phiX174;pvalue=9.76e-10;qvalue= 3.48e-09;sequence=TATGGCTAAAG;
+phiX174	fimo	polypeptide_motif	5009	5019	90.1	+	.	Name=1;ID=1-10-phiX174;pvalue=9.76e-10;qvalue= 3.48e-09;sequence=TGTGGCTAAAT;
+phiX174	fimo	polypeptide_motif	814	824	88.9	+	.	Name=1;ID=1-11-phiX174;pvalue=1.28e-09;qvalue= 4.14e-09;sequence=TGCGTCAAAAA;
+phiX174	fimo	polypeptide_motif	2832	2842	88.5	+	.	Name=1;ID=1-12-phiX174;pvalue=1.42e-09;qvalue= 4.23e-09;sequence=TTGGTCTAACT;
+phiX174	fimo	polypeptide_motif	3830	3840	87.7	+	.	Name=1;ID=1-13-phiX174;pvalue=1.7e-09;qvalue= 4.68e-09;sequence=TATTGATAAAG;
+phiX174	fimo	polypeptide_motif	3560	3570	87.2	+	.	Name=1;ID=1-14-phiX174;pvalue=1.89e-09;qvalue= 4.82e-09;sequence=TGCGTCTATTA;
+phiX174	fimo	polypeptide_motif	2882	2892	86.4	+	.	Name=1;ID=1-15-phiX174;pvalue=2.29e-09;qvalue= 5.46e-09;sequence=AGGTTATTAAA;
+phiX174	fimo	polypeptide_motif	4453	4463	85.9	+	.	Name=1;ID=1-16-phiX174;pvalue=2.58e-09;qvalue= 5.75e-09;sequence=AAGGTATTAAG;
+phiX174	fimo	polypeptide_motif	2493	2503	85.1	+	.	Name=1;ID=1-17-phiX174;pvalue=3.06e-09;qvalue= 5.79e-09;sequence=GACACCTAAAG;
+phiX174	fimo	polypeptide_motif	4104	4114	85.1	+	.	Name=1;ID=1-18-phiX174;pvalue=3.08e-09;qvalue= 5.79e-09;sequence=GGCTTCCATAA;
+phiX174	fimo	polypeptide_motif	4955	4965	85.1	+	.	Name=1;ID=1-19-phiX174;pvalue=3.08e-09;qvalue= 5.79e-09;sequence=TGATGCTAAAG;
+phiX174	fimo	polypeptide_motif	1885	1895	84.4	+	.	Name=1;ID=1-20-phiX174;pvalue=3.61e-09;qvalue= 6.45e-09;sequence=TGCGACTAAAG;
+phiX174	fimo	polypeptide_motif	3376	3386	84.2	+	.	Name=1;ID=1-21-phiX174;pvalue=3.81e-09;qvalue= 6.48e-09;sequence=AGAATCAAAAA;
+phiX174	fimo	polypeptide_motif	52	62	83.9	+	.	Name=1;ID=1-22-phiX174;pvalue=4.06e-09;qvalue= 6.58e-09;sequence=TGAGTCGAAAA;
+phiX174	fimo	polypeptide_motif	1390	1400	83.7	+	.	Name=1;ID=1-23-phiX174;pvalue=4.26e-09;qvalue= 6.61e-09;sequence=TATCTATAACA;
+phiX174	fimo	polypeptide_motif	2017	2027	83.4	+	.	Name=1;ID=1-24-phiX174;pvalue=4.6e-09;qvalue= 6.85e-09;sequence=TTCGTCTAAGA;
+phiX174	fimo	polypeptide_motif	1000	1010	83.1	+	.	Name=1;ID=1-25-phiX174;pvalue=4.88e-09;qvalue= 6.97e-09;sequence=TATGTCTAATA;
+phiX174	fimo	polypeptide_motif	1555	1565	82.5	+	.	Name=1;ID=1-26-phiX174;pvalue=5.58e-09;qvalue= 7.37e-09;sequence=GACTTCTACCA;
+phiX174	fimo	polypeptide_motif	4430	4440	82.5	+	.	Name=1;ID=1-27-phiX174;pvalue=5.62e-09;qvalue= 7.37e-09;sequence=TGAGTATAATT;
+phiX174	fimo	polypeptide_motif	1927	1937	82.3	+	.	Name=1;ID=1-28-phiX174;pvalue=5.82e-09;qvalue= 7.37e-09;sequence=GACTTATACCG;
+phiX174	fimo	polypeptide_motif	2981	2991	82.1	+	.	Name=1;ID=1-29-phiX174;pvalue=6.13e-09;qvalue= 7.37e-09;sequence=CATGTCTAAAT;
+phiX174	fimo	polypeptide_motif	4203	4213	 82	+	.	Name=1;ID=1-30-phiX174;pvalue=6.34e-09;qvalue= 7.37e-09;sequence=GACGGCCATAA;
+phiX174	fimo	polypeptide_motif	1669	1679	81.9	+	.	Name=1;ID=1-31-phiX174;pvalue=6.4e-09;qvalue= 7.37e-09;sequence=TGGAGGTAAAA;
+phiX174	fimo	polypeptide_motif	3260	3270	81.5	+	.	Name=1;ID=1-32-phiX174;pvalue=7.01e-09;qvalue= 7.82e-09;sequence=CGCTGATAAAG;
+phiX174	fimo	polypeptide_motif	3047	3057	81.3	+	.	Name=1;ID=1-33-phiX174;pvalue=7.4e-09;qvalue= 7.85e-09;sequence=TACCGATAACA;
+phiX174	fimo	polypeptide_motif	4176	4186	81.2	+	.	Name=1;ID=1-34-phiX174;pvalue=7.6e-09;qvalue= 7.85e-09;sequence=GAGTTCGATAA;
+phiX174	fimo	polypeptide_motif	4118	4128	81.1	+	.	Name=1;ID=1-35-phiX174;pvalue=7.7e-09;qvalue= 7.85e-09;sequence=GATGGATAACC;
+phiX174	fimo	polypeptide_motif	5370	5380	80.9	+	.	Name=1;ID=1-36-phiX174;pvalue=8.03e-09;qvalue= 7.87e-09;sequence=GGCGTATCCAA;
+phiX174	fimo	polypeptide_motif	1242	1252	80.5	+	.	Name=1;ID=1-37-phiX174;pvalue=8.94e-09;qvalue= 7.87e-09;sequence=AGTGGATTAAG;
+phiX174	fimo	polypeptide_motif	2583	2593	80.5	+	.	Name=1;ID=1-38-phiX174;pvalue=8.94e-09;qvalue= 7.87e-09;sequence=TACATCTGTCA;
+phiX174	fimo	polypeptide_motif	698	708	80.4	+	.	Name=1;ID=1-39-phiX174;pvalue=9.13e-09;qvalue= 7.87e-09;sequence=TACGGAAAACA;
+phiX174	fimo	polypeptide_motif	2299	2309	80.3	+	.	Name=1;ID=1-40-phiX174;pvalue=9.26e-09;qvalue= 7.87e-09;sequence=TGAGGTTATAA;
+phiX174	fimo	polypeptide_motif	4189	4199	80.1	+	.	Name=1;ID=1-41-phiX174;pvalue=9.69e-09;qvalue= 7.87e-09;sequence=GTGATATGTAT;
+phiX174	fimo	polypeptide_motif	275	285	80.1	+	.	Name=1;ID=1-42-phiX174;pvalue=9.85e-09;qvalue= 7.87e-09;sequence=GGTTTAGATAT;
+phiX174	fimo	polypeptide_motif	1801	1811	 80	+	.	Name=1;ID=1-43-phiX174;pvalue=1e-08;qvalue= 7.87e-09;sequence=GACCTATAAAC;
+phiX174	fimo	polypeptide_motif	1386	1396	79.9	+	.	Name=1;ID=1-44-phiX174;pvalue=1.03e-08;qvalue= 7.87e-09;sequence=TGAATATCTAT;
+phiX174	fimo	polypeptide_motif	1303	1313	79.8	+	.	Name=1;ID=1-45-phiX174;pvalue=1.03e-08;qvalue= 7.87e-09;sequence=TGGTTATATTG;
+phiX174	fimo	polypeptide_motif	3772	3782	79.8	+	.	Name=1;ID=1-46-phiX174;pvalue=1.04e-08;qvalue= 7.87e-09;sequence=AGGATATTTCT;
+phiX174	fimo	polypeptide_motif	1288	1298	79.8	+	.	Name=1;ID=1-47-phiX174;pvalue=1.04e-08;qvalue= 7.87e-09;sequence=GACTGTTAACA;
+phiX174	fimo	polypeptide_motif	2577	2587	79.7	+	.	Name=1;ID=1-48-phiX174;pvalue=1.08e-08;qvalue= 7.87e-09;sequence=GATGGATACAT;
+phiX174	fimo	polypeptide_motif	937	947	79.6	+	.	Name=1;ID=1-49-phiX174;pvalue=1.08e-08;qvalue= 7.87e-09;sequence=TTGGTATGTAG;
+phiX174	fimo	polypeptide_motif	904	914	79.5	+	.	Name=1;ID=1-50-phiX174;pvalue=1.11e-08;qvalue= 7.93e-09;sequence=AGGTACTAAAG;
+phiX174	fimo	polypeptide_motif	2279	2289	79.4	+	.	Name=1;ID=1-51-phiX174;pvalue=1.13e-08;qvalue= 7.93e-09;sequence=TCGTGATAAAA;
+phiX174	fimo	polypeptide_motif	3164	3174	79.3	+	.	Name=1;ID=1-52-phiX174;pvalue=1.16e-08;qvalue= 7.98e-09;sequence=AGCTGGTAAAG;
+phiX174	fimo	polypeptide_motif	24	34	79.1	+	.	Name=1;ID=1-53-phiX174;pvalue=1.23e-08;qvalue= 8.24e-09;sequence=AGAAGTTAACA;
+phiX174	fimo	polypeptide_motif	838	848	78.9	+	.	Name=1;ID=1-54-phiX174;pvalue=1.27e-08;qvalue= 8.24e-09;sequence=GAGTGATGTAA;
+phiX174	fimo	polypeptide_motif	853	863	78.9	+	.	Name=1;ID=1-55-phiX174;pvalue=1.27e-08;qvalue= 8.24e-09;sequence=TAAAGGTAAAA;
+phiX174	fimo	polypeptide_motif	1984	1994	78.6	+	.	Name=1;ID=1-56-phiX174;pvalue=1.36e-08;qvalue= 8.68e-09;sequence=AATTTCTATGA;
+phiX174	fimo	polypeptide_motif	1	11	78.3	+	.	Name=1;ID=1-57-phiX174;pvalue=1.46e-08;qvalue= 9.05e-09;sequence=GAGTTTTATCG;
+phiX174	fimo	polypeptide_motif	4307	4317	78.3	+	.	Name=1;ID=1-58-phiX174;pvalue=1.47e-08;qvalue= 9.05e-09;sequence=TATTAATAACA;
+phiX174	fimo	polypeptide_motif	4303	4313	78.2	+	.	Name=1;ID=1-59-phiX174;pvalue=1.52e-08;qvalue= 9.19e-09;sequence=TTGATATTAAT;
+phiX174	fimo	polypeptide_motif	5033	5043	 78	+	.	Name=1;ID=1-60-phiX174;pvalue=1.58e-08;qvalue= 9.41e-09;sequence=GTCAGATATGG;
+phiX174	fimo	polypeptide_motif	2579	2589	77.6	+	.	Name=1;ID=1-61-phiX174;pvalue=1.73e-08;qvalue= 1.01e-08;sequence=TGGATACATCT;
+phiX174	fimo	polypeptide_motif	322	332	77.4	+	.	Name=1;ID=1-62-phiX174;pvalue=1.82e-08;qvalue= 1.05e-08;sequence=GACATTTTAAA;
+phiX174	fimo	polypeptide_motif	5001	5011	76.8	+	.	Name=1;ID=1-63-phiX174;pvalue=2.09e-08;qvalue= 1.19e-08;sequence=GGTTTCTATGT;
+phiX174	fimo	polypeptide_motif	4217	4227	76.7	+	.	Name=1;ID=1-64-phiX174;pvalue=2.15e-08;qvalue= 1.2e-08;sequence=TGCTTCTGACG;
+phiX174	fimo	polypeptide_motif	4262	4272	76.6	+	.	Name=1;ID=1-65-phiX174;pvalue=2.18e-08;qvalue= 1.2e-08;sequence=AATGGATGAAT;
+phiX174	fimo	polypeptide_motif	3569	3579	76.5	+	.	Name=1;ID=1-66-phiX174;pvalue=2.26e-08;qvalue= 1.22e-08;sequence=TATGGAAAACA;
+phiX174	fimo	polypeptide_motif	194	204	76.4	+	.	Name=1;ID=1-67-phiX174;pvalue=2.29e-08;qvalue= 1.22e-08;sequence=ATCAACTAACG;
+phiX174	fimo	polypeptide_motif	131	141	 76	+	.	Name=1;ID=1-68-phiX174;pvalue=2.49e-08;qvalue= 1.31e-08;sequence=AAATGAGAAAA;
+phiX174	fimo	polypeptide_motif	1491	1501	75.9	+	.	Name=1;ID=1-69-phiX174;pvalue=2.55e-08;qvalue= 1.32e-08;sequence=GCCATCTCAAA;
+phiX174	fimo	polypeptide_motif	434	444	75.7	+	.	Name=1;ID=1-70-phiX174;pvalue=2.67e-08;qvalue= 1.36e-08;sequence=GGCCTCTATTA;
+phiX174	fimo	polypeptide_motif	4565	4575	75.6	+	.	Name=1;ID=1-71-phiX174;pvalue=2.73e-08;qvalue= 1.36e-08;sequence=TTGGTTTATCG;
+phiX174	fimo	polypeptide_motif	102	112	75.6	+	.	Name=1;ID=1-72-phiX174;pvalue=2.75e-08;qvalue= 1.36e-08;sequence=GAATTAAATCG;
+phiX174	fimo	polypeptide_motif	903	913	75.5	+	.	Name=1;ID=1-73-phiX174;pvalue=2.82e-08;qvalue= 1.38e-08;sequence=GAGGTACTAAA;
+phiX174	fimo	polypeptide_motif	4748	4758	75.2	+	.	Name=1;ID=1-74-phiX174;pvalue=3.01e-08;qvalue= 1.45e-08;sequence=TACAGCTAATG;
+phiX174	fimo	polypeptide_motif	2622	2632	 75	+	.	Name=1;ID=1-75-phiX174;pvalue=3.16e-08;qvalue= 1.5e-08;sequence=TGCTGATATTG;
+phiX174	fimo	polypeptide_motif	467	477	74.7	+	.	Name=1;ID=1-76-phiX174;pvalue=3.35e-08;qvalue= 1.57e-08;sequence=TTTGGATTTAA;
+phiX174	fimo	polypeptide_motif	4033	4043	74.6	+	.	Name=1;ID=1-77-phiX174;pvalue=3.44e-08;qvalue= 1.58e-08;sequence=AGCGTATCGAG;
+phiX174	fimo	polypeptide_motif	1348	1358	74.6	+	.	Name=1;ID=1-78-phiX174;pvalue=3.46e-08;qvalue= 1.58e-08;sequence=TACCAATAAAA;
+phiX174	fimo	polypeptide_motif	239	249	74.4	+	.	Name=1;ID=1-79-phiX174;pvalue=3.62e-08;qvalue= 1.64e-08;sequence=AGTGGCTTAAT;
+phiX174	fimo	polypeptide_motif	500	510	74.1	+	.	Name=1;ID=1-80-phiX174;pvalue=3.84e-08;qvalue= 1.71e-08;sequence=GACGAGTAACA;
+phiX174	fimo	polypeptide_motif	3001	3011	 74	+	.	Name=1;ID=1-81-phiX174;pvalue=3.93e-08;qvalue= 1.73e-08;sequence=GCGGTCAAAAA;
+phiX174	fimo	polypeptide_motif	3776	3786	 74	+	.	Name=1;ID=1-82-phiX174;pvalue=3.98e-08;qvalue= 1.73e-08;sequence=TATTTCTAATG;
+phiX174	fimo	polypeptide_motif	2026	2036	73.9	+	.	Name=1;ID=1-83-phiX174;pvalue=4.06e-08;qvalue= 1.75e-08;sequence=GAAGTTTAAGA;
+phiX174	fimo	polypeptide_motif	4237	4247	73.8	+	.	Name=1;ID=1-84-phiX174;pvalue=4.12e-08;qvalue= 1.75e-08;sequence=AGTTTGTATCT;
+phiX174	fimo	polypeptide_motif	803	813	73.7	+	.	Name=1;ID=1-85-phiX174;pvalue=4.24e-08;qvalue= 1.78e-08;sequence=AGAAGAAAACG;
+phiX174	fimo	polypeptide_motif	3770	3780	73.6	+	.	Name=1;ID=1-86-phiX174;pvalue=4.35e-08;qvalue= 1.81e-08;sequence=AAAGGATATTT;
+phiX174	fimo	polypeptide_motif	3429	3439	73.5	+	.	Name=1;ID=1-87-phiX174;pvalue=4.45e-08;qvalue= 1.82e-08;sequence=GAGATGCAAAA;
+phiX174	fimo	polypeptide_motif	99	109	73.5	+	.	Name=1;ID=1-88-phiX174;pvalue=4.48e-08;qvalue= 1.82e-08;sequence=TACGAATTAAA;
+phiX174	fimo	polypeptide_motif	67	77	73.2	+	.	Name=1;ID=1-89-phiX174;pvalue=4.78e-08;qvalue= 1.92e-08;sequence=TCTTGATAAAG;
+phiX174	fimo	polypeptide_motif	5332	5342	72.9	+	.	Name=1;ID=1-90-phiX174;pvalue=5.13e-08;qvalue= 2.01e-08;sequence=ATCTGCTCAAA;
+phiX174	fimo	polypeptide_motif	277	287	72.9	+	.	Name=1;ID=1-91-phiX174;pvalue=5.14e-08;qvalue= 2.01e-08;sequence=TTTAGATATGA;
+phiX174	fimo	polypeptide_motif	4338	4348	72.8	+	.	Name=1;ID=1-92-phiX174;pvalue=5.18e-08;qvalue= 2.01e-08;sequence=GGGGACGAAAA;
+phiX174	fimo	polypeptide_motif	3812	3822	72.8	+	.	Name=1;ID=1-93-phiX174;pvalue=5.28e-08;qvalue= 2.03e-08;sequence=GGTTGATATTT;
+phiX174	fimo	polypeptide_motif	1909	1919	72.6	+	.	Name=1;ID=1-94-phiX174;pvalue=5.51e-08;qvalue= 2.08e-08;sequence=TAACGCTAAAG;
+phiX174	fimo	polypeptide_motif	3000	3010	72.6	+	.	Name=1;ID=1-95-phiX174;pvalue=5.54e-08;qvalue= 2.08e-08;sequence=GGCGGTCAAAA;
+phiX174	fimo	polypeptide_motif	3891	3901	72.4	+	.	Name=1;ID=1-96-phiX174;pvalue=5.75e-08;qvalue= 2.11e-08;sequence=ATTGGCTCTAA;
+phiX174	fimo	polypeptide_motif	3079	3089	72.4	+	.	Name=1;ID=1-97-phiX174;pvalue=5.76e-08;qvalue= 2.11e-08;sequence=CTGGTATTAAA;
+phiX174	fimo	polypeptide_motif	37	47	72.4	+	.	Name=1;ID=1-98-phiX174;pvalue=5.79e-08;qvalue= 2.11e-08;sequence=TTCGGATATTT;
+phiX174	fimo	polypeptide_motif	380	390	72.2	+	.	Name=1;ID=1-99-phiX174;pvalue=6.01e-08;qvalue= 2.17e-08;sequence=GTAAGAAATCA;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_almost-gff_2.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+##gff-version 3
+phiX174	fimo	polypeptide_motif	1388	1398	102	+	.	Name=1;ID=1-1-phiX174;pvalue=6.36e-11;sequence=AATATCTATAA;
+phiX174	fimo	polypeptide_motif	847	857	102	+	.	Name=1;ID=1-2-phiX174;pvalue=7.02e-11;sequence=AATGTCTAAAG;
+phiX174	fimo	polypeptide_motif	2301	2311	99.6	+	.	Name=1;ID=1-3-phiX174;pvalue=1.08e-10;sequence=AGGTTATAACG;
+phiX174	fimo	polypeptide_motif	5063	5073	95.6	+	.	Name=1;ID=1-4-phiX174;pvalue=2.73e-10;sequence=AGGAGCTAAAG;
+phiX174	fimo	polypeptide_motif	989	999	 95	+	.	Name=1;ID=1-5-phiX174;pvalue=3.15e-10;sequence=TGAGGATAAAT;
+phiX174	fimo	polypeptide_motif	4713	4723	91.1	+	.	Name=1;ID=1-6-phiX174;pvalue=7.74e-10;sequence=GACTGCTATCA;
+phiX174	fimo	polypeptide_motif	5048	5058	90.7	+	.	Name=1;ID=1-7-phiX174;pvalue=8.51e-10;sequence=TGCTGCTAAAG;
+phiX174	fimo	polypeptide_motif	855	865	90.6	+	.	Name=1;ID=1-8-phiX174;pvalue=8.64e-10;sequence=AAGGTAAAAAA;
+phiX174	fimo	polypeptide_motif	3155	3165	90.1	+	.	Name=1;ID=1-9-phiX174;pvalue=9.76e-10;sequence=TATGGCTAAAG;
+phiX174	fimo	polypeptide_motif	5009	5019	90.1	+	.	Name=1;ID=1-10-phiX174;pvalue=9.76e-10;sequence=TGTGGCTAAAT;
+phiX174	fimo	polypeptide_motif	814	824	88.9	+	.	Name=1;ID=1-11-phiX174;pvalue=1.28e-09;sequence=TGCGTCAAAAA;
+phiX174	fimo	polypeptide_motif	2832	2842	88.5	+	.	Name=1;ID=1-12-phiX174;pvalue=1.42e-09;sequence=TTGGTCTAACT;
+phiX174	fimo	polypeptide_motif	3830	3840	87.7	+	.	Name=1;ID=1-13-phiX174;pvalue=1.7e-09;sequence=TATTGATAAAG;
+phiX174	fimo	polypeptide_motif	3560	3570	87.2	+	.	Name=1;ID=1-14-phiX174;pvalue=1.89e-09;sequence=TGCGTCTATTA;
+phiX174	fimo	polypeptide_motif	2882	2892	86.4	+	.	Name=1;ID=1-15-phiX174;pvalue=2.29e-09;sequence=AGGTTATTAAA;
+phiX174	fimo	polypeptide_motif	4453	4463	85.9	+	.	Name=1;ID=1-16-phiX174;pvalue=2.58e-09;sequence=AAGGTATTAAG;
+phiX174	fimo	polypeptide_motif	2493	2503	85.1	+	.	Name=1;ID=1-17-phiX174;pvalue=3.06e-09;sequence=GACACCTAAAG;
+phiX174	fimo	polypeptide_motif	4104	4114	85.1	+	.	Name=1;ID=1-18-phiX174;pvalue=3.08e-09;sequence=GGCTTCCATAA;
+phiX174	fimo	polypeptide_motif	4955	4965	85.1	+	.	Name=1;ID=1-19-phiX174;pvalue=3.08e-09;sequence=TGATGCTAAAG;
+phiX174	fimo	polypeptide_motif	1885	1895	84.4	+	.	Name=1;ID=1-20-phiX174;pvalue=3.61e-09;sequence=TGCGACTAAAG;
+phiX174	fimo	polypeptide_motif	3376	3386	84.2	+	.	Name=1;ID=1-21-phiX174;pvalue=3.81e-09;sequence=AGAATCAAAAA;
+phiX174	fimo	polypeptide_motif	52	62	83.9	+	.	Name=1;ID=1-22-phiX174;pvalue=4.06e-09;sequence=TGAGTCGAAAA;
+phiX174	fimo	polypeptide_motif	1390	1400	83.7	+	.	Name=1;ID=1-23-phiX174;pvalue=4.26e-09;sequence=TATCTATAACA;
+phiX174	fimo	polypeptide_motif	2017	2027	83.4	+	.	Name=1;ID=1-24-phiX174;pvalue=4.6e-09;sequence=TTCGTCTAAGA;
+phiX174	fimo	polypeptide_motif	1000	1010	83.1	+	.	Name=1;ID=1-25-phiX174;pvalue=4.88e-09;sequence=TATGTCTAATA;
+phiX174	fimo	polypeptide_motif	1555	1565	82.5	+	.	Name=1;ID=1-26-phiX174;pvalue=5.58e-09;sequence=GACTTCTACCA;
+phiX174	fimo	polypeptide_motif	4430	4440	82.5	+	.	Name=1;ID=1-27-phiX174;pvalue=5.62e-09;sequence=TGAGTATAATT;
+phiX174	fimo	polypeptide_motif	1927	1937	82.3	+	.	Name=1;ID=1-28-phiX174;pvalue=5.82e-09;sequence=GACTTATACCG;
+phiX174	fimo	polypeptide_motif	2981	2991	82.1	+	.	Name=1;ID=1-29-phiX174;pvalue=6.13e-09;sequence=CATGTCTAAAT;
+phiX174	fimo	polypeptide_motif	4203	4213	 82	+	.	Name=1;ID=1-30-phiX174;pvalue=6.34e-09;sequence=GACGGCCATAA;
+phiX174	fimo	polypeptide_motif	1669	1679	81.9	+	.	Name=1;ID=1-31-phiX174;pvalue=6.4e-09;sequence=TGGAGGTAAAA;
+phiX174	fimo	polypeptide_motif	3260	3270	81.5	+	.	Name=1;ID=1-32-phiX174;pvalue=7.01e-09;sequence=CGCTGATAAAG;
+phiX174	fimo	polypeptide_motif	3047	3057	81.3	+	.	Name=1;ID=1-33-phiX174;pvalue=7.4e-09;sequence=TACCGATAACA;
+phiX174	fimo	polypeptide_motif	4176	4186	81.2	+	.	Name=1;ID=1-34-phiX174;pvalue=7.6e-09;sequence=GAGTTCGATAA;
+phiX174	fimo	polypeptide_motif	4118	4128	81.1	+	.	Name=1;ID=1-35-phiX174;pvalue=7.7e-09;sequence=GATGGATAACC;
+phiX174	fimo	polypeptide_motif	5370	5380	80.9	+	.	Name=1;ID=1-36-phiX174;pvalue=8.03e-09;sequence=GGCGTATCCAA;
+phiX174	fimo	polypeptide_motif	1242	1252	80.5	+	.	Name=1;ID=1-37-phiX174;pvalue=8.94e-09;sequence=AGTGGATTAAG;
+phiX174	fimo	polypeptide_motif	2583	2593	80.5	+	.	Name=1;ID=1-38-phiX174;pvalue=8.94e-09;sequence=TACATCTGTCA;
+phiX174	fimo	polypeptide_motif	698	708	80.4	+	.	Name=1;ID=1-39-phiX174;pvalue=9.13e-09;sequence=TACGGAAAACA;
+phiX174	fimo	polypeptide_motif	2299	2309	80.3	+	.	Name=1;ID=1-40-phiX174;pvalue=9.26e-09;sequence=TGAGGTTATAA;
+phiX174	fimo	polypeptide_motif	4189	4199	80.1	+	.	Name=1;ID=1-41-phiX174;pvalue=9.69e-09;sequence=GTGATATGTAT;
+phiX174	fimo	polypeptide_motif	275	285	80.1	+	.	Name=1;ID=1-42-phiX174;pvalue=9.85e-09;sequence=GGTTTAGATAT;
+phiX174	fimo	polypeptide_motif	1801	1811	 80	+	.	Name=1;ID=1-43-phiX174;pvalue=1e-08;sequence=GACCTATAAAC;
+phiX174	fimo	polypeptide_motif	1386	1396	79.9	+	.	Name=1;ID=1-44-phiX174;pvalue=1.03e-08;sequence=TGAATATCTAT;
+phiX174	fimo	polypeptide_motif	1303	1313	79.8	+	.	Name=1;ID=1-45-phiX174;pvalue=1.03e-08;sequence=TGGTTATATTG;
+phiX174	fimo	polypeptide_motif	3772	3782	79.8	+	.	Name=1;ID=1-46-phiX174;pvalue=1.04e-08;sequence=AGGATATTTCT;
+phiX174	fimo	polypeptide_motif	1288	1298	79.8	+	.	Name=1;ID=1-47-phiX174;pvalue=1.04e-08;sequence=GACTGTTAACA;
+phiX174	fimo	polypeptide_motif	2577	2587	79.7	+	.	Name=1;ID=1-48-phiX174;pvalue=1.08e-08;sequence=GATGGATACAT;
+phiX174	fimo	polypeptide_motif	937	947	79.6	+	.	Name=1;ID=1-49-phiX174;pvalue=1.08e-08;sequence=TTGGTATGTAG;
+phiX174	fimo	polypeptide_motif	904	914	79.5	+	.	Name=1;ID=1-50-phiX174;pvalue=1.11e-08;sequence=AGGTACTAAAG;
+phiX174	fimo	polypeptide_motif	2279	2289	79.4	+	.	Name=1;ID=1-51-phiX174;pvalue=1.13e-08;sequence=TCGTGATAAAA;
+phiX174	fimo	polypeptide_motif	3164	3174	79.3	+	.	Name=1;ID=1-52-phiX174;pvalue=1.16e-08;sequence=AGCTGGTAAAG;
+phiX174	fimo	polypeptide_motif	24	34	79.1	+	.	Name=1;ID=1-53-phiX174;pvalue=1.23e-08;sequence=AGAAGTTAACA;
+phiX174	fimo	polypeptide_motif	838	848	78.9	+	.	Name=1;ID=1-54-phiX174;pvalue=1.27e-08;sequence=GAGTGATGTAA;
+phiX174	fimo	polypeptide_motif	853	863	78.9	+	.	Name=1;ID=1-55-phiX174;pvalue=1.27e-08;sequence=TAAAGGTAAAA;
+phiX174	fimo	polypeptide_motif	1984	1994	78.6	+	.	Name=1;ID=1-56-phiX174;pvalue=1.36e-08;sequence=AATTTCTATGA;
+phiX174	fimo	polypeptide_motif	1	11	78.3	+	.	Name=1;ID=1-57-phiX174;pvalue=1.46e-08;sequence=GAGTTTTATCG;
+phiX174	fimo	polypeptide_motif	4307	4317	78.3	+	.	Name=1;ID=1-58-phiX174;pvalue=1.47e-08;sequence=TATTAATAACA;
+phiX174	fimo	polypeptide_motif	4303	4313	78.2	+	.	Name=1;ID=1-59-phiX174;pvalue=1.52e-08;sequence=TTGATATTAAT;
+phiX174	fimo	polypeptide_motif	5033	5043	 78	+	.	Name=1;ID=1-60-phiX174;pvalue=1.58e-08;sequence=GTCAGATATGG;
+phiX174	fimo	polypeptide_motif	2579	2589	77.6	+	.	Name=1;ID=1-61-phiX174;pvalue=1.73e-08;sequence=TGGATACATCT;
+phiX174	fimo	polypeptide_motif	322	332	77.4	+	.	Name=1;ID=1-62-phiX174;pvalue=1.82e-08;sequence=GACATTTTAAA;
+phiX174	fimo	polypeptide_motif	5001	5011	76.8	+	.	Name=1;ID=1-63-phiX174;pvalue=2.09e-08;sequence=GGTTTCTATGT;
+phiX174	fimo	polypeptide_motif	4217	4227	76.7	+	.	Name=1;ID=1-64-phiX174;pvalue=2.15e-08;sequence=TGCTTCTGACG;
+phiX174	fimo	polypeptide_motif	4262	4272	76.6	+	.	Name=1;ID=1-65-phiX174;pvalue=2.18e-08;sequence=AATGGATGAAT;
+phiX174	fimo	polypeptide_motif	3569	3579	76.5	+	.	Name=1;ID=1-66-phiX174;pvalue=2.26e-08;sequence=TATGGAAAACA;
+phiX174	fimo	polypeptide_motif	194	204	76.4	+	.	Name=1;ID=1-67-phiX174;pvalue=2.29e-08;sequence=ATCAACTAACG;
+phiX174	fimo	polypeptide_motif	131	141	 76	+	.	Name=1;ID=1-68-phiX174;pvalue=2.49e-08;sequence=AAATGAGAAAA;
+phiX174	fimo	polypeptide_motif	1491	1501	75.9	+	.	Name=1;ID=1-69-phiX174;pvalue=2.55e-08;sequence=GCCATCTCAAA;
+phiX174	fimo	polypeptide_motif	434	444	75.7	+	.	Name=1;ID=1-70-phiX174;pvalue=2.67e-08;sequence=GGCCTCTATTA;
+phiX174	fimo	polypeptide_motif	4565	4575	75.6	+	.	Name=1;ID=1-71-phiX174;pvalue=2.73e-08;sequence=TTGGTTTATCG;
+phiX174	fimo	polypeptide_motif	102	112	75.6	+	.	Name=1;ID=1-72-phiX174;pvalue=2.75e-08;sequence=GAATTAAATCG;
+phiX174	fimo	polypeptide_motif	903	913	75.5	+	.	Name=1;ID=1-73-phiX174;pvalue=2.82e-08;sequence=GAGGTACTAAA;
+phiX174	fimo	polypeptide_motif	4748	4758	75.2	+	.	Name=1;ID=1-74-phiX174;pvalue=3.01e-08;sequence=TACAGCTAATG;
+phiX174	fimo	polypeptide_motif	2622	2632	 75	+	.	Name=1;ID=1-75-phiX174;pvalue=3.16e-08;sequence=TGCTGATATTG;
+phiX174	fimo	polypeptide_motif	467	477	74.7	+	.	Name=1;ID=1-76-phiX174;pvalue=3.35e-08;sequence=TTTGGATTTAA;
+phiX174	fimo	polypeptide_motif	4033	4043	74.6	+	.	Name=1;ID=1-77-phiX174;pvalue=3.44e-08;sequence=AGCGTATCGAG;
+phiX174	fimo	polypeptide_motif	1348	1358	74.6	+	.	Name=1;ID=1-78-phiX174;pvalue=3.46e-08;sequence=TACCAATAAAA;
+phiX174	fimo	polypeptide_motif	239	249	74.4	+	.	Name=1;ID=1-79-phiX174;pvalue=3.62e-08;sequence=AGTGGCTTAAT;
+phiX174	fimo	polypeptide_motif	500	510	74.1	+	.	Name=1;ID=1-80-phiX174;pvalue=3.84e-08;sequence=GACGAGTAACA;
+phiX174	fimo	polypeptide_motif	3001	3011	 74	+	.	Name=1;ID=1-81-phiX174;pvalue=3.93e-08;sequence=GCGGTCAAAAA;
+phiX174	fimo	polypeptide_motif	3776	3786	 74	+	.	Name=1;ID=1-82-phiX174;pvalue=3.98e-08;sequence=TATTTCTAATG;
+phiX174	fimo	polypeptide_motif	2026	2036	73.9	+	.	Name=1;ID=1-83-phiX174;pvalue=4.06e-08;sequence=GAAGTTTAAGA;
+phiX174	fimo	polypeptide_motif	4237	4247	73.8	+	.	Name=1;ID=1-84-phiX174;pvalue=4.12e-08;sequence=AGTTTGTATCT;
+phiX174	fimo	polypeptide_motif	803	813	73.7	+	.	Name=1;ID=1-85-phiX174;pvalue=4.24e-08;sequence=AGAAGAAAACG;
+phiX174	fimo	polypeptide_motif	3770	3780	73.6	+	.	Name=1;ID=1-86-phiX174;pvalue=4.35e-08;sequence=AAAGGATATTT;
+phiX174	fimo	polypeptide_motif	3429	3439	73.5	+	.	Name=1;ID=1-87-phiX174;pvalue=4.45e-08;sequence=GAGATGCAAAA;
+phiX174	fimo	polypeptide_motif	99	109	73.5	+	.	Name=1;ID=1-88-phiX174;pvalue=4.48e-08;sequence=TACGAATTAAA;
+phiX174	fimo	polypeptide_motif	67	77	73.2	+	.	Name=1;ID=1-89-phiX174;pvalue=4.78e-08;sequence=TCTTGATAAAG;
+phiX174	fimo	polypeptide_motif	5332	5342	72.9	+	.	Name=1;ID=1-90-phiX174;pvalue=5.13e-08;sequence=ATCTGCTCAAA;
+phiX174	fimo	polypeptide_motif	277	287	72.9	+	.	Name=1;ID=1-91-phiX174;pvalue=5.14e-08;sequence=TTTAGATATGA;
+phiX174	fimo	polypeptide_motif	4338	4348	72.8	+	.	Name=1;ID=1-92-phiX174;pvalue=5.18e-08;sequence=GGGGACGAAAA;
+phiX174	fimo	polypeptide_motif	3812	3822	72.8	+	.	Name=1;ID=1-93-phiX174;pvalue=5.28e-08;sequence=GGTTGATATTT;
+phiX174	fimo	polypeptide_motif	1909	1919	72.6	+	.	Name=1;ID=1-94-phiX174;pvalue=5.51e-08;sequence=TAACGCTAAAG;
+phiX174	fimo	polypeptide_motif	3000	3010	72.6	+	.	Name=1;ID=1-95-phiX174;pvalue=5.54e-08;sequence=GGCGGTCAAAA;
+phiX174	fimo	polypeptide_motif	3891	3901	72.4	+	.	Name=1;ID=1-96-phiX174;pvalue=5.75e-08;sequence=ATTGGCTCTAA;
+phiX174	fimo	polypeptide_motif	3079	3089	72.4	+	.	Name=1;ID=1-97-phiX174;pvalue=5.76e-08;sequence=CTGGTATTAAA;
+phiX174	fimo	polypeptide_motif	37	47	72.4	+	.	Name=1;ID=1-98-phiX174;pvalue=5.79e-08;sequence=TTCGGATATTT;
+phiX174	fimo	polypeptide_motif	380	390	72.2	+	.	Name=1;ID=1-99-phiX174;pvalue=6.01e-08;sequence=GTAAGAAATCA;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_html_1.html	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html xmlns:cis="http://zlab.bu.edu/schema/cisml" xmlns:fimo="http://noble.gs.washington.edu/schema/cisml" xmlns:mem="http://noble.gs.washington.edu/meme">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
+<title>FIMO Results</title>
+<style type="text/css">
+td.left {text-align: left;}
+td.right {text-align: right; padding-right: 1cm;}
+</style>
+</head>
+<body bgcolor="#D5F0FF">
+<a name="top_buttons"></a>
+<hr>
+<table summary="buttons" align="left" cellspacing="0">
+<tr>
+<td bgcolor="#00FFFF"><a href="#database_and_motifs"><b>Database and Motifs</b></a></td>
+<td bgcolor="#DDFFDD"><a href="#sec_i"><b>High-scoring Motif Occurences</b></a></td>
+<td bgcolor="#DDDDFF"><a href="#debugging_information"><b>Debugging Information</b></a></td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<center><big><b>FIMO - Motif search tool</b></big></center>
+<hr>
+<p>
+FIMO version 4.11.0, (Release date: Thu Nov 26 17:48:49 2015 +1000)
+</p>
+<p>
+For further information on how to interpret these results
+or to get a copy of the FIMO software please access
+<a href="http://meme.nbcr.net">http://meme.nbcr.net</a></p>
+<p>If you use FIMO in your research, please cite the following paper:<br>
+Charles E. Grant, Timothy L. Bailey, and William Stafford Noble,
+"FIMO: Scanning for occurrences of a given motif",
+<i>Bioinformatics</i>, <b>27</b>(7):1017-1018, 2011.
+<a href="http://bioinformatics.oxfordjournals.org/content/27/7/1017">[full text]</a></p>
+<hr>
+<center><big><b><a name="database_and_motifs">DATABASE AND MOTIFS</a></b></big></center>
+<hr>
+<div style="padding-left: 0.75in; line-height: 1em; font-family: monospace;">
+<p>
+  DATABASE /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2541.dat
+  <br />
+  Database contains 1 sequences, 5386 residues
+</p>
+<p>
+  MOTIFS /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2540.dat (Protein)
+  <table>
+    <thead>
+      <tr>
+        <th style="border-bottom: 1px dashed;">MOTIF</th>
+        <th style="border-bottom: 1px dashed; padding-left: 1em;">WIDTH</th>
+        <th style="border-bottom: 1px dashed; padding-left: 1em;text-align:left;" >
+         BEST POSSIBLE MATCH
+        </th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td style="text-align:right;">1</td>
+        <td style="text-align:right;padding-left: 1em;">11</td>
+        <td style="text-align:left;padding-left: 1em;">GGGGTATAAAA</td>
+       </tr>
+    </tbody>
+  </table>
+</p>
+<p>
+Random model letter frequencies (from non-redundant database):
+<br/>
+
+A 0.073 C 0.018 D 0.052 E 0.062 F 0.040 G 0.069 H 0.022 I 0.056 K 0.058 
+L 0.092 M 0.023 N 0.046 P 0.051 Q 0.041 R 0.052 S 0.074 T 0.059 V 0.064 
+W 0.013 Y 0.033 </p>
+</div>
+<hr>
+<center><big><b><a name="sec_i">SECTION I: HIGH-SCORING MOTIF OCCURENCES</a></b></big></center>
+<hr>
+<ul>
+<li>
+There were 1937 motif occurences with a p-value less than 0.0001.
+<b>Only the most significant 1000 matches are shown here.</b>
+
+The full set of motif occurences can be seen in the
+tab-delimited plain text output file
+<a href="fimo.txt">fimo.txt</a>, 
+the GFF file 
+<a href="fimo.gff">fimo.gff</a> 
+which may be suitable for uploading to the 
+<a href="http://genome.ucsc.edu/cgi-bin/hgTables">UCSC Genome Table Browser</a>
+(assuming the FASTA input sequences included genomic coordinates in UCSC or Galaxy format),
+or the XML file 
+<a href="fimo.xml">fimo.xml</a>.
+</li>
+<li>
+The p-value of a motif occurrence is defined as the
+probability of a random sequence of the same length as the motif
+matching that position of the sequence with as good or better a score.
+</li>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_html_2.html	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,98 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html xmlns:cis="http://zlab.bu.edu/schema/cisml" xmlns:fimo="http://noble.gs.washington.edu/schema/cisml" xmlns:mem="http://noble.gs.washington.edu/meme">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<meta charset="UTF-8">
+<title>FIMO Results</title>
+<style type="text/css">
+td.left {text-align: left;}
+td.right {text-align: right; padding-right: 1cm;}
+</style>
+</head>
+<body bgcolor="#D5F0FF">
+<a name="top_buttons"></a>
+<hr>
+<table summary="buttons" align="left" cellspacing="0">
+<tr>
+<td bgcolor="#00FFFF"><a href="#database_and_motifs"><b>Database and Motifs</b></a></td>
+<td bgcolor="#DDFFDD"><a href="#sec_i"><b>High-scoring Motif Occurences</b></a></td>
+<td bgcolor="#DDDDFF"><a href="#debugging_information"><b>Debugging Information</b></a></td>
+</tr>
+</table>
+<br/>
+<br/>
+<hr/>
+<center><big><b>FIMO - Motif search tool</b></big></center>
+<hr>
+<p>
+FIMO version 4.11.0, (Release date: Thu Nov 26 17:48:49 2015 +1000)
+</p>
+<p>
+For further information on how to interpret these results
+or to get a copy of the FIMO software please access
+<a href="http://meme.nbcr.net">http://meme.nbcr.net</a></p>
+<p>If you use FIMO in your research, please cite the following paper:<br>
+Charles E. Grant, Timothy L. Bailey, and William Stafford Noble,
+"FIMO: Scanning for occurrences of a given motif",
+<i>Bioinformatics</i>, <b>27</b>(7):1017-1018, 2011.
+<a href="http://bioinformatics.oxfordjournals.org/content/27/7/1017">[full text]</a></p>
+<hr>
+<center><big><b><a name="database_and_motifs">DATABASE AND MOTIFS</a></b></big></center>
+<hr>
+<div style="padding-left: 0.75in; line-height: 1em; font-family: monospace;">
+<p>
+  <br />
+  Database contains 1 sequences, 5386 residues
+</p>
+<p>
+  <table>
+    <thead>
+      <tr>
+        <th style="border-bottom: 1px dashed;">MOTIF</th>
+        <th style="border-bottom: 1px dashed; padding-left: 1em;">WIDTH</th>
+        <th style="border-bottom: 1px dashed; padding-left: 1em;text-align:left;" >
+         BEST POSSIBLE MATCH
+        </th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr>
+        <td style="text-align:right;">1</td>
+        <td style="text-align:right;padding-left: 1em;">11</td>
+        <td style="text-align:left;padding-left: 1em;">GGGGTATAAAA</td>
+       </tr>
+    </tbody>
+  </table>
+</p>
+<p>
+Random model letter frequencies (from non-redundant database):
+<br/>
+
+A 0.073 C 0.018 D 0.052 E 0.062 F 0.040 G 0.069 H 0.022 I 0.056 K 0.058 
+L 0.092 M 0.023 N 0.046 P 0.051 Q 0.041 R 0.052 S 0.074 T 0.059 V 0.064 
+W 0.013 Y 0.033 </p>
+</div>
+<hr>
+<center><big><b><a name="sec_i">SECTION I: HIGH-SCORING MOTIF OCCURENCES</a></b></big></center>
+<hr>
+<ul>
+<li>
+There were 1937 motif occurences with a p-value less than 0.0001.
+<b>Only the most significant 1000 matches are shown here.</b>
+
+The full set of motif occurences can be seen in the
+tab-delimited plain text output file
+<a href="fimo.txt">fimo.txt</a>, 
+the GFF file 
+<a href="fimo.gff">fimo.gff</a> 
+which may be suitable for uploading to the 
+<a href="http://genome.ucsc.edu/cgi-bin/hgTables">UCSC Genome Table Browser</a>
+(assuming the FASTA input sequences included genomic coordinates in UCSC or Galaxy format),
+or the XML file 
+<a href="fimo.xml">fimo.xml</a>.
+</li>
+<li>
+The p-value of a motif occurrence is defined as the
+probability of a random sequence of the same length as the motif
+matching that position of the sequence with as good or better a score.
+</li>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_interval_1.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+#chr	start	end	pattern name	score	strand	matched sequence	p-value	q-value
+phiX174	1387	1398	1	+	+	1.25e-09	29.4024	6.36e-11
+phiX174	846	857	1	+	+	1.25e-09	29.122	7.02e-11
+phiX174	2300	2311	1	+	+	1.29e-09	27.6463	1.08e-10
+phiX174	5062	5073	1	+	+	2.25e-09	25.5366	2.73e-10
+phiX174	988	999	1	+	+	2.25e-09	25.3049	3.15e-10
+phiX174	4712	4723	1	+	+	3.48e-09	23.622	7.74e-10
+phiX174	5047	5058	1	+	+	3.48e-09	23.3293	8.51e-10
+phiX174	854	865	1	+	+	3.48e-09	23.3049	8.64e-10
+phiX174	3154	3165	1	+	+	3.48e-09	23.0366	9.76e-10
+phiX174	5008	5019	1	+	+	3.48e-09	23.0366	9.76e-10
+phiX174	813	824	1	+	+	4.14e-09	22.5854	1.28e-09
+phiX174	2831	2842	1	+	+	4.23e-09	22.3415	1.42e-09
+phiX174	3829	3840	1	+	+	4.68e-09	21.8293	1.7e-09
+phiX174	3559	3570	1	+	+	4.82e-09	21.5976	1.89e-09
+phiX174	2881	2892	1	+	+	5.46e-09	21.1951	2.29e-09
+phiX174	4452	4463	1	+	+	5.75e-09	20.8902	2.58e-09
+phiX174	2492	2503	1	+	+	5.79e-09	20.3415	3.06e-09
+phiX174	4103	4114	1	+	+	5.79e-09	20.3171	3.08e-09
+phiX174	4954	4965	1	+	+	5.79e-09	20.3171	3.08e-09
+phiX174	1884	1895	1	+	+	6.45e-09	19.9268	3.61e-09
+phiX174	3375	3386	1	+	+	6.48e-09	19.7683	3.81e-09
+phiX174	51	62	1	+	+	6.58e-09	19.5732	4.06e-09
+phiX174	1389	1400	1	+	+	6.61e-09	19.378	4.26e-09
+phiX174	2016	2027	1	+	+	6.85e-09	19.0854	4.6e-09
+phiX174	999	1010	1	+	+	6.97e-09	18.878	4.88e-09
+phiX174	1554	1565	1	+	+	7.37e-09	18.439	5.58e-09
+phiX174	4429	4440	1	+	+	7.37e-09	18.4268	5.62e-09
+phiX174	1926	1937	1	+	+	7.37e-09	18.2927	5.82e-09
+phiX174	2980	2991	1	+	+	7.37e-09	18.0732	6.13e-09
+phiX174	4202	4213	1	+	+	7.37e-09	17.9268	6.34e-09
+phiX174	1668	1679	1	+	+	7.37e-09	17.8659	6.4e-09
+phiX174	3259	3270	1	+	+	7.82e-09	17.5	7.01e-09
+phiX174	3046	3057	1	+	+	7.85e-09	17.2805	7.4e-09
+phiX174	4175	4186	1	+	+	7.85e-09	17.1829	7.6e-09
+phiX174	4117	4128	1	+	+	7.85e-09	17.1341	7.7e-09
+phiX174	5369	5380	1	+	+	7.87e-09	16.9878	8.03e-09
+phiX174	1241	1252	1	+	+	7.87e-09	16.5122	8.94e-09
+phiX174	2582	2593	1	+	+	7.87e-09	16.5122	8.94e-09
+phiX174	697	708	1	+	+	7.87e-09	16.4146	9.13e-09
+phiX174	2298	2309	1	+	+	7.87e-09	16.3537	9.26e-09
+phiX174	4188	4199	1	+	+	7.87e-09	16.1707	9.69e-09
+phiX174	274	285	1	+	+	7.87e-09	16.0976	9.85e-09
+phiX174	1800	1811	1	+	+	7.87e-09	16.0366	1e-08
+phiX174	1385	1396	1	+	+	7.87e-09	15.9268	1.03e-08
+phiX174	1302	1313	1	+	+	7.87e-09	15.9024	1.03e-08
+phiX174	3771	3782	1	+	+	7.87e-09	15.878	1.04e-08
+phiX174	1287	1298	1	+	+	7.87e-09	15.8659	1.04e-08
+phiX174	2576	2587	1	+	+	7.87e-09	15.7683	1.08e-08
+phiX174	936	947	1	+	+	7.87e-09	15.7561	1.08e-08
+phiX174	903	914	1	+	+	7.93e-09	15.6585	1.11e-08
+phiX174	2278	2289	1	+	+	7.93e-09	15.5854	1.13e-08
+phiX174	3163	3174	1	+	+	7.98e-09	15.5	1.16e-08
+phiX174	23	34	1	+	+	8.24e-09	15.3293	1.23e-08
+phiX174	837	848	1	+	+	8.24e-09	15.2561	1.27e-08
+phiX174	852	863	1	+	+	8.24e-09	15.2561	1.27e-08
+phiX174	1983	1994	1	+	+	8.68e-09	15.0244	1.36e-08
+phiX174	0	11	1	+	+	9.05e-09	14.8293	1.46e-08
+phiX174	4306	4317	1	+	+	9.05e-09	14.7927	1.47e-08
+phiX174	4302	4313	1	+	+	9.19e-09	14.6585	1.52e-08
+phiX174	5032	5043	1	+	+	9.41e-09	14.561	1.58e-08
+phiX174	2578	2589	1	+	+	1.01e-08	14.2927	1.73e-08
+phiX174	321	332	1	+	+	1.05e-08	14.1951	1.82e-08
+phiX174	5000	5011	1	+	+	1.19e-08	13.8902	2.09e-08
+phiX174	4216	4227	1	+	+	1.2e-08	13.8171	2.15e-08
+phiX174	4261	4272	1	+	+	1.2e-08	13.7805	2.18e-08
+phiX174	3568	3579	1	+	+	1.22e-08	13.7073	2.26e-08
+phiX174	193	204	1	+	+	1.22e-08	13.6829	2.29e-08
+phiX174	130	141	1	+	+	1.31e-08	13.4756	2.49e-08
+phiX174	1490	1501	1	+	+	1.32e-08	13.4024	2.55e-08
+phiX174	433	444	1	+	+	1.36e-08	13.2805	2.67e-08
+phiX174	4564	4575	1	+	+	1.36e-08	13.2439	2.73e-08
+phiX174	101	112	1	+	+	1.36e-08	13.2195	2.75e-08
+phiX174	902	913	1	+	+	1.38e-08	13.1463	2.82e-08
+phiX174	4747	4758	1	+	+	1.45e-08	12.9756	3.01e-08
+phiX174	2621	2632	1	+	+	1.5e-08	12.8659	3.16e-08
+phiX174	466	477	1	+	+	1.57e-08	12.7317	3.35e-08
+phiX174	4032	4043	1	+	+	1.58e-08	12.6829	3.44e-08
+phiX174	1347	1358	1	+	+	1.58e-08	12.6707	3.46e-08
+phiX174	238	249	1	+	+	1.64e-08	12.5732	3.62e-08
+phiX174	499	510	1	+	+	1.71e-08	12.4634	3.84e-08
+phiX174	3000	3011	1	+	+	1.73e-08	12.4146	3.93e-08
+phiX174	3775	3786	1	+	+	1.73e-08	12.378	3.98e-08
+phiX174	2025	2036	1	+	+	1.75e-08	12.3293	4.06e-08
+phiX174	4236	4247	1	+	+	1.75e-08	12.3049	4.12e-08
+phiX174	802	813	1	+	+	1.78e-08	12.2439	4.24e-08
+phiX174	3769	3780	1	+	+	1.81e-08	12.1829	4.35e-08
+phiX174	3428	3439	1	+	+	1.82e-08	12.122	4.45e-08
+phiX174	98	109	1	+	+	1.82e-08	12.1098	4.48e-08
+phiX174	66	77	1	+	+	1.92e-08	11.9268	4.78e-08
+phiX174	5331	5342	1	+	+	2.01e-08	11.7195	5.13e-08
+phiX174	276	287	1	+	+	2.01e-08	11.7073	5.14e-08
+phiX174	4337	4348	1	+	+	2.01e-08	11.6951	5.18e-08
+phiX174	3811	3822	1	+	+	2.03e-08	11.6585	5.28e-08
+phiX174	1908	1919	1	+	+	2.08e-08	11.5488	5.51e-08
+phiX174	2999	3010	1	+	+	2.08e-08	11.5366	5.54e-08
+phiX174	3890	3901	1	+	+	2.11e-08	11.439	5.75e-08
+phiX174	3078	3089	1	+	+	2.11e-08	11.4268	5.76e-08
+phiX174	36	47	1	+	+	2.11e-08	11.4146	5.79e-08
+phiX174	379	390	1	+	+	2.17e-08	11.3293	6.01e-08
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_interval_2.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+#chr	start	end	pattern name	score	strand	matched sequence	p-value	q-value
+phiX174	1387	1398	1	+	+	0	29.4024	6.36e-11
+phiX174	846	857	1	+	+	0	29.122	7.02e-11
+phiX174	2300	2311	1	+	+	0	27.6463	1.08e-10
+phiX174	5062	5073	1	+	+	0	25.5366	2.73e-10
+phiX174	988	999	1	+	+	0	25.3049	3.15e-10
+phiX174	4712	4723	1	+	+	0	23.622	7.74e-10
+phiX174	5047	5058	1	+	+	0	23.3293	8.51e-10
+phiX174	854	865	1	+	+	0	23.3049	8.64e-10
+phiX174	3154	3165	1	+	+	0	23.0366	9.76e-10
+phiX174	5008	5019	1	+	+	0	23.0366	9.76e-10
+phiX174	813	824	1	+	+	0	22.5854	1.28e-09
+phiX174	2831	2842	1	+	+	0	22.3415	1.42e-09
+phiX174	3829	3840	1	+	+	0	21.8293	1.7e-09
+phiX174	3559	3570	1	+	+	0	21.5976	1.89e-09
+phiX174	2881	2892	1	+	+	0	21.1951	2.29e-09
+phiX174	4452	4463	1	+	+	0	20.8902	2.58e-09
+phiX174	2492	2503	1	+	+	0	20.3415	3.06e-09
+phiX174	4103	4114	1	+	+	0	20.3171	3.08e-09
+phiX174	4954	4965	1	+	+	0	20.3171	3.08e-09
+phiX174	1884	1895	1	+	+	0	19.9268	3.61e-09
+phiX174	3375	3386	1	+	+	0	19.7683	3.81e-09
+phiX174	51	62	1	+	+	0	19.5732	4.06e-09
+phiX174	1389	1400	1	+	+	0	19.378	4.26e-09
+phiX174	2016	2027	1	+	+	0	19.0854	4.6e-09
+phiX174	999	1010	1	+	+	0	18.878	4.88e-09
+phiX174	1554	1565	1	+	+	0	18.439	5.58e-09
+phiX174	4429	4440	1	+	+	0	18.4268	5.62e-09
+phiX174	1926	1937	1	+	+	0	18.2927	5.82e-09
+phiX174	2980	2991	1	+	+	0	18.0732	6.13e-09
+phiX174	4202	4213	1	+	+	0	17.9268	6.34e-09
+phiX174	1668	1679	1	+	+	0	17.8659	6.4e-09
+phiX174	3259	3270	1	+	+	0	17.5	7.01e-09
+phiX174	3046	3057	1	+	+	0	17.2805	7.4e-09
+phiX174	4175	4186	1	+	+	0	17.1829	7.6e-09
+phiX174	4117	4128	1	+	+	0	17.1341	7.7e-09
+phiX174	5369	5380	1	+	+	0	16.9878	8.03e-09
+phiX174	1241	1252	1	+	+	0	16.5122	8.94e-09
+phiX174	2582	2593	1	+	+	0	16.5122	8.94e-09
+phiX174	697	708	1	+	+	0	16.4146	9.13e-09
+phiX174	2298	2309	1	+	+	0	16.3537	9.26e-09
+phiX174	4188	4199	1	+	+	0	16.1707	9.69e-09
+phiX174	274	285	1	+	+	0	16.0976	9.85e-09
+phiX174	1800	1811	1	+	+	0	16.0366	1e-08
+phiX174	1385	1396	1	+	+	0	15.9268	1.03e-08
+phiX174	1302	1313	1	+	+	0	15.9024	1.03e-08
+phiX174	3771	3782	1	+	+	0	15.878	1.04e-08
+phiX174	1287	1298	1	+	+	0	15.8659	1.04e-08
+phiX174	2576	2587	1	+	+	0	15.7683	1.08e-08
+phiX174	936	947	1	+	+	0	15.7561	1.08e-08
+phiX174	903	914	1	+	+	0	15.6585	1.11e-08
+phiX174	2278	2289	1	+	+	0	15.5854	1.13e-08
+phiX174	3163	3174	1	+	+	0	15.5	1.16e-08
+phiX174	23	34	1	+	+	0	15.3293	1.23e-08
+phiX174	837	848	1	+	+	0	15.2561	1.27e-08
+phiX174	852	863	1	+	+	0	15.2561	1.27e-08
+phiX174	1983	1994	1	+	+	0	15.0244	1.36e-08
+phiX174	0	11	1	+	+	0	14.8293	1.46e-08
+phiX174	4306	4317	1	+	+	0	14.7927	1.47e-08
+phiX174	4302	4313	1	+	+	0	14.6585	1.52e-08
+phiX174	5032	5043	1	+	+	0	14.561	1.58e-08
+phiX174	2578	2589	1	+	+	0	14.2927	1.73e-08
+phiX174	321	332	1	+	+	0	14.1951	1.82e-08
+phiX174	5000	5011	1	+	+	0	13.8902	2.09e-08
+phiX174	4216	4227	1	+	+	0	13.8171	2.15e-08
+phiX174	4261	4272	1	+	+	0	13.7805	2.18e-08
+phiX174	3568	3579	1	+	+	0	13.7073	2.26e-08
+phiX174	193	204	1	+	+	0	13.6829	2.29e-08
+phiX174	130	141	1	+	+	0	13.4756	2.49e-08
+phiX174	1490	1501	1	+	+	0	13.4024	2.55e-08
+phiX174	433	444	1	+	+	0	13.2805	2.67e-08
+phiX174	4564	4575	1	+	+	0	13.2439	2.73e-08
+phiX174	101	112	1	+	+	0	13.2195	2.75e-08
+phiX174	902	913	1	+	+	0	13.1463	2.82e-08
+phiX174	4747	4758	1	+	+	0	12.9756	3.01e-08
+phiX174	2621	2632	1	+	+	0	12.8659	3.16e-08
+phiX174	466	477	1	+	+	0	12.7317	3.35e-08
+phiX174	4032	4043	1	+	+	0	12.6829	3.44e-08
+phiX174	1347	1358	1	+	+	0	12.6707	3.46e-08
+phiX174	238	249	1	+	+	0	12.5732	3.62e-08
+phiX174	499	510	1	+	+	0	12.4634	3.84e-08
+phiX174	3000	3011	1	+	+	0	12.4146	3.93e-08
+phiX174	3775	3786	1	+	+	0	12.378	3.98e-08
+phiX174	2025	2036	1	+	+	0	12.3293	4.06e-08
+phiX174	4236	4247	1	+	+	0	12.3049	4.12e-08
+phiX174	802	813	1	+	+	0	12.2439	4.24e-08
+phiX174	3769	3780	1	+	+	0	12.1829	4.35e-08
+phiX174	3428	3439	1	+	+	0	12.122	4.45e-08
+phiX174	98	109	1	+	+	0	12.1098	4.48e-08
+phiX174	66	77	1	+	+	0	11.9268	4.78e-08
+phiX174	5331	5342	1	+	+	0	11.7195	5.13e-08
+phiX174	276	287	1	+	+	0	11.7073	5.14e-08
+phiX174	4337	4348	1	+	+	0	11.6951	5.18e-08
+phiX174	3811	3822	1	+	+	0	11.6585	5.28e-08
+phiX174	1908	1919	1	+	+	0	11.5488	5.51e-08
+phiX174	2999	3010	1	+	+	0	11.5366	5.54e-08
+phiX174	3890	3901	1	+	+	0	11.439	5.75e-08
+phiX174	3078	3089	1	+	+	0	11.4268	5.76e-08
+phiX174	36	47	1	+	+	0	11.4146	5.79e-08
+phiX174	379	390	1	+	+	0	11.3293	6.01e-08
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_txt_1.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+#pattern name	sequence name	start	stop	strand	score	p-value	q-value	matched sequence
+1	phiX174	1388	1398	+	29.4024	6.36e-11	1.25e-09	AATATCTATAA
+1	phiX174	847	857	+	29.122	7.02e-11	1.25e-09	AATGTCTAAAG
+1	phiX174	2301	2311	+	27.6463	1.08e-10	1.29e-09	AGGTTATAACG
+1	phiX174	5063	5073	+	25.5366	2.73e-10	2.25e-09	AGGAGCTAAAG
+1	phiX174	989	999	+	25.3049	3.15e-10	2.25e-09	TGAGGATAAAT
+1	phiX174	4713	4723	+	23.622	7.74e-10	3.48e-09	GACTGCTATCA
+1	phiX174	5048	5058	+	23.3293	8.51e-10	3.48e-09	TGCTGCTAAAG
+1	phiX174	855	865	+	23.3049	8.64e-10	3.48e-09	AAGGTAAAAAA
+1	phiX174	3155	3165	+	23.0366	9.76e-10	3.48e-09	TATGGCTAAAG
+1	phiX174	5009	5019	+	23.0366	9.76e-10	3.48e-09	TGTGGCTAAAT
+1	phiX174	814	824	+	22.5854	1.28e-09	4.14e-09	TGCGTCAAAAA
+1	phiX174	2832	2842	+	22.3415	1.42e-09	4.23e-09	TTGGTCTAACT
+1	phiX174	3830	3840	+	21.8293	1.7e-09	4.68e-09	TATTGATAAAG
+1	phiX174	3560	3570	+	21.5976	1.89e-09	4.82e-09	TGCGTCTATTA
+1	phiX174	2882	2892	+	21.1951	2.29e-09	5.46e-09	AGGTTATTAAA
+1	phiX174	4453	4463	+	20.8902	2.58e-09	5.75e-09	AAGGTATTAAG
+1	phiX174	2493	2503	+	20.3415	3.06e-09	5.79e-09	GACACCTAAAG
+1	phiX174	4104	4114	+	20.3171	3.08e-09	5.79e-09	GGCTTCCATAA
+1	phiX174	4955	4965	+	20.3171	3.08e-09	5.79e-09	TGATGCTAAAG
+1	phiX174	1885	1895	+	19.9268	3.61e-09	6.45e-09	TGCGACTAAAG
+1	phiX174	3376	3386	+	19.7683	3.81e-09	6.48e-09	AGAATCAAAAA
+1	phiX174	52	62	+	19.5732	4.06e-09	6.58e-09	TGAGTCGAAAA
+1	phiX174	1390	1400	+	19.378	4.26e-09	6.61e-09	TATCTATAACA
+1	phiX174	2017	2027	+	19.0854	4.6e-09	6.85e-09	TTCGTCTAAGA
+1	phiX174	1000	1010	+	18.878	4.88e-09	6.97e-09	TATGTCTAATA
+1	phiX174	1555	1565	+	18.439	5.58e-09	7.37e-09	GACTTCTACCA
+1	phiX174	4430	4440	+	18.4268	5.62e-09	7.37e-09	TGAGTATAATT
+1	phiX174	1927	1937	+	18.2927	5.82e-09	7.37e-09	GACTTATACCG
+1	phiX174	2981	2991	+	18.0732	6.13e-09	7.37e-09	CATGTCTAAAT
+1	phiX174	4203	4213	+	17.9268	6.34e-09	7.37e-09	GACGGCCATAA
+1	phiX174	1669	1679	+	17.8659	6.4e-09	7.37e-09	TGGAGGTAAAA
+1	phiX174	3260	3270	+	17.5	7.01e-09	7.82e-09	CGCTGATAAAG
+1	phiX174	3047	3057	+	17.2805	7.4e-09	7.85e-09	TACCGATAACA
+1	phiX174	4176	4186	+	17.1829	7.6e-09	7.85e-09	GAGTTCGATAA
+1	phiX174	4118	4128	+	17.1341	7.7e-09	7.85e-09	GATGGATAACC
+1	phiX174	5370	5380	+	16.9878	8.03e-09	7.87e-09	GGCGTATCCAA
+1	phiX174	1242	1252	+	16.5122	8.94e-09	7.87e-09	AGTGGATTAAG
+1	phiX174	2583	2593	+	16.5122	8.94e-09	7.87e-09	TACATCTGTCA
+1	phiX174	698	708	+	16.4146	9.13e-09	7.87e-09	TACGGAAAACA
+1	phiX174	2299	2309	+	16.3537	9.26e-09	7.87e-09	TGAGGTTATAA
+1	phiX174	4189	4199	+	16.1707	9.69e-09	7.87e-09	GTGATATGTAT
+1	phiX174	275	285	+	16.0976	9.85e-09	7.87e-09	GGTTTAGATAT
+1	phiX174	1801	1811	+	16.0366	1e-08	7.87e-09	GACCTATAAAC
+1	phiX174	1386	1396	+	15.9268	1.03e-08	7.87e-09	TGAATATCTAT
+1	phiX174	1303	1313	+	15.9024	1.03e-08	7.87e-09	TGGTTATATTG
+1	phiX174	3772	3782	+	15.878	1.04e-08	7.87e-09	AGGATATTTCT
+1	phiX174	1288	1298	+	15.8659	1.04e-08	7.87e-09	GACTGTTAACA
+1	phiX174	2577	2587	+	15.7683	1.08e-08	7.87e-09	GATGGATACAT
+1	phiX174	937	947	+	15.7561	1.08e-08	7.87e-09	TTGGTATGTAG
+1	phiX174	904	914	+	15.6585	1.11e-08	7.93e-09	AGGTACTAAAG
+1	phiX174	2279	2289	+	15.5854	1.13e-08	7.93e-09	TCGTGATAAAA
+1	phiX174	3164	3174	+	15.5	1.16e-08	7.98e-09	AGCTGGTAAAG
+1	phiX174	24	34	+	15.3293	1.23e-08	8.24e-09	AGAAGTTAACA
+1	phiX174	838	848	+	15.2561	1.27e-08	8.24e-09	GAGTGATGTAA
+1	phiX174	853	863	+	15.2561	1.27e-08	8.24e-09	TAAAGGTAAAA
+1	phiX174	1984	1994	+	15.0244	1.36e-08	8.68e-09	AATTTCTATGA
+1	phiX174	1	11	+	14.8293	1.46e-08	9.05e-09	GAGTTTTATCG
+1	phiX174	4307	4317	+	14.7927	1.47e-08	9.05e-09	TATTAATAACA
+1	phiX174	4303	4313	+	14.6585	1.52e-08	9.19e-09	TTGATATTAAT
+1	phiX174	5033	5043	+	14.561	1.58e-08	9.41e-09	GTCAGATATGG
+1	phiX174	2579	2589	+	14.2927	1.73e-08	1.01e-08	TGGATACATCT
+1	phiX174	322	332	+	14.1951	1.82e-08	1.05e-08	GACATTTTAAA
+1	phiX174	5001	5011	+	13.8902	2.09e-08	1.19e-08	GGTTTCTATGT
+1	phiX174	4217	4227	+	13.8171	2.15e-08	1.2e-08	TGCTTCTGACG
+1	phiX174	4262	4272	+	13.7805	2.18e-08	1.2e-08	AATGGATGAAT
+1	phiX174	3569	3579	+	13.7073	2.26e-08	1.22e-08	TATGGAAAACA
+1	phiX174	194	204	+	13.6829	2.29e-08	1.22e-08	ATCAACTAACG
+1	phiX174	131	141	+	13.4756	2.49e-08	1.31e-08	AAATGAGAAAA
+1	phiX174	1491	1501	+	13.4024	2.55e-08	1.32e-08	GCCATCTCAAA
+1	phiX174	434	444	+	13.2805	2.67e-08	1.36e-08	GGCCTCTATTA
+1	phiX174	4565	4575	+	13.2439	2.73e-08	1.36e-08	TTGGTTTATCG
+1	phiX174	102	112	+	13.2195	2.75e-08	1.36e-08	GAATTAAATCG
+1	phiX174	903	913	+	13.1463	2.82e-08	1.38e-08	GAGGTACTAAA
+1	phiX174	4748	4758	+	12.9756	3.01e-08	1.45e-08	TACAGCTAATG
+1	phiX174	2622	2632	+	12.8659	3.16e-08	1.5e-08	TGCTGATATTG
+1	phiX174	467	477	+	12.7317	3.35e-08	1.57e-08	TTTGGATTTAA
+1	phiX174	4033	4043	+	12.6829	3.44e-08	1.58e-08	AGCGTATCGAG
+1	phiX174	1348	1358	+	12.6707	3.46e-08	1.58e-08	TACCAATAAAA
+1	phiX174	239	249	+	12.5732	3.62e-08	1.64e-08	AGTGGCTTAAT
+1	phiX174	500	510	+	12.4634	3.84e-08	1.71e-08	GACGAGTAACA
+1	phiX174	3001	3011	+	12.4146	3.93e-08	1.73e-08	GCGGTCAAAAA
+1	phiX174	3776	3786	+	12.378	3.98e-08	1.73e-08	TATTTCTAATG
+1	phiX174	2026	2036	+	12.3293	4.06e-08	1.75e-08	GAAGTTTAAGA
+1	phiX174	4237	4247	+	12.3049	4.12e-08	1.75e-08	AGTTTGTATCT
+1	phiX174	803	813	+	12.2439	4.24e-08	1.78e-08	AGAAGAAAACG
+1	phiX174	3770	3780	+	12.1829	4.35e-08	1.81e-08	AAAGGATATTT
+1	phiX174	3429	3439	+	12.122	4.45e-08	1.82e-08	GAGATGCAAAA
+1	phiX174	99	109	+	12.1098	4.48e-08	1.82e-08	TACGAATTAAA
+1	phiX174	67	77	+	11.9268	4.78e-08	1.92e-08	TCTTGATAAAG
+1	phiX174	5332	5342	+	11.7195	5.13e-08	2.01e-08	ATCTGCTCAAA
+1	phiX174	277	287	+	11.7073	5.14e-08	2.01e-08	TTTAGATATGA
+1	phiX174	4338	4348	+	11.6951	5.18e-08	2.01e-08	GGGGACGAAAA
+1	phiX174	3812	3822	+	11.6585	5.28e-08	2.03e-08	GGTTGATATTT
+1	phiX174	1909	1919	+	11.5488	5.51e-08	2.08e-08	TAACGCTAAAG
+1	phiX174	3000	3010	+	11.5366	5.54e-08	2.08e-08	GGCGGTCAAAA
+1	phiX174	3891	3901	+	11.439	5.75e-08	2.11e-08	ATTGGCTCTAA
+1	phiX174	3079	3089	+	11.4268	5.76e-08	2.11e-08	CTGGTATTAAA
+1	phiX174	37	47	+	11.4146	5.79e-08	2.11e-08	TTCGGATATTT
+1	phiX174	380	390	+	11.3293	6.01e-08	2.17e-08	GTAAGAAATCA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_txt_2.txt	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,100 @@
+#pattern name	sequence name	start	stop	strand	score	p-value	q-value	matched sequence
+1	phiX174	1388	1398	+	29.4024	6.36e-11	0	AATATCTATAA
+1	phiX174	847	857	+	29.122	7.02e-11	0	AATGTCTAAAG
+1	phiX174	2301	2311	+	27.6463	1.08e-10	0	AGGTTATAACG
+1	phiX174	5063	5073	+	25.5366	2.73e-10	0	AGGAGCTAAAG
+1	phiX174	989	999	+	25.3049	3.15e-10	0	TGAGGATAAAT
+1	phiX174	4713	4723	+	23.622	7.74e-10	0	GACTGCTATCA
+1	phiX174	5048	5058	+	23.3293	8.51e-10	0	TGCTGCTAAAG
+1	phiX174	855	865	+	23.3049	8.64e-10	0	AAGGTAAAAAA
+1	phiX174	3155	3165	+	23.0366	9.76e-10	0	TATGGCTAAAG
+1	phiX174	5009	5019	+	23.0366	9.76e-10	0	TGTGGCTAAAT
+1	phiX174	814	824	+	22.5854	1.28e-09	0	TGCGTCAAAAA
+1	phiX174	2832	2842	+	22.3415	1.42e-09	0	TTGGTCTAACT
+1	phiX174	3830	3840	+	21.8293	1.7e-09	0	TATTGATAAAG
+1	phiX174	3560	3570	+	21.5976	1.89e-09	0	TGCGTCTATTA
+1	phiX174	2882	2892	+	21.1951	2.29e-09	0	AGGTTATTAAA
+1	phiX174	4453	4463	+	20.8902	2.58e-09	0	AAGGTATTAAG
+1	phiX174	2493	2503	+	20.3415	3.06e-09	0	GACACCTAAAG
+1	phiX174	4104	4114	+	20.3171	3.08e-09	0	GGCTTCCATAA
+1	phiX174	4955	4965	+	20.3171	3.08e-09	0	TGATGCTAAAG
+1	phiX174	1885	1895	+	19.9268	3.61e-09	0	TGCGACTAAAG
+1	phiX174	3376	3386	+	19.7683	3.81e-09	0	AGAATCAAAAA
+1	phiX174	52	62	+	19.5732	4.06e-09	0	TGAGTCGAAAA
+1	phiX174	1390	1400	+	19.378	4.26e-09	0	TATCTATAACA
+1	phiX174	2017	2027	+	19.0854	4.6e-09	0	TTCGTCTAAGA
+1	phiX174	1000	1010	+	18.878	4.88e-09	0	TATGTCTAATA
+1	phiX174	1555	1565	+	18.439	5.58e-09	0	GACTTCTACCA
+1	phiX174	4430	4440	+	18.4268	5.62e-09	0	TGAGTATAATT
+1	phiX174	1927	1937	+	18.2927	5.82e-09	0	GACTTATACCG
+1	phiX174	2981	2991	+	18.0732	6.13e-09	0	CATGTCTAAAT
+1	phiX174	4203	4213	+	17.9268	6.34e-09	0	GACGGCCATAA
+1	phiX174	1669	1679	+	17.8659	6.4e-09	0	TGGAGGTAAAA
+1	phiX174	3260	3270	+	17.5	7.01e-09	0	CGCTGATAAAG
+1	phiX174	3047	3057	+	17.2805	7.4e-09	0	TACCGATAACA
+1	phiX174	4176	4186	+	17.1829	7.6e-09	0	GAGTTCGATAA
+1	phiX174	4118	4128	+	17.1341	7.7e-09	0	GATGGATAACC
+1	phiX174	5370	5380	+	16.9878	8.03e-09	0	GGCGTATCCAA
+1	phiX174	1242	1252	+	16.5122	8.94e-09	0	AGTGGATTAAG
+1	phiX174	2583	2593	+	16.5122	8.94e-09	0	TACATCTGTCA
+1	phiX174	698	708	+	16.4146	9.13e-09	0	TACGGAAAACA
+1	phiX174	2299	2309	+	16.3537	9.26e-09	0	TGAGGTTATAA
+1	phiX174	4189	4199	+	16.1707	9.69e-09	0	GTGATATGTAT
+1	phiX174	275	285	+	16.0976	9.85e-09	0	GGTTTAGATAT
+1	phiX174	1801	1811	+	16.0366	1e-08	0	GACCTATAAAC
+1	phiX174	1386	1396	+	15.9268	1.03e-08	0	TGAATATCTAT
+1	phiX174	1303	1313	+	15.9024	1.03e-08	0	TGGTTATATTG
+1	phiX174	3772	3782	+	15.878	1.04e-08	0	AGGATATTTCT
+1	phiX174	1288	1298	+	15.8659	1.04e-08	0	GACTGTTAACA
+1	phiX174	2577	2587	+	15.7683	1.08e-08	0	GATGGATACAT
+1	phiX174	937	947	+	15.7561	1.08e-08	0	TTGGTATGTAG
+1	phiX174	904	914	+	15.6585	1.11e-08	0	AGGTACTAAAG
+1	phiX174	2279	2289	+	15.5854	1.13e-08	0	TCGTGATAAAA
+1	phiX174	3164	3174	+	15.5	1.16e-08	0	AGCTGGTAAAG
+1	phiX174	24	34	+	15.3293	1.23e-08	0	AGAAGTTAACA
+1	phiX174	838	848	+	15.2561	1.27e-08	0	GAGTGATGTAA
+1	phiX174	853	863	+	15.2561	1.27e-08	0	TAAAGGTAAAA
+1	phiX174	1984	1994	+	15.0244	1.36e-08	0	AATTTCTATGA
+1	phiX174	1	11	+	14.8293	1.46e-08	0	GAGTTTTATCG
+1	phiX174	4307	4317	+	14.7927	1.47e-08	0	TATTAATAACA
+1	phiX174	4303	4313	+	14.6585	1.52e-08	0	TTGATATTAAT
+1	phiX174	5033	5043	+	14.561	1.58e-08	0	GTCAGATATGG
+1	phiX174	2579	2589	+	14.2927	1.73e-08	0	TGGATACATCT
+1	phiX174	322	332	+	14.1951	1.82e-08	0	GACATTTTAAA
+1	phiX174	5001	5011	+	13.8902	2.09e-08	0	GGTTTCTATGT
+1	phiX174	4217	4227	+	13.8171	2.15e-08	0	TGCTTCTGACG
+1	phiX174	4262	4272	+	13.7805	2.18e-08	0	AATGGATGAAT
+1	phiX174	3569	3579	+	13.7073	2.26e-08	0	TATGGAAAACA
+1	phiX174	194	204	+	13.6829	2.29e-08	0	ATCAACTAACG
+1	phiX174	131	141	+	13.4756	2.49e-08	0	AAATGAGAAAA
+1	phiX174	1491	1501	+	13.4024	2.55e-08	0	GCCATCTCAAA
+1	phiX174	434	444	+	13.2805	2.67e-08	0	GGCCTCTATTA
+1	phiX174	4565	4575	+	13.2439	2.73e-08	0	TTGGTTTATCG
+1	phiX174	102	112	+	13.2195	2.75e-08	0	GAATTAAATCG
+1	phiX174	903	913	+	13.1463	2.82e-08	0	GAGGTACTAAA
+1	phiX174	4748	4758	+	12.9756	3.01e-08	0	TACAGCTAATG
+1	phiX174	2622	2632	+	12.8659	3.16e-08	0	TGCTGATATTG
+1	phiX174	467	477	+	12.7317	3.35e-08	0	TTTGGATTTAA
+1	phiX174	4033	4043	+	12.6829	3.44e-08	0	AGCGTATCGAG
+1	phiX174	1348	1358	+	12.6707	3.46e-08	0	TACCAATAAAA
+1	phiX174	239	249	+	12.5732	3.62e-08	0	AGTGGCTTAAT
+1	phiX174	500	510	+	12.4634	3.84e-08	0	GACGAGTAACA
+1	phiX174	3001	3011	+	12.4146	3.93e-08	0	GCGGTCAAAAA
+1	phiX174	3776	3786	+	12.378	3.98e-08	0	TATTTCTAATG
+1	phiX174	2026	2036	+	12.3293	4.06e-08	0	GAAGTTTAAGA
+1	phiX174	4237	4247	+	12.3049	4.12e-08	0	AGTTTGTATCT
+1	phiX174	803	813	+	12.2439	4.24e-08	0	AGAAGAAAACG
+1	phiX174	3770	3780	+	12.1829	4.35e-08	0	AAAGGATATTT
+1	phiX174	3429	3439	+	12.122	4.45e-08	0	GAGATGCAAAA
+1	phiX174	99	109	+	12.1098	4.48e-08	0	TACGAATTAAA
+1	phiX174	67	77	+	11.9268	4.78e-08	0	TCTTGATAAAG
+1	phiX174	5332	5342	+	11.7195	5.13e-08	0	ATCTGCTCAAA
+1	phiX174	277	287	+	11.7073	5.14e-08	0	TTTAGATATGA
+1	phiX174	4338	4348	+	11.6951	5.18e-08	0	GGGGACGAAAA
+1	phiX174	3812	3822	+	11.6585	5.28e-08	0	GGTTGATATTT
+1	phiX174	1909	1919	+	11.5488	5.51e-08	0	TAACGCTAAAG
+1	phiX174	3000	3010	+	11.5366	5.54e-08	0	GGCGGTCAAAA
+1	phiX174	3891	3901	+	11.439	5.75e-08	0	ATTGGCTCTAA
+1	phiX174	3079	3089	+	11.4268	5.76e-08	0	CTGGTATTAAA
+1	phiX174	37	47	+	11.4146	5.79e-08	0	TTCGGATATTT
+1	phiX174	380	390	+	11.3293	6.01e-08	0	GTAAGAAATCA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_xml_1.xml	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Begin document body -->
+<fimo version="4.11.0" release="Thu Nov 26 17:48:49 2015 +1000">
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation=  xmlns:fimo="http://noble.gs.washington.edu/schema/fimo"
+>
+<command-line>fimo --o /Users/gvk/work/git_workspace/galaxy/database/job_working_directory/001/1973/dataset_2713_files --verbosity 1 /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2540.dat /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2541.dat</command-line>
+<settings>
+<setting name="output directory">/Users/gvk/work/git_workspace/galaxy/database/job_working_directory/001/1973/dataset_2713_files</setting>
+<setting name="MEME file name">/Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2540.dat</setting>
+<setting name="sequence file name">/Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2541.dat</setting>
+<setting name="allow clobber">false</setting>
+<setting name="compute q-values">true</setting>
+<setting name="parse genomic coord.">false</setting>
+<setting name="text only">false</setting>
+<setting name="scan both strands">false</setting>
+<setting name="output threshold">0.0001</setting>
+<setting name="threshold type">p-value</setting>
+<setting name="max stored scores">100000</setting>
+<setting name="pseudocount">0.1</setting>
+<setting name="verbosity">1</setting>
+</settings>
+<sequence-data num-sequences="1" num-residues="5386" />
+<alphabet name="Protein" like="protein">
+<letter id="A" symbol="A" name="Alanine" colour="0000CC"/>
+<letter id="C" symbol="C" name="Cysteine" colour="0000CC"/>
+<letter id="D" symbol="D" name="Aspartic acid" colour="FF00FF"/>
+<letter id="E" symbol="E" name="Glutamic acid" colour="FF00FF"/>
+<letter id="F" symbol="F" name="Phenylalanine" colour="0000CC"/>
+<letter id="G" symbol="G" name="Glycine" colour="FFB300"/>
+<letter id="H" symbol="H" name="Histidine" colour="FFCCCC"/>
+<letter id="I" symbol="I" name="Isoleucine" colour="0000CC"/>
+<letter id="K" symbol="K" name="Lysine" colour="CC0000"/>
+<letter id="L" symbol="L" name="Leucine" colour="0000CC"/>
+<letter id="M" symbol="M" name="Methionine" colour="0000CC"/>
+<letter id="N" symbol="N" name="Asparagine" colour="008000"/>
+<letter id="P" symbol="P" name="Proline" colour="FFFF00"/>
+<letter id="Q" symbol="Q" name="Glutamine" colour="008000"/>
+<letter id="R" symbol="R" name="Arginine" colour="CC0000"/>
+<letter id="S" symbol="S" name="Serine" colour="008000"/>
+<letter id="T" symbol="T" name="Threonine" colour="008000"/>
+<letter id="V" symbol="V" name="Valine" colour="0000CC"/>
+<letter id="W" symbol="W" name="Tryptophan" colour="0000CC"/>
+<letter id="Y" symbol="Y" name="Tyrosine" colour="33E6CC"/>
+<letter id="X" symbol="X" aliases="*." equals="ACDEFGHIKLMNPQRSTVWY" name="Any amino acid"/>
+<letter id="B" symbol="B" equals="DN" name="Asparagine or Aspartic acid"/>
+<letter id="Z" symbol="Z" equals="EQ" name="Glutamine or Glutamic acid"/>
+<letter id="J" symbol="J" equals="IL" name="Leucine or Isoleucine"/>
+</alphabet>
+<motif name="1" width="11" best-possible-match="GGGGTATAAAA"/>
+<background source="non-redundant database">
+<value letter="A">0.073</value>
+<value letter="C">0.018</value>
+<value letter="D">0.052</value>
+<value letter="E">0.062</value>
+<value letter="F">0.040</value>
+<value letter="G">0.069</value>
+<value letter="H">0.022</value>
+<value letter="I">0.056</value>
+<value letter="K">0.058</value>
+<value letter="L">0.092</value>
+<value letter="M">0.023</value>
+<value letter="N">0.046</value>
+<value letter="P">0.051</value>
+<value letter="Q">0.041</value>
+<value letter="R">0.052</value>
+<value letter="S">0.074</value>
+<value letter="T">0.059</value>
+<value letter="V">0.064</value>
+<value letter="W">0.013</value>
+<value letter="Y">0.033</value>
+</background>
+<cisml-file>cisml.xml</cisml-file>
+</fimo>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fimo_output_xml_2.xml	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Begin document body -->
+<fimo version="4.11.0" release="Thu Nov 26 17:48:49 2015 +1000">
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation=  xmlns:fimo="http://noble.gs.washington.edu/schema/fimo"
+>
+<command-line>fimo --alpha 1.000000 --max-stored-scores 100000 --motif-pseudo 0.100000 --no-qvalue --thresh 0.000100 --o /Users/gvk/work/git_workspace/galaxy/database/job_working_directory/001/1978/dataset_2738_files --verbosity 1 /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2540.dat /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2541.dat</command-line>
+<settings>
+<setting name="output directory">/Users/gvk/work/git_workspace/galaxy/database/job_working_directory/001/1978/dataset_2738_files</setting>
+<setting name="MEME file name">/Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2540.dat</setting>
+<setting name="sequence file name">/Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2541.dat</setting>
+<setting name="allow clobber">false</setting>
+<setting name="compute q-values">false</setting>
+<setting name="parse genomic coord.">false</setting>
+<setting name="text only">false</setting>
+<setting name="scan both strands">false</setting>
+<setting name="output threshold">0.0001</setting>
+<setting name="threshold type">p-value</setting>
+<setting name="max stored scores">100000</setting>
+<setting name="pseudocount">0.1</setting>
+<setting name="verbosity">1</setting>
+</settings>
+<sequence-data num-sequences="1" num-residues="5386" />
+<alphabet name="Protein" like="protein">
+<letter id="A" symbol="A" name="Alanine" colour="0000CC"/>
+<letter id="C" symbol="C" name="Cysteine" colour="0000CC"/>
+<letter id="D" symbol="D" name="Aspartic acid" colour="FF00FF"/>
+<letter id="E" symbol="E" name="Glutamic acid" colour="FF00FF"/>
+<letter id="F" symbol="F" name="Phenylalanine" colour="0000CC"/>
+<letter id="G" symbol="G" name="Glycine" colour="FFB300"/>
+<letter id="H" symbol="H" name="Histidine" colour="FFCCCC"/>
+<letter id="I" symbol="I" name="Isoleucine" colour="0000CC"/>
+<letter id="K" symbol="K" name="Lysine" colour="CC0000"/>
+<letter id="L" symbol="L" name="Leucine" colour="0000CC"/>
+<letter id="M" symbol="M" name="Methionine" colour="0000CC"/>
+<letter id="N" symbol="N" name="Asparagine" colour="008000"/>
+<letter id="P" symbol="P" name="Proline" colour="FFFF00"/>
+<letter id="Q" symbol="Q" name="Glutamine" colour="008000"/>
+<letter id="R" symbol="R" name="Arginine" colour="CC0000"/>
+<letter id="S" symbol="S" name="Serine" colour="008000"/>
+<letter id="T" symbol="T" name="Threonine" colour="008000"/>
+<letter id="V" symbol="V" name="Valine" colour="0000CC"/>
+<letter id="W" symbol="W" name="Tryptophan" colour="0000CC"/>
+<letter id="Y" symbol="Y" name="Tyrosine" colour="33E6CC"/>
+<letter id="X" symbol="X" aliases="*." equals="ACDEFGHIKLMNPQRSTVWY" name="Any amino acid"/>
+<letter id="B" symbol="B" equals="DN" name="Asparagine or Aspartic acid"/>
+<letter id="Z" symbol="Z" equals="EQ" name="Glutamine or Glutamic acid"/>
+<letter id="J" symbol="J" equals="IL" name="Leucine or Isoleucine"/>
+</alphabet>
+<motif name="1" width="11" best-possible-match="GGGGTATAAAA"/>
+<background source="non-redundant database">
+<value letter="A">0.073</value>
+<value letter="C">0.018</value>
+<value letter="D">0.052</value>
+<value letter="E">0.062</value>
+<value letter="F">0.040</value>
+<value letter="G">0.069</value>
+<value letter="H">0.022</value>
+<value letter="I">0.056</value>
+<value letter="K">0.058</value>
+<value letter="L">0.092</value>
+<value letter="M">0.023</value>
+<value letter="N">0.046</value>
+<value letter="P">0.051</value>
+<value letter="Q">0.041</value>
+<value letter="R">0.052</value>
+<value letter="S">0.074</value>
+<value letter="T">0.059</value>
+<value letter="V">0.064</value>
+<value letter="W">0.013</value>
+<value letter="Y">0.033</value>
+</background>
+<cisml-file>cisml.xml</cisml-file>
+</fimo>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/meme_output_xml_1.xml	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,1285 @@
+<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
+<!-- Document definition -->
+<!DOCTYPE MEME[
+<!ELEMENT MEME (
+  training_set,
+  model, 
+  motifs, 
+  scanned_sites_summary?
+)>
+<!ATTLIST MEME 
+  version CDATA #REQUIRED
+  release CDATA #REQUIRED
+>
+<!-- Training-set elements -->
+<!ELEMENT training_set (alphabet, ambigs, sequence*, letter_frequencies)>
+<!ATTLIST training_set datafile CDATA #REQUIRED length CDATA #REQUIRED>
+<!ELEMENT alphabet (letter*)>
+<!ATTLIST alphabet name CDATA #REQUIRED>
+<!ELEMENT ambigs (letter*)>
+<!ELEMENT letter EMPTY>
+<!ATTLIST letter id ID #REQUIRED>
+<!ATTLIST letter symbol CDATA #REQUIRED>
+<!ATTLIST letter equals CDATA #IMPLIED>
+<!ATTLIST letter aliases CDATA #IMPLIED>
+<!ATTLIST letter complement CDATA #IMPLIED>
+<!ATTLIST letter name CDATA #IMPLIED>
+<!ATTLIST letter colour CDATA #IMPLIED>
+<!ELEMENT sequence EMPTY>
+<!ATTLIST sequence id ID #REQUIRED
+                   name CDATA #REQUIRED
+                   length CDATA #REQUIRED
+                   weight CDATA #REQUIRED
+>
+<!ELEMENT letter_frequencies (alphabet_array)>
+
+<!-- Model elements -->
+<!ELEMENT model (
+  command_line,
+  host,
+  type,
+  nmotifs,
+  evalue_threshold,
+  object_function,
+  min_width,
+  max_width,
+  minic,
+  wg,
+  ws,
+  endgaps,
+  minsites,
+  maxsites,
+  wnsites,
+  prob,
+  spmap,
+  spfuzz,
+  prior,
+  beta,
+  maxiter,
+  distance,
+  num_sequences,
+  num_positions,
+  seed,
+  seqfrac,
+  strands,
+  priors_file,
+  reason_for_stopping,
+  background_frequencies
+)>
+<!ELEMENT command_line (#PCDATA)*>
+<!ELEMENT host (#PCDATA)*>
+<!ELEMENT type (#PCDATA)*>
+<!ELEMENT nmotifs (#PCDATA)*>
+<!ELEMENT evalue_threshold (#PCDATA)*>
+<!ELEMENT object_function (#PCDATA)*>
+<!ELEMENT min_width (#PCDATA)*>
+<!ELEMENT max_width (#PCDATA)*>
+<!ELEMENT minic (#PCDATA)*>
+<!ELEMENT wg (#PCDATA)*>
+<!ELEMENT ws (#PCDATA)*>
+<!ELEMENT endgaps (#PCDATA)*>
+<!ELEMENT minsites (#PCDATA)*>
+<!ELEMENT maxsites (#PCDATA)*>
+<!ELEMENT wnsites (#PCDATA)*>
+<!ELEMENT prob (#PCDATA)*>
+<!ELEMENT spmap (#PCDATA)*>
+<!ELEMENT spfuzz (#PCDATA)*>
+<!ELEMENT prior (#PCDATA)*>
+<!ELEMENT beta (#PCDATA)*>
+<!ELEMENT maxiter (#PCDATA)*>
+<!ELEMENT distance (#PCDATA)*>
+<!ELEMENT num_sequences (#PCDATA)*>
+<!ELEMENT num_positions (#PCDATA)*>
+<!ELEMENT seed (#PCDATA)*>
+<!ELEMENT seqfrac (#PCDATA)*>
+<!ELEMENT strands (#PCDATA)*>
+<!ELEMENT priors_file (#PCDATA)*>
+<!ELEMENT reason_for_stopping (#PCDATA)*>
+<!ELEMENT background_frequencies (alphabet_array)>
+<!ATTLIST background_frequencies source CDATA #REQUIRED>
+
+<!-- Motif elements -->
+<!ELEMENT motifs (motif*)>
+<!ELEMENT motif (scores, probabilities, regular_expression?, contributing_sites)>
+<!ATTLIST motif id ID #REQUIRED
+                name CDATA #REQUIRED
+                width CDATA #REQUIRED
+                sites CDATA #REQUIRED
+                llr CDATA #REQUIRED
+                ic CDATA #REQUIRED
+                re CDATA #REQUIRED
+                bayes_threshold CDATA #REQUIRED
+                e_value CDATA #REQUIRED
+                elapsed_time CDATA #REQUIRED
+                url CDATA ""
+>
+<!ELEMENT scores (alphabet_matrix)>
+<!ELEMENT probabilities (alphabet_matrix)>
+<!ELEMENT regular_expression (#PCDATA)*>
+
+<!-- Contributing site elements -->
+<!-- Contributing sites are motif occurences found during the motif discovery phase -->
+<!ELEMENT contributing_sites (contributing_site*)>
+<!ELEMENT contributing_site (left_flank, site, right_flank)>
+<!ATTLIST contributing_site sequence_id IDREF #REQUIRED
+                          position CDATA #REQUIRED
+                          strand (plus|minus|none) 'none'
+                          pvalue CDATA #REQUIRED
+>
+<!-- The left_flank contains the sequence for 10 bases to the left of the motif start -->
+<!ELEMENT left_flank (#PCDATA)>
+<!-- The site contains the sequence for the motif instance -->
+<!ELEMENT site (letter_ref*)>
+<!-- The right_flank contains the sequence for 10 bases to the right of the motif end -->
+<!ELEMENT right_flank (#PCDATA)>
+
+<!-- Scanned site elements -->
+<!-- Scanned sites are motif occurences found during the sequence scan phase -->
+<!ELEMENT scanned_sites_summary (scanned_sites*)>
+<!ATTLIST scanned_sites_summary p_thresh CDATA #REQUIRED>
+<!ELEMENT scanned_sites (scanned_site*)>
+<!ATTLIST scanned_sites sequence_id IDREF #REQUIRED
+                        pvalue CDATA #REQUIRED
+                        num_sites CDATA #REQUIRED>
+<!ELEMENT scanned_site EMPTY>
+<!ATTLIST scanned_site  motif_id IDREF #REQUIRED
+                        strand (plus|minus|none) 'none'
+                        position CDATA #REQUIRED
+                        pvalue CDATA #REQUIRED>
+
+<!-- Utility elements -->
+<!-- A reference to a letter in the alphabet -->
+<!ELEMENT letter_ref EMPTY>
+<!ATTLIST letter_ref letter_id IDREF #REQUIRED>
+<!-- A alphabet-array contains one floating point value for each letter in an alphabet -->
+<!ELEMENT alphabet_array (value*)>
+<!ELEMENT value (#PCDATA)>
+<!ATTLIST value letter_id IDREF #REQUIRED>
+
+<!-- A alphabet_matrix contains one alphabet_array for each position in a motif -->
+<!ELEMENT alphabet_matrix (alphabet_array*)>
+
+]>
+<!-- Begin document body -->
+<MEME version="4.11.0" release="Thu Nov 26 17:48:49 2015 +1000">
+<training_set datafile="/Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2490.dat" length="30">
+<alphabet name="Protein" like="protein">
+<letter id="A" symbol="A" name="Alanine" colour="0000CC"/>
+<letter id="C" symbol="C" name="Cysteine" colour="0000CC"/>
+<letter id="D" symbol="D" name="Aspartic acid" colour="FF00FF"/>
+<letter id="E" symbol="E" name="Glutamic acid" colour="FF00FF"/>
+<letter id="F" symbol="F" name="Phenylalanine" colour="0000CC"/>
+<letter id="G" symbol="G" name="Glycine" colour="FFB300"/>
+<letter id="H" symbol="H" name="Histidine" colour="FFCCCC"/>
+<letter id="I" symbol="I" name="Isoleucine" colour="0000CC"/>
+<letter id="K" symbol="K" name="Lysine" colour="CC0000"/>
+<letter id="L" symbol="L" name="Leucine" colour="0000CC"/>
+<letter id="M" symbol="M" name="Methionine" colour="0000CC"/>
+<letter id="N" symbol="N" name="Asparagine" colour="008000"/>
+<letter id="P" symbol="P" name="Proline" colour="FFFF00"/>
+<letter id="Q" symbol="Q" name="Glutamine" colour="008000"/>
+<letter id="R" symbol="R" name="Arginine" colour="CC0000"/>
+<letter id="S" symbol="S" name="Serine" colour="008000"/>
+<letter id="T" symbol="T" name="Threonine" colour="008000"/>
+<letter id="V" symbol="V" name="Valine" colour="0000CC"/>
+<letter id="W" symbol="W" name="Tryptophan" colour="0000CC"/>
+<letter id="Y" symbol="Y" name="Tyrosine" colour="33E6CC"/>
+<letter id="X" symbol="X" aliases="*." equals="ACDEFGHIKLMNPQRSTVWY" name="Any amino acid"/>
+<letter id="B" symbol="B" equals="DN" name="Asparagine or Aspartic acid"/>
+<letter id="Z" symbol="Z" equals="EQ" name="Glutamine or Glutamic acid"/>
+<letter id="J" symbol="J" equals="IL" name="Leucine or Isoleucine"/>
+</alphabet>
+<sequence id="sequence_0" name="chr21_19617074_19617124_+" length="50" weight="1.000000" />
+<sequence id="sequence_1" name="chr21_26934381_26934431_+" length="50" weight="1.000000" />
+<sequence id="sequence_2" name="chr21_28217753_28217803_-" length="50" weight="1.000000" />
+<sequence id="sequence_3" name="chr21_31710037_31710087_-" length="50" weight="1.000000" />
+<sequence id="sequence_4" name="chr21_31744582_31744632_-" length="50" weight="1.000000" />
+<sequence id="sequence_5" name="chr21_31768316_31768366_+" length="50" weight="1.000000" />
+<sequence id="sequence_6" name="chr21_31914206_31914256_-" length="50" weight="1.000000" />
+<sequence id="sequence_7" name="chr21_31933633_31933683_-" length="50" weight="1.000000" />
+<sequence id="sequence_8" name="chr21_31962741_31962791_-" length="50" weight="1.000000" />
+<sequence id="sequence_9" name="chr21_31964683_31964733_+" length="50" weight="1.000000" />
+<sequence id="sequence_10" name="chr21_31973364_31973414_+" length="50" weight="1.000000" />
+<sequence id="sequence_11" name="chr21_31992870_31992920_+" length="50" weight="1.000000" />
+<sequence id="sequence_12" name="chr21_32185595_32185645_-" length="50" weight="1.000000" />
+<sequence id="sequence_13" name="chr21_32202076_32202126_-" length="50" weight="1.000000" />
+<sequence id="sequence_14" name="chr21_32253899_32253949_-" length="50" weight="1.000000" />
+<sequence id="sequence_15" name="chr21_32410820_32410870_-" length="50" weight="1.000000" />
+<sequence id="sequence_16" name="chr21_36411748_36411798_-" length="50" weight="1.000000" />
+<sequence id="sequence_17" name="chr21_37838750_37838800_-" length="50" weight="1.000000" />
+<sequence id="sequence_18" name="chr21_45705687_45705737_+" length="50" weight="1.000000" />
+<sequence id="sequence_19" name="chr21_45971413_45971463_-" length="50" weight="1.000000" />
+<sequence id="sequence_20" name="chr21_45978668_45978718_-" length="50" weight="1.000000" />
+<sequence id="sequence_21" name="chr21_45993530_45993580_+" length="50" weight="1.000000" />
+<sequence id="sequence_22" name="chr21_46020421_46020471_+" length="50" weight="1.000000" />
+<sequence id="sequence_23" name="chr21_46031920_46031970_+" length="50" weight="1.000000" />
+<sequence id="sequence_24" name="chr21_46046964_46047014_+" length="50" weight="1.000000" />
+<sequence id="sequence_25" name="chr21_46057197_46057247_+" length="50" weight="1.000000" />
+<sequence id="sequence_26" name="chr21_46086869_46086919_-" length="50" weight="1.000000" />
+<sequence id="sequence_27" name="chr21_46102103_46102153_-" length="50" weight="1.000000" />
+<sequence id="sequence_28" name="chr21_47517957_47518007_+" length="50" weight="1.000000" />
+<sequence id="sequence_29" name="chr21_47575506_47575556_-" length="50" weight="1.000000" />
+<letter_frequencies>
+<alphabet_array>
+<value letter_id="A">0.294</value>
+<value letter_id="C">0.231</value>
+<value letter_id="D">0.000</value>
+<value letter_id="E">0.000</value>
+<value letter_id="F">0.000</value>
+<value letter_id="G">0.257</value>
+<value letter_id="H">0.000</value>
+<value letter_id="I">0.000</value>
+<value letter_id="K">0.000</value>
+<value letter_id="L">0.000</value>
+<value letter_id="M">0.000</value>
+<value letter_id="N">0.000</value>
+<value letter_id="P">0.000</value>
+<value letter_id="Q">0.000</value>
+<value letter_id="R">0.000</value>
+<value letter_id="S">0.000</value>
+<value letter_id="T">0.217</value>
+<value letter_id="V">0.000</value>
+<value letter_id="W">0.000</value>
+<value letter_id="Y">0.000</value>
+</alphabet_array>
+</letter_frequencies>
+</training_set>
+<model>
+<command_line>meme /Users/gvk/work/git_workspace/galaxy/database/files/002/dataset_2490.dat -o /Users/gvk/work/git_workspace/galaxy/database/job_working_directory/001/1912/dataset_2530_files -nostatus </command_line>
+<host>MacBook-Pro-2.local</host>
+<type>zoops</type>
+<nmotifs>1</nmotifs>
+<evalue_threshold>inf</evalue_threshold>
+<object_function>E-value of product of p-values</object_function>
+<use_llr>0</use_llr>
+<min_width>8</min_width>
+<max_width>50</max_width>
+<wg>11</wg>
+<ws>1</ws>
+<endgaps>yes</endgaps>
+<substring>yes</substring>
+<minsites>2</minsites>
+<maxsites>30</maxsites>
+<wnsites>0.8</wnsites>
+<spmap>pam</spmap>
+<spfuzz>120</spfuzz>
+<prior>megap</prior>
+<beta>7500</beta>
+<maxiter>50</maxiter>
+<distance>1e-05</distance>
+<num_sequences>30</num_sequences>
+<num_positions>1500</num_positions>
+<seed>0</seed>
+<ctfrac>-1</ctfrac>
+<maxwords>-1</maxwords>
+<strands>none</strands>
+<priors_file>prior30.plib</priors_file>
+<reason_for_stopping>Stopped because requested number of motifs (1) found.</reason_for_stopping>
+<background_frequencies source="dataset with add-one prior applied">
+<alphabet_array>
+<value letter_id="A">0.291</value>
+<value letter_id="C">0.229</value>
+<value letter_id="D">0.001</value>
+<value letter_id="E">0.001</value>
+<value letter_id="F">0.001</value>
+<value letter_id="G">0.255</value>
+<value letter_id="H">0.001</value>
+<value letter_id="I">0.001</value>
+<value letter_id="K">0.001</value>
+<value letter_id="L">0.001</value>
+<value letter_id="M">0.001</value>
+<value letter_id="N">0.001</value>
+<value letter_id="P">0.001</value>
+<value letter_id="Q">0.001</value>
+<value letter_id="R">0.001</value>
+<value letter_id="S">0.001</value>
+<value letter_id="T">0.215</value>
+<value letter_id="V">0.001</value>
+<value letter_id="W">0.001</value>
+<value letter_id="Y">0.001</value>
+</alphabet_array>
+</background_frequencies>
+</model>
+<motifs>
+<motif id="motif_1" name="1" width="11" sites="25" ic="40.0" re="13.8" llr="239" e_value="2.4e-011" bayes_threshold="5.33554" elapsed_time="0.533107">
+<scores>
+<alphabet_matrix>
+<alphabet_array>
+<value letter_id="A">-32</value>
+<value letter_id="C">-680</value>
+<value letter_id="D">91</value>
+<value letter_id="E">77</value>
+<value letter_id="F">7</value>
+<value letter_id="G">138</value>
+<value letter_id="H">-20</value>
+<value letter_id="I">55</value>
+<value letter_id="K">64</value>
+<value letter_id="L">107</value>
+<value letter_id="M">11</value>
+<value letter_id="N">150</value>
+<value letter_id="P">142</value>
+<value letter_id="Q">72</value>
+<value letter_id="R">87</value>
+<value letter_id="S">396</value>
+<value letter_id="T">-148</value>
+<value letter_id="V">221</value>
+<value letter_id="W">-140</value>
+<value letter_id="Y">-36</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">-11</value>
+<value letter_id="C">-680</value>
+<value letter_id="D">89</value>
+<value letter_id="E">76</value>
+<value letter_id="F">7</value>
+<value letter_id="G">137</value>
+<value letter_id="H">-21</value>
+<value letter_id="I">55</value>
+<value letter_id="K">63</value>
+<value letter_id="L">107</value>
+<value letter_id="M">10</value>
+<value letter_id="N">149</value>
+<value letter_id="P">141</value>
+<value letter_id="Q">71</value>
+<value letter_id="R">87</value>
+<value letter_id="S">396</value>
+<value letter_id="T">-239</value>
+<value letter_id="V">220</value>
+<value letter_id="W">-140</value>
+<value letter_id="Y">-36</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">-79</value>
+<value letter_id="C">41</value>
+<value letter_id="D">4</value>
+<value letter_id="E">21</value>
+<value letter_id="F">-7</value>
+<value letter_id="G">44</value>
+<value letter_id="H">-62</value>
+<value letter_id="I">42</value>
+<value letter_id="K">-5</value>
+<value letter_id="L">99</value>
+<value letter_id="M">0</value>
+<value letter_id="N">99</value>
+<value letter_id="P">138</value>
+<value letter_id="Q">52</value>
+<value letter_id="R">42</value>
+<value letter_id="S">399</value>
+<value letter_id="T">-46</value>
+<value letter_id="V">223</value>
+<value letter_id="W">-173</value>
+<value letter_id="Y">-68</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">11</value>
+<value letter_id="C">-677</value>
+<value letter_id="D">48</value>
+<value letter_id="E">47</value>
+<value letter_id="F">-2</value>
+<value letter_id="G">127</value>
+<value letter_id="H">-43</value>
+<value letter_id="I">46</value>
+<value letter_id="K">27</value>
+<value letter_id="L">101</value>
+<value letter_id="M">3</value>
+<value letter_id="N">124</value>
+<value letter_id="P">138</value>
+<value letter_id="Q">60</value>
+<value letter_id="R">62</value>
+<value letter_id="S">397</value>
+<value letter_id="T">-235</value>
+<value letter_id="V">220</value>
+<value letter_id="W">-160</value>
+<value letter_id="Y">-55</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">-596</value>
+<value letter_id="C">-820</value>
+<value letter_id="D">12</value>
+<value letter_id="E">-21</value>
+<value letter_id="F">-53</value>
+<value letter_id="G">-267</value>
+<value letter_id="H">-74</value>
+<value letter_id="I">37</value>
+<value letter_id="K">16</value>
+<value letter_id="L">44</value>
+<value letter_id="M">-37</value>
+<value letter_id="N">98</value>
+<value letter_id="P">31</value>
+<value letter_id="Q">9</value>
+<value letter_id="R">19</value>
+<value letter_id="S">319</value>
+<value letter_id="T">212</value>
+<value letter_id="V">127</value>
+<value letter_id="W">-193</value>
+<value letter_id="Y">-95</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">165</value>
+<value letter_id="C">-261</value>
+<value letter_id="D">70</value>
+<value letter_id="E">110</value>
+<value letter_id="F">77</value>
+<value letter_id="G">-521</value>
+<value letter_id="H">-4</value>
+<value letter_id="I">147</value>
+<value letter_id="K">95</value>
+<value letter_id="L">201</value>
+<value letter_id="M">90</value>
+<value letter_id="N">121</value>
+<value letter_id="P">124</value>
+<value letter_id="Q">91</value>
+<value letter_id="R">107</value>
+<value letter_id="S">425</value>
+<value letter_id="T">-527</value>
+<value letter_id="V">314</value>
+<value letter_id="W">-95</value>
+<value letter_id="Y">8</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">-838</value>
+<value letter_id="C">-990</value>
+<value letter_id="D">-89</value>
+<value letter_id="E">-149</value>
+<value letter_id="F">-151</value>
+<value letter_id="G">-841</value>
+<value letter_id="H">-161</value>
+<value letter_id="I">-117</value>
+<value letter_id="K">-113</value>
+<value letter_id="L">-66</value>
+<value letter_id="M">-209</value>
+<value letter_id="N">-68</value>
+<value letter_id="P">-69</value>
+<value letter_id="Q">-129</value>
+<value letter_id="R">-91</value>
+<value letter_id="S">111</value>
+<value letter_id="T">221</value>
+<value letter_id="V">-55</value>
+<value letter_id="W">-255</value>
+<value letter_id="Y">-173</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">176</value>
+<value letter_id="C">-858</value>
+<value letter_id="D">-79</value>
+<value letter_id="E">-103</value>
+<value letter_id="F">-115</value>
+<value letter_id="G">-717</value>
+<value letter_id="H">-148</value>
+<value letter_id="I">-95</value>
+<value letter_id="K">-108</value>
+<value letter_id="L">-17</value>
+<value letter_id="M">-162</value>
+<value letter_id="N">-61</value>
+<value letter_id="P">-12</value>
+<value letter_id="Q">-95</value>
+<value letter_id="R">-69</value>
+<value letter_id="S">193</value>
+<value letter_id="T">-737</value>
+<value letter_id="V">52</value>
+<value letter_id="W">-240</value>
+<value letter_id="Y">-153</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">134</value>
+<value letter_id="C">-686</value>
+<value letter_id="D">0</value>
+<value letter_id="E">16</value>
+<value letter_id="F">-12</value>
+<value letter_id="G">-553</value>
+<value letter_id="H">-68</value>
+<value letter_id="I">44</value>
+<value letter_id="K">-8</value>
+<value letter_id="L">96</value>
+<value letter_id="M">-9</value>
+<value letter_id="N">88</value>
+<value letter_id="P">124</value>
+<value letter_id="Q">41</value>
+<value letter_id="R">36</value>
+<value letter_id="S">384</value>
+<value letter_id="T">11</value>
+<value letter_id="V">216</value>
+<value letter_id="W">-177</value>
+<value letter_id="Y">-71</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">165</value>
+<value letter_id="C">-261</value>
+<value letter_id="D">70</value>
+<value letter_id="E">110</value>
+<value letter_id="F">77</value>
+<value letter_id="G">-521</value>
+<value letter_id="H">-4</value>
+<value letter_id="I">147</value>
+<value letter_id="K">95</value>
+<value letter_id="L">201</value>
+<value letter_id="M">90</value>
+<value letter_id="N">121</value>
+<value letter_id="P">124</value>
+<value letter_id="Q">91</value>
+<value letter_id="R">107</value>
+<value letter_id="S">425</value>
+<value letter_id="T">-527</value>
+<value letter_id="V">314</value>
+<value letter_id="W">-95</value>
+<value letter_id="Y">8</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">147</value>
+<value letter_id="C">-614</value>
+<value letter_id="D">89</value>
+<value letter_id="E">129</value>
+<value letter_id="F">93</value>
+<value letter_id="G">-121</value>
+<value letter_id="H">12</value>
+<value letter_id="I">160</value>
+<value letter_id="K">113</value>
+<value letter_id="L">217</value>
+<value letter_id="M">108</value>
+<value letter_id="N">144</value>
+<value letter_id="P">144</value>
+<value letter_id="Q">111</value>
+<value letter_id="R">125</value>
+<value letter_id="S">447</value>
+<value letter_id="T">-241</value>
+<value letter_id="V">332</value>
+<value letter_id="W">-81</value>
+<value letter_id="Y">22</value>
+</alphabet_array>
+</alphabet_matrix>
+</scores>
+<probabilities>
+<alphabet_matrix>
+<alphabet_array>
+<value letter_id="A">0.240000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.680000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.080000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.280000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.680000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.040000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.160000</value>
+<value letter_id="C">0.320000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.360000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.160000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.320000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.640000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.040000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.000000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.040000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.960000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.960000</value>
+<value letter_id="C">0.040000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.000000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.000000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.000000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.000000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">1.000000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">1.000000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.000000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.000000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.760000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.000000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.240000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.960000</value>
+<value letter_id="C">0.040000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.000000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.000000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+<alphabet_array>
+<value letter_id="A">0.840000</value>
+<value letter_id="C">0.000000</value>
+<value letter_id="D">0.000000</value>
+<value letter_id="E">0.000000</value>
+<value letter_id="F">0.000000</value>
+<value letter_id="G">0.120000</value>
+<value letter_id="H">0.000000</value>
+<value letter_id="I">0.000000</value>
+<value letter_id="K">0.000000</value>
+<value letter_id="L">0.000000</value>
+<value letter_id="M">0.000000</value>
+<value letter_id="N">0.000000</value>
+<value letter_id="P">0.000000</value>
+<value letter_id="Q">0.000000</value>
+<value letter_id="R">0.000000</value>
+<value letter_id="S">0.000000</value>
+<value letter_id="T">0.040000</value>
+<value letter_id="V">0.000000</value>
+<value letter_id="W">0.000000</value>
+<value letter_id="Y">0.000000</value>
+</alphabet_array>
+</alphabet_matrix>
+</probabilities>
+<regular_expression>
+[GA][GA][GC][GA]TATA[AT]AA
+</regular_expression>
+<contributing_sites>
+<contributing_site sequence_id="sequence_24" position="12" strand="none" pvalue="1.06e-06" >
+<left_flank>AAGGCCAGGA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCCTGAGAGC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_25" position="36" strand="none" pvalue="3.41e-06" >
+<left_flank>ACAGGCCCTG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_19" position="9" strand="none" pvalue="3.41e-06" >
+<left_flank>CAGGCCCTG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCCCCAGCAG</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_9" position="13" strand="none" pvalue="3.41e-06" >
+<left_flank>GATTCACTGA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GGCCCTCTGC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_21" position="7" strand="none" pvalue="4.00e-06" >
+<left_flank>CCAAGGA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCCCCACAAA</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_13" position="13" strand="none" pvalue="5.01e-06" >
+<left_flank>CCACCAGCTT</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>AGCCCTGTAC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_23" position="15" strand="none" pvalue="6.06e-06" >
+<left_flank>ATACCCAGGG</left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>CCTCAGCAGC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_15" position="21" strand="none" pvalue="8.67e-06" >
+<left_flank>AATCACTGAG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GTCCCAGGGA</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_12" position="18" strand="none" pvalue="8.67e-06" >
+<left_flank>CACCAGAGCT</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>AGAAGGTTCT</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_11" position="16" strand="none" pvalue="8.67e-06" >
+<left_flank>CACTATTGAA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>TTTCATTTGC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_22" position="2" strand="none" pvalue="1.21e-05" >
+<left_flank>GA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCCAACATCC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_28" position="32" strand="none" pvalue="1.59e-05" >
+<left_flank>CCGGCGGGGC</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+</site>
+<right_flank>GGGGCGG</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_20" position="4" strand="none" pvalue="1.59e-05" >
+<left_flank>CAGA</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+</site>
+<right_flank>GTTCCGACCA</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_6" position="15" strand="none" pvalue="1.68e-05" >
+<left_flank>CCCACTACTT</left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>TCATTCTGAG</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_14" position="19" strand="none" pvalue="2.03e-05" >
+<left_flank>CACCAGCAAG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GCTCAGGAGT</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_4" position="12" strand="none" pvalue="3.06e-05" >
+<left_flank>CAGGTCTAAG</left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>CTTGGAGTCC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_0" position="39" strand="none" pvalue="3.06e-05" >
+<left_flank>CCTCGGGACG</left_flank>
+<site>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank></right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_18" position="37" strand="none" pvalue="3.82e-05" >
+<left_flank>CGTGGTCGCG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_5" position="0" strand="none" pvalue="3.82e-05" >
+<left_flank></left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>ATGGTCCTGT</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_29" position="30" strand="none" pvalue="4.02e-05" >
+<left_flank>GCTGCCGGTG</left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+</site>
+<right_flank>GCCCTGGCG</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_1" position="27" strand="none" pvalue="5.52e-05" >
+<left_flank>AGTCACAAGT</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>GGGTCGCACG</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_3" position="14" strand="none" pvalue="5.94e-05" >
+<left_flank>CCCAGGTTTC</left_flank>
+<site>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>TCGCCGCACC</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_16" position="22" strand="none" pvalue="6.78e-05" >
+<left_flank>AGTTTCAGTT</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="C"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>attatataac</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_7" position="2" strand="none" pvalue="2.08e-04" >
+<left_flank>TC</left_flank>
+<site>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+</site>
+<right_flank>AAATGTTCCT</right_flank>
+</contributing_site>
+<contributing_site sequence_id="sequence_8" position="13" strand="none" pvalue="4.05e-04" >
+<left_flank>TATAACTCAG</left_flank>
+<site>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="G"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="T"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+<letter_ref letter_id="A"/>
+</site>
+<right_flank>TAATTTGTAC</right_flank>
+</contributing_site>
+</contributing_sites>
+</motif>
+</motifs>
+<scanned_sites_summary p_thresh="0.0001">
+<scanned_sites sequence_id="sequence_0" pvalue="1.22e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="39" pvalue="3.06e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_1" pvalue="2.21e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="27" pvalue="5.52e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_2" pvalue="7.29e-01" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_3" pvalue="2.37e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="14" pvalue="5.94e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_4" pvalue="1.22e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="12" pvalue="3.06e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_5" pvalue="1.53e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="0" pvalue="3.82e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_6" pvalue="6.70e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="15" pvalue="1.68e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_7" pvalue="1.81e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="4" pvalue="4.54e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_8" pvalue="1.61e-02" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_9" pvalue="1.36e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="13" pvalue="3.41e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_10" pvalue="1.99e-01" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_11" pvalue="3.47e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="16" pvalue="8.67e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_12" pvalue="3.47e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="18" pvalue="8.67e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_13" pvalue="2.01e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="13" pvalue="5.01e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_14" pvalue="8.11e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="19" pvalue="2.03e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_15" pvalue="3.47e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="21" pvalue="8.67e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_16" pvalue="2.71e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="22" pvalue="6.78e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_17" pvalue="8.23e-02" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_18" pvalue="1.53e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="37" pvalue="3.82e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_19" pvalue="1.36e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="9" pvalue="3.41e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_20" pvalue="6.37e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="4" pvalue="1.59e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_21" pvalue="1.60e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="7" pvalue="4.00e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_22" pvalue="4.83e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="2" pvalue="1.21e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_23" pvalue="2.43e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="15" pvalue="6.06e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_24" pvalue="4.26e-05" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="12" pvalue="1.06e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_25" pvalue="1.36e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="36" pvalue="3.41e-06"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_26" pvalue="4.30e-02" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_27" pvalue="4.30e-02" num_sites="0"></scanned_sites>
+<scanned_sites sequence_id="sequence_28" pvalue="6.37e-04" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="32" pvalue="1.59e-05"/>
+</scanned_sites>
+<scanned_sites sequence_id="sequence_29" pvalue="1.61e-03" num_sites="1"><scanned_site motif_id="motif_1" strand="none" position="30" pvalue="4.02e-05"/>
+</scanned_sites>
+</scanned_sites_summary>
+</MEME>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/phiX.fasta	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,79 @@
+>phiX174
+GAGTTTTATCGCTTCCATGACGCAGAAGTTAACACTTTCGGATATTTCTGATGAGTCGAAAAATTATCTT
+GATAAAGCAGGAATTACTACTGCTTGTTTACGAATTAAATCGAAGTGGACTGCTGGCGGAAAATGAGAAA
+ATTCGACCTATCCTTGCGCAGCTCGAGAAGCTCTTACTTTGCGACCTTTCGCCATCAACTAACGATTCTG
+TCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCTTGGCACGTTCGTCAAGGACTGGTTTA
+GATATGAGTCACATTTTGTTCATGGTAGAGATTCTCTTGTTGACATTTTAAAAGAGCGTGGATTACTATC
+TGAGTCCGATGCTGTTCAACCACTAATAGGTAAGAAATCATGAGTCAAGTTACTGAACAATCCGTACGTT
+TCCAGACCGCTTTGGCCTCTATTAAGCTCATTCAGGCTTCTGCCGTTTTGGATTTAACCGAAGATGATTT
+CGATTTTCTGACGAGTAACAAAGTTTGGATTGCTACTGACCGCTCTCGTGCTCGTCGCTGCGTTGAGGCT
+TGCGTTTATGGTACGCTGGACTTTGTGGGATACCCTCGCTTTCCTGCTCCTGTTGAGTTTATTGCTGCCG
+TCATTGCTTATTATGTTCATCCCGTCAACATTCAAACGGCCTGTCTCATCATGGAAGGCGCTGAATTTAC
+GGAAAACATTATTAATGGCGTCGAGCGTCCGGTTAAAGCCGCTGAATTGTTCGCGTTTACCTTGCGTGTA
+CGCGCAGGAAACACTGACGTTCTTACTGACGCAGAAGAAAACGTGCGTCAAAAATTACGTGCAGAAGGAG
+TGATGTAATGTCTAAAGGTAAAAAACGTTCTGGCGCTCGCCCTGGTCGTCCGCAGCCGTTGCGAGGTACT
+AAAGGCAAGCGTAAAGGCGCTCGTCTTTGGTATGTAGGTGGTCAACAATTTTAATTGCAGGGGCTTCGGC
+CCCTTACTTGAGGATAAATTATGTCTAATATTCAAACTGGCGCCGAGCGTATGCCGCATGACCTTTCCCA
+TCTTGGCTTCCTTGCTGGTCAGATTGGTCGTCTTATTACCATTTCAACTACTCCGGTTATCGCTGGCGAC
+TCCTTCGAGATGGACGCCGTTGGCGCTCTCCGTCTTTCTCCATTGCGTCGTGGCCTTGCTATTGACTCTA
+CTGTAGACATTTTTACTTTTTATGTCCCTCATCGTCACGTTTATGGTGAACAGTGGATTAAGTTCATGAA
+GGATGGTGTTAATGCCACTCCTCTCCCGACTGTTAACACTACTGGTTATATTGACCATGCCGCTTTTCTT
+GGCACGATTAACCCTGATACCAATAAAATCCCTAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACA
+ACTATTTTAAAGCGCCGTGGATGCCTGACCGTACCGAGGCTAACCCTAATGAGCTTAATCAAGATGATGC
+TCGTTATGGTTTCCGTTGCTGCCATCTCAAAAACATTTGGACTGCTCCGCTTCCTCCTGAGACTGAGCTT
+TCTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGC
+ATACTGACCAAGAACGTGATTACTTCATGCAGCGTTACCGTGATGTTATTTCTTCATTTGGAGGTAAAAC
+CTCTTATGACGCTGACAACCGTCCTTTACTTGTCATGCGCTCTAATCTCTGGGCATCTGGCTATGATGTT
+GATGGAACTGACCAAACGTCGTTAGGCCAGTTTTCTGGTCGTGTTCAACAGACCTATAAACATTCTGTGC
+CGCGTTTCTTTGTTCCTGAGCATGGCACTATGTTTACTCTTGCGCTTGTTCGTTTTCCGCCTACTGCGAC
+TAAAGAGATTCAGTACCTTAACGCTAAAGGTGCTTTGACTTATACCGATATTGCTGGCGACCCTGTTTTG
+TATGGCAACTTGCCGCCGCGTGAAATTTCTATGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGT
+TTAAGATTGCTGAGGGTCAGTGGTATCGTTATGCGCCTTCGTATGTTTCTCCTGCTTATCACCTTCTTGA
+AGGCTTCCCATTCATTCAGGAACCGCCTTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGAT
+TATGACCAGTGTTTCCAGTCCGTTCAGTTGTTGCAGTGGAATAGTCAGGTTAAATTTAATGTGACCGTTT
+ATCGCAATCTGCCGACCACTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAAC
+GCCGAAGCGGTAAAAATTTTAATTTTTGCCGCTGAGGGGTTGACCAAGCGAAGCGCGGTAGGTTTTCTGC
+TTAGGAGTTTAATCATGTTTCAGACTTTTATTTCTCGCCATAATTCAAACTTTTTTTCTGATAAGCTGGT
+TCTCACTTCTGTTACTCCAGCTTCTTCGGCACCTGTTTTACAGACACCTAAAGCTACATCGTCAACGTTA
+TATTTTGATAGTTTGACGGTTAATGCTGGTAATGGTGGTTTTCTTCATTGCATTCAGATGGATACATCTG
+TCAACGCCGCTAATCAGGTTGTTTCTGTTGGTGCTGATATTGCTTTTGATGCCGACCCTAAATTTTTTGC
+CTGTTTGGTTCGCTTTGAGTCTTCTTCGGTTCCGACTACCCTCCCGACTGCCTATGATGTTTATCCTTTG
+AATGGTCGCCATGATGGTGGTTATTATACCGTCAAGGACTGTGTGACTATTGACGTCCTTCCCCGTACGC
+CGGGCAATAATGTTTATGTTGGTTTCATGGTTTGGTCTAACTTTACCGCTACTAAATGCCGCGGATTGGT
+TTCGCTGAATCAGGTTATTAAAGAGATTATTTGTCTCCAGCCACTTAAGTGAGGTGATTTATGTTTGGTG
+CTATTGCTGGCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAA
+AGCCGCCTCCGGTGGCATTCAAGGTGATGTGCTTGCTACCGATAACAATACTGTAGGCATGGGTGATGCT
+GGTATTAAATCTGCCATTCAAGGCTCTAATGTTCCTAACCCTGATGAGGCCGCCCCTAGTTTTGTTTCTG
+GTGCTATGGCTAAAGCTGGTAAAGGACTTCTTGAAGGTACGTTGCAGGCTGGCACTTCTGCCGTTTCTGA
+TAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAAAGGAAAGGATACTCGTGATTAT
+CTTGCTGCTGCATTTCCTGAGCTTAATGCTTGGGAGCGTGCTGGTGCTGATGCTTCCTCTGCTGGTATGG
+TTGACGCCGGATTTGAGAATCAAAAAGAGCTTACTAAAATGCAACTGGACAATCAGAAAGAGATTGCCGA
+GATGCAAAATGAGACTCAAAAAGAGATTGCTGGCATTCAGTCGGCGACTTCACGCCAGAATACGAAAGAC
+CAGGTATATGCACAAAATGAGATGCTTGCTTATCAACAGAAGGAGTCTACTGCTCGCGTTGCGTCTATTA
+TGGAAAACACCAATCTTTCCAAGCAACAGCAGGTTTCCGAGATTATGCGCCAAATGCTTACTCAAGCTCA
+AACGGCTGGTCAGTATTTTACCAATGACCAAATCAAAGAAATGACTCGCAAGGTTAGTGCTGAGGTTGAC
+TTAGTTCATCAGCAAACGCAGAATCAGCGGTATGGCTCTTCTCATATTGGCGCTACTGCAAAGGATATTT
+CTAATGTCGTCACTGATGCTGCTTCTGGTGTGGTTGATATTTTTCATGGTATTGATAAAGCTGTTGCCGA
+TACTTGGAACAATTTCTGGAAAGACGGTAAAGCTGATGGTATTGGCTCTAATTTGTCTAGGAAATAACCG
+TCAGGATTGACACCCTCCCAATTGTATGTTTTCATGCCTCCAAATCTTGGAGGCTTTTTTATGGTTCGTT
+CTTATTACCCTTCTGAATGTCACGCTGATTATTTTGACTTTGAGCGTATCGAGGCTCTTAAACCTGCTAT
+TGAGGCTTGTGGCATTTCTACTCTTTCTCAATCCCCAATGCTTGGCTTCCATAAGCAGATGGATAACCGC
+ATCAAGCTCTTGGAAGAGATTCTGTCTTTTCGTATGCAGGGCGTTGAGTTCGATAATGGTGATATGTATG
+TTGACGGCCATAAGGCTGCTTCTGACGTTCGTGATGAGTTTGTATCTGTTACTGAGAAGTTAATGGATGA
+ATTGGCACAATGCTACAATGTGCTCCCCCAACTTGATATTAATAACACTATAGACCACCGCCCCGAAGGG
+GACGAAAAATGGTTTTTAGAGAACGAGAAGACGGTTACGCAGTTTTGCCGCAAGCTGGCTGCTGAACGCC
+CTCTTAAGGATATTCGCGATGAGTATAATTACCCCAAAAAGAAAGGTATTAAGGATGAGTGTTCAAGATT
+GCTGGAGGCCTCCACTATGAAATCGCGTAGAGGCTTTACTATTCAGCGTTTGATGAATGCAATGCGACAG
+GCTCATGCTGATGGTTGGTTTATCGTTTTTGACACTCTCACGTTGGCTGACGACCGATTAGAGGCGTTTT
+ATGATAATCCCAATGCTTTGCGTGACTATTTTCGTGATATTGGTCGTATGGTTCTTGCTGCCGAGGGTCG
+CAAGGCTAATGATTCACACGCCGACTGCTATCAGTATTTTTGTGTGCCTGAGTATGGTACAGCTAATGGC
+CGTCTTCATTTCCATGCGGTGCATTTTATGCGGACACTTCCTACAGGTAGCGTTGACCCTAATTTTGGTC
+GTCGGGTACGCAATCGCCGCCAGTTAAATAGCTTGCAAAATACGTGGCCTTATGGTTACAGTATGCCCAT
+CGCAGTTCGCTACACGCAGGACGCTTTTTCACGTTCTGGTTGGTTGTGGCCTGTTGATGCTAAAGGTGAG
+CCGCTTAAAGCTACCAGTTATATGGCTGTTGGTTTCTATGTGGCTAAATACGTTAACAAAAAGTCAGATA
+TGGACCTTGCTGCTAAAGGTCTAGGAGCTAAAGAATGGAACAACTCACTAAAAACCAAGCTGTCGCTACT
+TCCCAAGAAGCTGTTCAGAATCAGAATGAGCCGCAACTTCGGGATGAAAATGCTCACAATGACAAATCTG
+TCCACGGAGTGCTTAATCCAACTTACCAAGCTGGGTTACGACGCGACGCCGTTCAACCAGATATTGAAGC
+AGAACGCAAAAAGAGAGATGAGATTGAGGCTGGGAAAAGTTACTGTAGCCGACGTTTTGGCGGCGCAACC
+TGTGACGACAAATCTGCTCAAATTTATGCGCGCTTCGATAAAAATGATTGGCGTATCCAACCTGCA
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_data_table_conf.xml.sample	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,7 @@
+<tables>
+    <!-- Locations of all fasta files under genome directory -->
+    <table name="all_fasta" comment_char="#">
+        <columns>value, dbkey, name, path</columns>
+        <file path="tool-data/all_fasta.loc" />
+    </table>
+</tables>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tool_dependencies.xml	Wed Mar 23 13:58:55 2016 -0400
@@ -0,0 +1,9 @@
+<?xml version="1.0"?>
+<tool_dependency>
+    <package name="imagemagick" version="6.9.3">
+        <repository changeset_revision="1cb6eed50cd2" name="package_imagemagick_6_9_3" owner="iuc" prior_installation_required="True" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+    <package name="meme" version="4.11.0">
+        <repository changeset_revision="1c44baf77b0e" name="package_meme_4_11_0" owner="iuc" toolshed="https://testtoolshed.g2.bx.psu.edu" />
+    </package>
+</tool_dependency>