Repository 'fastqc'
hg clone https://toolshed.g2.bx.psu.edu/repos/devteam/fastqc

Changeset 15:2b0c9d9fc6ca (2017-11-24)
Previous changeset 14:f2e8552cf1d0 (2017-10-23) Next changeset 16:ff9530579d1f (2018-01-14)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/fastqc commit 35d722c0cafe2a2f2e4e2f73c265ae56ae237997
modified:
rgFastQC.xml
test-data/fastqc_data.txt
test-data/fastqc_data2.txt
test-data/fastqc_report.html
test-data/fastqc_report2.html
added:
test-data/fastqc_data_hisat.txt
test-data/fastqc_report_hisat.html
test-data/hisat_output_1.bam
removed:
rgFastQC.py
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca rgFastQC.py
--- a/rgFastQC.py Mon Oct 23 13:26:32 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,170 +0,0 @@
-"""
-Rewrite of rgFastQC.py for Version 0.11.2 of FastQC.
-
-Changes implemented from tmcgowan at
-https://testtoolshed.g2.bx.psu.edu/view/tmcgowan/fastqc
-and iuc at https://toolshed.g2.bx.psu.edu/view/iuc/fastqc
-with minor changes and bug fixes
-
-SYNOPSIS
-
-    rgFastQC.py -i input_file -j input_file.name -o output_html_file [-d output_directory]
-        [-f fastq|bam|sam] [-n job_name] [-c contaminant_file] [-e fastqc_executable]
-
-EXAMPLE (generated by Galaxy)
-
-    rgFastQC.py -i path/dataset_1.dat -j 1000gsample.fastq -o path/dataset_3.dat -d path/job_working_directory/subfolder
-        -f fastq -n FastQC -c path/dataset_2.dat -e fastqc
-"""
-import bz2
-import glob
-import gzip
-import mimetypes
-import optparse
-import os
-import re
-import shutil
-import subprocess
-import tempfile
-import zipfile
-
-
-class FastQCRunner(object):
-    def __init__(self, opts=None):
-        '''
-        Initializes an object to run FastQC in Galaxy. To start the process, use the function run_fastqc()
-        '''
-
-        # Check whether the options are specified and saves them into the object
-        assert opts is not None
-        self.opts = opts
-
-    def prepare_command_line(self):
-        '''
-        Develops the Commandline to run FastQC in Galaxy
-        '''
-
-        # Check whether a given file compression format is valid
-        # This prevents uncompression of already uncompressed files
-        infname = self.opts.inputfilename
-        linf = infname.lower()
-        informat = self.opts.informat
-        trimext = False
-        # decompression at upload currently does NOT remove this now bogus ending - fastqc will barf
-        # patched may 29 2013 until this is fixed properly
-        ftype = mimetypes.guess_type(self.opts.input)
-        if linf.endswith('.gz') or linf.endswith('.gzip') or ftype[-1] == "gzip" or informat.endswith('.gz'):
-            f = gzip.open(self.opts.input)
-            try:
-                f.readline()
-                ftype = ['gzip']
-            except Exception:
-                trimext = True
-            f.close()
-        elif linf.endswith('bz2') or informat.endswith('.bz2'):
-            f = bz2.BZ2File(self.opts.input, 'r')
-            try:
-                ftype = ['bzip2']
-                f.readline()
-            except Exception:
-                trimext = True
-            f.close()
-        elif linf.endswith('.zip'):
-            if not zipfile.is_zipfile(self.opts.input):
-                trimext = True
-        if trimext:
-            f = open(self.opts.input)
-            try:
-                f.readline()
-            except Exception:
-                raise Exception("Input file corruption, could not identify the filetype")
-            infname = os.path.splitext(infname)[0]
-
-        # Replace unwanted or problematic charaters in the input file name
-        self.fastqinfilename = re.sub(r'[^a-zA-Z0-9_\-\.]', '_', os.path.basename(infname))
-        # check that the symbolic link gets a proper ending, fastqc seems to ignore the given format otherwise
-        if 'fastq' in self.opts.informat:
-            # with fastq the .ext is ignored, but when a format is actually passed it must comply with fastqc's
-            # accepted formats..
-            self.opts.informat = 'fastq'
-        elif not self.fastqinfilename.endswith(self.opts.informat):
-            self.fastqinfilename += '.%s' % self.opts.informat
-
-        # Build the Commandline from the given parameters
-        command_line = [opts.executable, '--outdir %s' % self.opts.outputdir]
-        if self.opts.contaminants is not None:
-            command_line.append('--contaminants %s' % self.opts.contaminants)
-        if self.opts.limits is not None:
-            command_line.append('--limits %s' % self.opts.limits)
-        command_line.append('--quiet')
-        command_line.append('--extract')  # to access the output text file
-        if ftype[-1] == 'gzip':
-            self.fastqinfilename += '.gz'
-        elif ftype[-1] == 'bzip2':
-            self.fastqinfilename += '.bz2'
-        else:
-            command_line.append('-f %s' % self.opts.informat)
-        command_line.append(self.fastqinfilename)
-        self.command_line = ' '.join(command_line)
-
-    def copy_output_file_to_dataset(self):
-        '''
-        Retrieves the output html and text files from the output directory and copies them to the Galaxy output files
-        '''
-
-        # retrieve html file
-        result_file = glob.glob(self.opts.outputdir + '/*html')
-        with open(result_file[0], 'rb') as fsrc:
-            with open(self.opts.htmloutput, 'wb') as fdest:
-                shutil.copyfileobj(fsrc, fdest)
-
-        # retrieve text file
-        text_file = glob.glob(self.opts.outputdir + '/*/fastqc_data.txt')
-        with open(text_file[0], 'rb') as fsrc:
-            with open(self.opts.textoutput, 'wb') as fdest:
-                shutil.copyfileobj(fsrc, fdest)
-
-    def run_fastqc(self):
-        '''
-        Executes FastQC. Make sure the mandatory import parameters input, inputfilename, outputdir and htmloutput have been specified in the options
-        '''
-
-        # Create a log file
-        dummy, tlog = tempfile.mkstemp(prefix='rgFastQC', suffix=".log", dir=self.opts.outputdir)
-        sout = open(tlog, 'w')
-
-        self.prepare_command_line()
-        sout.write(self.command_line)
-        sout.write('\n')
-        sout.write("Creating symlink\n")  # between the input (.dat) file and the given input file name
-        os.symlink(self.opts.input, self.fastqinfilename)
-        sout.write("check_call\n")
-        subprocess.check_call(self.command_line, shell=True)
-        sout.write("Copying working %s file to %s \n" % (self.fastqinfilename, self.opts.htmloutput))
-        self.copy_output_file_to_dataset()
-        sout.write("Finished")
-        sout.close()
-
-
-if __name__ == '__main__':
-    op = optparse.OptionParser()
-    op.add_option('-i', '--input', default=None)
-    op.add_option('-j', '--inputfilename', default=None)
-    op.add_option('-o', '--htmloutput', default=None)
-    op.add_option('-t', '--textoutput', default=None)
-    op.add_option('-d', '--outputdir', default="/tmp/shortread")
-    op.add_option('-f', '--informat', default='fastq')
-    op.add_option('-n', '--namejob', default='rgFastQC')
-    op.add_option('-c', '--contaminants', default=None)
-    op.add_option('-l', '--limits', default=None)
-    op.add_option('-e', '--executable', default='fastqc')
-    opts, args = op.parse_args()
-
-    assert opts.input is not None
-    assert opts.inputfilename is not None
-    assert opts.htmloutput is not None
-    if not os.path.exists(opts.outputdir):
-        os.makedirs(opts.outputdir)
-
-    fastqc_runner = FastQCRunner(opts)
-    fastqc_runner.run_fastqc()
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca rgFastQC.xml
--- a/rgFastQC.xml Mon Oct 23 13:26:32 2017 -0400
+++ b/rgFastQC.xml Fri Nov 24 08:18:41 2017 -0500
[
@@ -1,4 +1,4 @@
-<tool id="fastqc" name="FastQC" version="0.69">
+<tool id="fastqc" name="FastQC" version="0.70">
     <description>Read Quality reports</description>
     <requirements>
         <requirement type="package" version="0.11.5">fastqc</requirement>
@@ -6,19 +6,45 @@
     <command detect_errors="exit_code"><![CDATA[
         #import re
         #set input_name = re.sub('[^\w\-\s]', '_', str($input_file.element_identifier))
-        python '$__tool_directory__/rgFastQC.py'
-            -i '$input_file'
-            -d '$html_file.files_path'
-            -o '$html_file'
-            -t '$text_file'
-            -f '$input_file.ext'
-            -j '$input_name'
+        
+        #if $input_file.ext.endswith('.gz'):
+            #set input_file_sl = $input_name + '.gz'
+        #elif $input_file.ext.endswith('.bz2'):
+            #set input_file_sl = $input_name + '.bz2'
+        #else
+            #set input_file_sl = $input_name
+        #end if
+
+        #if 'bam' in $input_file.ext:
+            #set format = 'bam'
+        #elif 'sam' in $input_file.ext:
+            #set format = 'sam'
+        #else
+            #set format = 'fastq'
+        #end if
+
+
+        ln -s '${input_file}' '${input_file_sl}' &&
+        mkdir -p '${html_file.files_path}' &&
+        fastqc
+            --outdir '${html_file.files_path}'
+            
             #if $contaminants.dataset and str($contaminants) > ''
-                -c '$contaminants'
+                --contaminants '${contaminants}'
             #end if
+            
             #if $limits.dataset and str($limits) > ''
-                -l '$limits'
+                --limits '${limits}'
             #end if
+            
+            --quiet
+            --extract
+            -f '${format}'
+            '${input_file_sl}'
+
+        && cp '${html_file.files_path}'/*/fastqc_data.txt output.txt
+        && cp '${html_file.files_path}'/*\.html output.html
+
     ]]></command>
     <inputs>
         <param format="fastq,fastq.gz,fastq.bz2,bam,sam" name="input_file" type="data"
@@ -29,33 +55,38 @@
                help="a file that specifies which submodules are to be executed (default=all) and also specifies the thresholds for the each submodules warning parameter" />
     </inputs>
     <outputs>
-        <data format="html" name="html_file" label="${tool.name} on ${on_string}: Webpage" />
-        <data format="txt" name="text_file"  label="${tool.name} on ${on_string}: RawData" />
+        <data format="html" name="html_file" from_work_dir="output.html" label="${tool.name} on ${on_string}: Webpage" />
+        <data format="txt" name="text_file"  from_work_dir="output.txt" label="${tool.name} on ${on_string}: RawData" />
     </outputs>
     <tests>
         <test>
             <param name="input_file" value="1000gsample.fastq" />
             <param name="contaminants" value="fastqc_contaminants.txt" ftype="tabular" />
             <output name="html_file" file="fastqc_report.html" ftype="html" lines_diff="100"/>
-            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="100"/>
+            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="2"/>
         </test>
         <test>
             <param name="input_file" value="1000gsample.fastq" />
             <param name="limits" value="fastqc_customlimits.txt" ftype="txt" />
             <output name="html_file" file="fastqc_report2.html" ftype="html" compare="sim_size" delta="4096"/>
-            <output name="text_file" file="fastqc_data2.txt" ftype="txt" compare="sim_size"/>
+            <output name="text_file" file="fastqc_data2.txt" ftype="txt" lines_diff="2"/>
         </test>
         <test>
             <param name="input_file" value="1000gsample.fastq.gz" ftype="fastq.gz" />
             <param name="contaminants" value="fastqc_contaminants.txt" ftype="tabular" />
             <output name="html_file" file="fastqc_report.html" ftype="html" lines_diff="100"/>
-            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="100"/>
+            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="2"/>
         </test>
         <test>
             <param name="input_file" value="1000gsample.fastq.bz2" ftype="fastq.bz2" />
             <param name="contaminants" value="fastqc_contaminants.txt" ftype="tabular" />
             <output name="html_file" file="fastqc_report.html" ftype="html" lines_diff="100"/>
-            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="100"/>
+            <output name="text_file" file="fastqc_data.txt" ftype="txt" lines_diff="2"/>
+        </test>
+        <test>
+            <param name="input_file" value="hisat_output_1.bam" ftype="bam" />
+            <output name="html_file" file="fastqc_report_hisat.html" ftype="html" lines_diff="100"/>
+            <output name="text_file" file="fastqc_data_hisat.txt" ftype="txt" lines_diff="2"/>
         </test>
     </tests>
     <help>
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_data.txt
--- a/test-data/fastqc_data.txt Mon Oct 23 13:26:32 2017 -0400
+++ b/test-data/fastqc_data.txt Fri Nov 24 08:18:41 2017 -0500
b
@@ -1,7 +1,7 @@
-##FastQC 0.11.4
+##FastQC 0.11.5
 >>Basic Statistics pass
 #Measure Value
-Filename 1000gsample.fastq
+Filename 1000gsample_fastq_bz2_dat.bz2
 File type Conventional base calls
 Encoding Sanger / Illumina 1.9
 Total Sequences 5000
@@ -638,7 +638,7 @@
 32 51.0
 33 5.0
 >>END_MODULE
->>Per base sequence content warn
+>>Per base sequence content pass
 #Base G A T C
 1 21.5 32.64 25.919999999999998 19.939999999999998
 2 24.04 31.72 26.540000000000003 17.7
@@ -886,49 +886,49 @@
 CGGTTCAGCAGGAATGCCGAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGAC 7 0.13999999999999999 Illumina Paired End PCR Primer 2 (100% over 35bp)
 >>END_MODULE
 >>Adapter Content pass
-#Position Illumina Universal Adapter Illumina Small RNA Adapter Nextera Transposase Sequence SOLID Small RNA Adapter
-1 0.0 0.0 0.0 0.0
-2 0.02 0.0 0.0 0.0
-3 0.02 0.0 0.0 0.0
-4 0.02 0.0 0.0 0.0
-5 0.02 0.0 0.0 0.0
-6 0.02 0.0 0.0 0.0
-7 0.02 0.0 0.0 0.0
-8 0.02 0.0 0.0 0.0
-9 0.02 0.0 0.0 0.0
-10 0.02 0.0 0.0 0.0
-11 0.02 0.0 0.0 0.0
-12 0.02 0.0 0.0 0.0
-13 0.02 0.0 0.0 0.0
-14 0.02 0.0 0.0 0.0
-15 0.02 0.0 0.0 0.0
-16 0.02 0.0 0.0 0.0
-17 0.02 0.0 0.0 0.0
-18 0.02 0.0 0.0 0.0
-19 0.06 0.0 0.0 0.0
-20 0.36 0.0 0.0 0.0
-21 0.36 0.0 0.0 0.0
-22 0.36 0.0 0.0 0.0
-23 0.36 0.0 0.0 0.0
-24 0.36 0.0 0.0 0.0
-25 0.4 0.0 0.0 0.0
-26 0.4 0.0 0.0 0.0
-27 0.42 0.0 0.0 0.0
-28 0.62 0.0 0.0 0.0
-29 0.66 0.0 0.0 0.0
-30 0.68 0.0 0.0 0.0
-31 0.68 0.0 0.0 0.0
-32 0.68 0.0 0.0 0.0
-33 0.68 0.0 0.0 0.0
-34 0.7 0.0 0.0 0.0
-35 0.76 0.0 0.0 0.0
-36 0.8 0.0 0.0 0.0
-37 0.88 0.0 0.0 0.0
-38 1.0 0.0 0.0 0.0
-39 1.12 0.0 0.0 0.0
-40 1.22 0.0 0.0 0.0
-41 1.38 0.0 0.0 0.0
-42 1.48 0.0 0.0 0.0
+#Position Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence SOLID Small RNA Adapter
+1 0.0 0.0 0.0 0.0 0.0
+2 0.02 0.0 0.0 0.0 0.0
+3 0.02 0.0 0.0 0.0 0.0
+4 0.02 0.0 0.0 0.0 0.0
+5 0.02 0.0 0.0 0.0 0.0
+6 0.02 0.0 0.0 0.0 0.0
+7 0.02 0.0 0.0 0.0 0.0
+8 0.02 0.0 0.0 0.0 0.0
+9 0.02 0.0 0.0 0.0 0.0
+10 0.02 0.0 0.0 0.0 0.0
+11 0.02 0.0 0.0 0.0 0.0
+12 0.02 0.0 0.0 0.0 0.0
+13 0.02 0.0 0.0 0.0 0.0
+14 0.02 0.0 0.0 0.0 0.0
+15 0.02 0.0 0.0 0.0 0.0
+16 0.02 0.0 0.0 0.0 0.0
+17 0.02 0.0 0.0 0.0 0.0
+18 0.02 0.0 0.0 0.0 0.0
+19 0.06 0.0 0.0 0.0 0.0
+20 0.36 0.0 0.0 0.0 0.0
+21 0.36 0.0 0.0 0.0 0.0
+22 0.36 0.0 0.0 0.0 0.0
+23 0.36 0.0 0.0 0.0 0.0
+24 0.36 0.0 0.0 0.0 0.0
+25 0.4 0.0 0.0 0.0 0.0
+26 0.4 0.0 0.0 0.0 0.0
+27 0.42 0.0 0.0 0.0 0.0
+28 0.62 0.0 0.0 0.0 0.0
+29 0.66 0.0 0.0 0.0 0.0
+30 0.68 0.0 0.0 0.0 0.0
+31 0.68 0.0 0.0 0.0 0.0
+32 0.68 0.0 0.0 0.0 0.0
+33 0.68 0.0 0.0 0.0 0.0
+34 0.7 0.0 0.0 0.0 0.0
+35 0.76 0.0 0.0 0.0 0.0
+36 0.8 0.0 0.0 0.0 0.0
+37 0.88 0.0 0.0 0.0 0.0
+38 1.0 0.0 0.0 0.0 0.0
+39 1.12 0.0 0.0 0.0 0.0
+40 1.22 0.0 0.0 0.0 0.0
+41 1.38 0.0 0.0 0.0 0.0
+42 1.48 0.0 0.0 0.0 0.0
 >>END_MODULE
 >>Kmer Content pass
 >>END_MODULE
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_data2.txt
--- a/test-data/fastqc_data2.txt Mon Oct 23 13:26:32 2017 -0400
+++ b/test-data/fastqc_data2.txt Fri Nov 24 08:18:41 2017 -0500
b
b'@@ -1,7 +1,7 @@\n-##FastQC\t0.11.4\n+##FastQC\t0.11.5\n >>Basic Statistics\tpass\n #Measure\tValue\n-Filename\t1000gsample.fastq\n+Filename\t1000gsample_fastq\n File type\tConventional base calls\n Encoding\tSanger / Illumina 1.9\n Total Sequences\t5000\n@@ -299,5018 +299,5018 @@\n TCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC\t2\t0.04\tNo Hit\n CGGTTCAGCAGGAATGCCGAGATCGGAAGAGCGGTTCAGCAGGAATGCCGCGAC\t2\t0.04\tIllumina Paired End PCR Primer 2 (97% over 35bp)\n CGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGC\t2\t0.04\tIllumina Paired End PCR Primer 2 (100% over 54bp)\n-ACAGAACAAAAACAACAAAATGTAAATGTATAAACCTTACAGGTTTGATGTGAT\t1\t0.02\tNo Hit\n-GCATGTTCTCACATAAAAATGGGAACTGAGCAATTAGAACATATGGACACAGGA\t1\t0.02\tNo Hit\n-ATTTTTGACCCAATCAAAGAATCAATCCCTAGCCCACCCTAGCTGTTGGGCTCA\t1\t0.02\tNo Hit\n-TTCATCCCCCGGCAAAATTCCCCTTCAGCTGTAAACCTGTAAAACCAGACAAGC\t1\t0.02\tNo Hit\n-ATAGCAACCTCTCCTTTTTTTGTGTATTTGCTGTTTGCTTCAAAGGGCTTTCTT\t1\t0.02\tNo Hit\n-ATTCGGGCTGATTTCATTCCATTCCATTCCTTTGAATTCCATTGCATTCCACTA\t1\t0.02\tNo Hit\n-GCTCACATTGCCAAGTCAGTCCTAAGCCAAAAGAACAAAGCTGGAGGCATTATG\t1\t0.02\tNo Hit\n-GCCACACCCAGGATCGTATGAAAGTTGCAGCCCTGCGTCTGAGGTCCTTGAGAG\t1\t0.02\tNo Hit\n-TTTTTTGAGGAGTTATGCTCTTGTCGCCAAGGATGGTGTGAAATGGCGTGACCT\t1\t0.02\tNo Hit\n-CGGAAGAGCGGCTCAGCAGGAATGCCGAGATCGGAAGAGCGGTTCAGCAGGAAT\t1\t0.02\tIllumina Paired End PCR Primer 2 (96% over 30bp)\n-CTCAAATGTTATGGAATCAAAGGGAATGGACTCAAATAGAATGGACTCAAAAGA\t1\t0.02\tNo Hit\n-TAAAGTGCTCTCCCATACATTTTTAAAGACCATATAATTAACATGCTAATTACA\t1\t0.02\tNo Hit\n-CTTTCTAAATTCCTGTCTCATGGGATTGCAAACTATAATAATAATATAATGTTG\t1\t0.02\tNo Hit\n-TCTTGAATATCTGTTATGAAATTATCAAAAGATACTTTTTTTTTTGAGTTGGAA\t1\t0.02\tNo Hit\n-CTCATGTTGCCCATGTCTCTGCTTGTTAGAGGAGTGAAGAAAGAAGACAAGACT\t1\t0.02\tNo Hit\n-TTTGTGATGGAGTCTCACTCTGTCACCCAGGCTGGAGTGCAGTGGCACGATCTC\t1\t0.02\tNo Hit\n-TTTAAAAAAAGATTTTTTTCTTGAGAGATGGGGGCTTGCTTTGTTGCTCAGGTT\t1\t0.02\tNo Hit\n-GAGATGCCTTAAGAATTTACTCAAGTACTGCCTCAAGCAGTTTGGCATATGTGT\t1\t0.02\tNo Hit\n-AAGCACCATATAGATAGGGTTATGTATAAAAGCATATGTGCTACTCATCTTTGC\t1\t0.02\tNo Hit\n-TCTGTAGCTTGTCTTTTCATCATCTTAATAGGATCTTTCAAAGAGTAAACATTT\t1\t0.02\tNo Hit\n-TTCATTTTTTATTTTTATGTCCCTTATTATTATGTGGGAATCCTGACTCTCAAC\t1\t0.02\tNo Hit\n-CATTTACTAACTGTATCTTTGGCCATGCCACTTAACCTTTCTGTGCTCAGTTTC\t1\t0.02\tNo Hit\n-CAGTTAATGAGTCCCCACGCAGCTGGACAGCTCCTCTCGGACACTGAGAACTCT\t1\t0.02\tNo Hit\n-GGAATGGAATGGAAAGGAATGGAATGGAATCAACCCGAGTGGAATGGAATGGAA\t1\t0.02\tNo Hit\n-AAGCCAAAGGATATGGGATATATTGGAAACTCAAGGTCAAAAAGGCTCATTAGC\t1\t0.02\tNo Hit\n-AAATTACTAGAAGAGATATTCAAGATCGGAGCAGAAGTAAATGAAATTGAATTA\t1\t0.02\tNo Hit\n-ATGGTGGCACGCATCTGTAATCCAAGCTACTCAGGAGGCTGAGACACGAGAATC\t1\t0.02\tNo Hit\n-TACTCAGTTTCCACAAAGACAGCCAGGGTTGGAGAGTTATCAGAAAATGATTTA\t1\t0.02\tNo Hit\n-GAAGAGATTTCAGCTGCTGCCACCTACAAACAAGACAGAGAGTGGGGTGGGGGT\t1\t0.02\tNo Hit\n-TAGAATTAAGTGCCTGCTAAAGCACACATGGTTCAGCAACCCAGCTATAGCCGC\t1\t0.02\tNo Hit\n-TTCACTTGACAGATTGCGGTCAAAACGCAGTCCAAACTTTAGATCGGAAGAGCG\t1\t0.02\tNo Hit\n-TTGAACTCCTTCCTTTGGGTCTTGTGTGTGGCACTCACCTGGTCATCCCCTCCC\t1\t0.02\tNo Hit\n-CTATACTGTTAGTTTTATAAAATATTCTGATCTCACTTTTGTGATGAAAAATAC\t1\t0.02\tNo Hit\n-TCTGCCCAAGGTTATAGAGCAAGTTCAGTTGTATAAAAGAAACTAGAACTTTCT\t1\t0.02\tNo Hit\n-GAGTGCTAACCTTGGGCCACTGAGCTTGGCAGGGACAGGTGGAAAAGTAGATAG\t1\t0.02\tNo Hit\n-TTTGGAGGTTGGAGAGGCTGAATGTTGACCATAAACTAGAATTGTTTGTCTTCC\t1\t0.02\tNo Hit\n-AGACAAGAACTGGCATGAATAATGCAGAGAAATACATAATCGAAACAGCATTTG\t1\t0.02\tNo Hit\n-TTTTCCCACACTCTTGACAACACTGTATTATCATACTTTCTTAGCTTTGTCAAA\t1\t0.02\tNo Hit\n-GTCTTTACCTTTGCCTCGTGCCTGGCCTTCAGACTCTGTGAGCCCGCTCCGGGA\t1\t0.02\tNo Hit\n-ACAAGGATTCCATTTTCTTCATTAACACCTCTTTTCTGTTGTTTTGCTTTGGTT\t1\t0.02\tNo Hit\n-TTATCTCTGTTGGCCTCCTGGATAGCTTTCACCCATAGCACATCATGACCAGGT\t1\t0.02\tNo Hit\n-AATGGAATCGTCATCGAATGAATTGAATGCAATCATCGAATGGTCTCGAATGGA\t1\t0.02\tNo Hit\n-CTCAGGAGGCTGAGGCAGAAGAATCACCTGAACCCGGGAAGTGGAGGTTTTAGG\t1\t0.02\tNo Hit\n-GAATGGAACGGAACAGAACGGAATGGAATGGAACAGATTGGAACAGAGTGTAGT\t1\t0.02\tNo Hit\n-TACTCGATAGCTTCCTTTTTGTCTGCTATGTGTGAGATGAACCTAACATTTCTT\t1\t0.02\tNo Hit\n-GTAGAGATGGGGTTTCACCATGTTAGTCAGGCTGGTCTCGAACTCCTGACCTCA\t1\t0.02\tNo Hit\n-TTAAAGTGCTTCACATCTAAATCACTATGCAGTTAATTCATTACCACAAAAACA\t1\t0.02\tNo Hit\n-CACTTTGAGAGGCTGAGGCTAGTGGATCACCTGAGATCAGGTGTTCGAGACCAG\t1\t0.02\tNo Hit\n-AGACATAAAATCCCTGTAGCCAAGGCAGTAAAACATAGA'..b"TTTCTCTTTCTCCTTCCTTCCTTCCTTCTTTCTTTCTTTCTTTTTC\t1\t0.02\tNo Hit\n+CACCGGGGGTTCAAGGGTACAGGGGAGTCCGACATAGACAGGAAATAACATGAA\t1\t0.02\tNo Hit\n+CACTCTGTCACCCAGGCTGGAGGGCAGTGGTACAATCTCGGCTCACTGCAGCCT\t1\t0.02\tNo Hit\n+ATGAAGACACCTAAAGAAAACCAGAATAAGGCCAGGCATGGAGGTGGCTGCATC\t1\t0.02\tNo Hit\n+TGGAATCATTGAACGGAATTGAATGGAACCGTCATCGAATGAATTGAATGCAAT\t1\t0.02\tNo Hit\n+AAAAAAGATCCACCACCGTACCTACACCAATCATGTAAATTATTCATAGTATAT\t1\t0.02\tNo Hit\n+TTAGCTAAAATTTTAAAGGCCAAGCGTGGGGCTGCCACTTTAGAGCAACAAGAA\t1\t0.02\tNo Hit\n+ATTATATTATCATTCTTAAGATAAATGGGTCAGTCGTTCCATTAGGACACTTAT\t1\t0.02\tNo Hit\n+AGAAAGGGCATCCAGATTGAAAAAGAGGAAGTCAAACTCTATTTGCTGATAATA\t1\t0.02\tNo Hit\n+AAGAAAATTCGGAATGAAGGCACTGGAAATGCAGATACATCCATGAAAGAATGT\t1\t0.02\tNo Hit\n+TTATACATGTCCACAAAGAATTTATATGCAAGTGTTTTCATTTCAAAGTGCTGC\t1\t0.02\tNo Hit\n+CACTCAGTTCTGTGTTTGCACAACTCTGTGCAGTTGTTAAATGCCTACAAAAAG\t1\t0.02\tNo Hit\n+TTATGCTCTGCTTCCTCTTGAACACTTTGCCACTTAGAAATTTCTTCCTCCAGA\t1\t0.02\tNo Hit\n+AGACATAAAATCCCTGTAGCCAAGGCAGTAAAACATAGAGGGGTATATGAGAGT\t1\t0.02\tNo Hit\n+TGGAAACGGGCTTTCTTCATATTATGCTATACAGAAGAATTCTCCGAACTTTCC\t1\t0.02\tNo Hit\n+CTGCCACTCTGCCTCCTCCCCTCAGCCCTGTCCCTCAGTAGGTATCTTCCAAAG\t1\t0.02\tNo Hit\n+AAAGTATATTGTTCTATTGAGATAGTCATGGACCAGGCTTATGTGGAATCAATA\t1\t0.02\tNo Hit\n+CTGCTCTGAGCACTTAGCACGCTCTAGTTCATGCAGCGATCCTCACGACCACCC\t1\t0.02\tNo Hit\n+GGCGACACATGGAGCTGGCCCAGCAAGAGGTTCTAACATCAGTGACAGATAGGA\t1\t0.02\tNo Hit\n+ATAAAATGTTCCAAAATCTATGAAATATTAAATATTATACTTCAAAATAAAGTA\t1\t0.02\tNo Hit\n+AGATTGGAATTGAATCAAGGCAGCCTAGTTTCAGAGTACATACTCTGTGTTTTC\t1\t0.02\tNo Hit\n+TAACTCTTTATAAAGCATATATAGCATCTGAACAAGAAATATGACACTAAGTCT\t1\t0.02\tNo Hit\n+GTGAATGATGTCACAGATGCTGAACAAATGCCAATTGTGAGCCAGGTATGGAGC\t1\t0.02\tNo Hit\n+AAGAATGTGGAAGTTAAGGGAGAAGAAATGTCAGTGTCATTCCTAAAGATAGTG\t1\t0.02\tNo Hit\n+TGTTATCTTCATTTGCTAGGTTATTCCACAAGCCAAGCATCCATTTCTGTGAAG\t1\t0.02\tNo Hit\n >>END_MODULE\n >>Adapter Content\tpass\n-#Position\tIllumina Universal Adapter\tIllumina Small RNA Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n-1\t0.0\t0.0\t0.0\t0.0\n-2\t0.02\t0.0\t0.0\t0.0\n-3\t0.02\t0.0\t0.0\t0.0\n-4\t0.02\t0.0\t0.0\t0.0\n-5\t0.02\t0.0\t0.0\t0.0\n-6\t0.02\t0.0\t0.0\t0.0\n-7\t0.02\t0.0\t0.0\t0.0\n-8\t0.02\t0.0\t0.0\t0.0\n-9\t0.02\t0.0\t0.0\t0.0\n-10\t0.02\t0.0\t0.0\t0.0\n-11\t0.02\t0.0\t0.0\t0.0\n-12\t0.02\t0.0\t0.0\t0.0\n-13\t0.02\t0.0\t0.0\t0.0\n-14\t0.02\t0.0\t0.0\t0.0\n-15\t0.02\t0.0\t0.0\t0.0\n-16\t0.02\t0.0\t0.0\t0.0\n-17\t0.02\t0.0\t0.0\t0.0\n-18\t0.02\t0.0\t0.0\t0.0\n-19\t0.06\t0.0\t0.0\t0.0\n-20\t0.36\t0.0\t0.0\t0.0\n-21\t0.36\t0.0\t0.0\t0.0\n-22\t0.36\t0.0\t0.0\t0.0\n-23\t0.36\t0.0\t0.0\t0.0\n-24\t0.36\t0.0\t0.0\t0.0\n-25\t0.4\t0.0\t0.0\t0.0\n-26\t0.4\t0.0\t0.0\t0.0\n-27\t0.42\t0.0\t0.0\t0.0\n-28\t0.62\t0.0\t0.0\t0.0\n-29\t0.66\t0.0\t0.0\t0.0\n-30\t0.68\t0.0\t0.0\t0.0\n-31\t0.68\t0.0\t0.0\t0.0\n-32\t0.68\t0.0\t0.0\t0.0\n-33\t0.68\t0.0\t0.0\t0.0\n-34\t0.7\t0.0\t0.0\t0.0\n-35\t0.76\t0.0\t0.0\t0.0\n-36\t0.8\t0.0\t0.0\t0.0\n-37\t0.88\t0.0\t0.0\t0.0\n-38\t1.0\t0.0\t0.0\t0.0\n-39\t1.12\t0.0\t0.0\t0.0\n-40\t1.22\t0.0\t0.0\t0.0\n-41\t1.38\t0.0\t0.0\t0.0\n-42\t1.48\t0.0\t0.0\t0.0\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3' Adapter\tIllumina Small RNA 5' Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0.0\t0.0\t0.0\t0.0\t0.0\n+2\t0.02\t0.0\t0.0\t0.0\t0.0\n+3\t0.02\t0.0\t0.0\t0.0\t0.0\n+4\t0.02\t0.0\t0.0\t0.0\t0.0\n+5\t0.02\t0.0\t0.0\t0.0\t0.0\n+6\t0.02\t0.0\t0.0\t0.0\t0.0\n+7\t0.02\t0.0\t0.0\t0.0\t0.0\n+8\t0.02\t0.0\t0.0\t0.0\t0.0\n+9\t0.02\t0.0\t0.0\t0.0\t0.0\n+10\t0.02\t0.0\t0.0\t0.0\t0.0\n+11\t0.02\t0.0\t0.0\t0.0\t0.0\n+12\t0.02\t0.0\t0.0\t0.0\t0.0\n+13\t0.02\t0.0\t0.0\t0.0\t0.0\n+14\t0.02\t0.0\t0.0\t0.0\t0.0\n+15\t0.02\t0.0\t0.0\t0.0\t0.0\n+16\t0.02\t0.0\t0.0\t0.0\t0.0\n+17\t0.02\t0.0\t0.0\t0.0\t0.0\n+18\t0.02\t0.0\t0.0\t0.0\t0.0\n+19\t0.06\t0.0\t0.0\t0.0\t0.0\n+20\t0.36\t0.0\t0.0\t0.0\t0.0\n+21\t0.36\t0.0\t0.0\t0.0\t0.0\n+22\t0.36\t0.0\t0.0\t0.0\t0.0\n+23\t0.36\t0.0\t0.0\t0.0\t0.0\n+24\t0.36\t0.0\t0.0\t0.0\t0.0\n+25\t0.4\t0.0\t0.0\t0.0\t0.0\n+26\t0.4\t0.0\t0.0\t0.0\t0.0\n+27\t0.42\t0.0\t0.0\t0.0\t0.0\n+28\t0.62\t0.0\t0.0\t0.0\t0.0\n+29\t0.66\t0.0\t0.0\t0.0\t0.0\n+30\t0.68\t0.0\t0.0\t0.0\t0.0\n+31\t0.68\t0.0\t0.0\t0.0\t0.0\n+32\t0.68\t0.0\t0.0\t0.0\t0.0\n+33\t0.68\t0.0\t0.0\t0.0\t0.0\n+34\t0.7\t0.0\t0.0\t0.0\t0.0\n+35\t0.76\t0.0\t0.0\t0.0\t0.0\n+36\t0.8\t0.0\t0.0\t0.0\t0.0\n+37\t0.88\t0.0\t0.0\t0.0\t0.0\n+38\t1.0\t0.0\t0.0\t0.0\t0.0\n+39\t1.12\t0.0\t0.0\t0.0\t0.0\n+40\t1.22\t0.0\t0.0\t0.0\t0.0\n+41\t1.38\t0.0\t0.0\t0.0\t0.0\n+42\t1.48\t0.0\t0.0\t0.0\t0.0\n >>END_MODULE\n >>Kmer Content\tpass\n >>END_MODULE\n"
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_data_hisat.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_hisat.txt Fri Nov 24 08:18:41 2017 -0500
b
b'@@ -0,0 +1,448 @@\n+##FastQC\t0.11.5\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\thisat_output_1_bam\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t20\n+Sequences flagged as poor quality\t0\n+Sequence length\t70\n+%GC\t43\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+2\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+3\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+4\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+5\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+6\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+7\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+8\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+9\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+10\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+11\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+12\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+13\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+14\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+15\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+16\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+17\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+18\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+19\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+20\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+21\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+22\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+23\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+24\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+25\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+26\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+27\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+28\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+29\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+30\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+31\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+32\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+33\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+34\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+35\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+36\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+37\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+38\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+39\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+40\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+41\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+42\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+43\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+44\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+45\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+46\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+47\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+48\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+49\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+50\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+51\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+52\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+53\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+54\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+55\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+56\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+57\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+58\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+59\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+60\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+61\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+62\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+63\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+64\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+65\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+66\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+67\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+68\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+69\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+70\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+>>END_MODULE\n+>>Per sequence quality scores\tfail\n+#Quality\tCount\n+17\t20.0\n+>>END_MODULE\n+>>Per base sequence content\tfail\n+#Base\tG\tA\tT\tC\n+1\t20.0\t5.0\t35.0\t40.0\n+2\t10.0\t10.0\t45.0\t35.0\n+3\t35.0\t20.0\t20.0\t25.0\n+4\t35.0\t30.0\t25.0\t10.0\n+5\t20.0\t20.0\t30.0\t30.0\n+6\t20.0\t35.0\t20.0\t25.0\n+7\t15.0\t40.0\t35.0\t10.0\n+8\t20.0\t15.0\t45.0\t20.0\n+9\t20.0\t25.0\t35.0\t20.0\n+10\t20.0\t20.0\t30.0\t30.0\n+11\t15.0\t20.0\t45.0\t20.0\n+12\t10.0\t40.0\t35.0\t15.0\n+13\t25.0\t35.0\t20.0\t20.0\n+14\t35.0\t20.0\t20.0\t25.0\n+15\t30.0\t35.0\t15.0\t20.0\n+16\t10.0\t45.0\t25.0\t20.0\n+17\t25.0\t25.0\t40.0\t10.0\n+18\t25.0\t35.0\t10.0\t30.0\n+19\t5.0\t30.0\t25.0\t40.0\n+20\t20.0\t15.0\t40.0\t25.0\n+21\t25.0\t25.0\t25.0\t25.0\n+22\t15.0\t30.0\t20.0\t35.0\n+23\t20.0\t5.0\t45.0\t30.0\n+24\t10.0\t30.0\t35.0\t25.0\n+25\t30.0\t40.0\t15.0\t15.0\n+26\t15.0\t35.0\t20.0\t30.0\n+27\t15.0\t35.0\t30.0\t20.0\n+28\t25.0\t25.0\t30.0\t20.0\n+29\t15.0\t30.0\t20.0\t35.0\n+30\t20.0\t35.0\t30.0\t15.0\n+31\t20.0\t35.0\t25.0\t20.0\n+32\t35.0\t15.0\t35.0\t15.0\n+33\t30.0\t35.0\t15.0\t20.0\n+34\t25.0\t25.0\t25.0\t25.0\n+35\t25.0\t20.0\t35.0\t20.0\n+36\t30.0\t25.0\t20.0\t25.0\n+37\t15.0\t45.0\t25.0\t15.0\n+38\t30.0\t25.0\t35.0\t10.0\n+39\t20.0\t45.0\t15.0\t20.0\n+40\t15.0\t35.0\t20.0\t30.0\n+41\t35.0\t25.0\t20.0\t20.0\n+42\t30.0\t30.0\t35.0\t5.0\n+43\t25.0\t15.0\t40.0\t20.0\n+44\t40.0\t20.0\t30.0\t10.0\n+45\t15.0\t35.0\t25.0\t25.0\n+46\t15.0\t30.0\t40.0\t15.0\n+47\t35.0\t15.0\t30.0\t20.0\n+48\t30.0\t35.0\t20.0\t15.0\n+49\t10.0\t55.00000000000001\t30.0\t5.0\n+50\t40.0\t25.0\t20.0\t15.0\n+51\t25.0\t35.0\t10.0\t30.0\n+52\t30.0\t25.0\t20.0\t25.0\n+53\t30.0\t10.0\t30.0\t30.0\n+54\t20.0\t40.0\t20.0\t20.0\n+55\t10.0\t35.0\t10.0\t45.0\n+56\t50.0\t10.0\t30.0\t10.0\n+57\t15.0\t45.0\t30.0\t10.0\n+58\t20.0\t35.0\t20.0\t25.0\n+59\t30.0\t35.0\t30.0\t5.0\n+60\t20.0\t35.0\t25.0\t20.0\n+61\t25.0\t15.0\t35'..b"1\t0.0\n+52\t0.0\n+53\t0.0\n+54\t0.0\n+55\t0.0\n+56\t0.0\n+57\t0.0\n+58\t0.0\n+59\t0.0\n+60\t0.0\n+61\t0.0\n+62\t0.0\n+63\t0.0\n+64\t0.0\n+65\t0.0\n+66\t0.0\n+67\t0.0\n+68\t0.0\n+69\t0.0\n+70\t0.0\n+>>END_MODULE\n+>>Sequence Length Distribution\tpass\n+#Length\tCount\n+70\t20.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t100.0\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t100.0\t100.0\n+2\t0.0\t0.0\n+3\t0.0\t0.0\n+4\t0.0\t0.0\n+5\t0.0\t0.0\n+6\t0.0\t0.0\n+7\t0.0\t0.0\n+8\t0.0\t0.0\n+9\t0.0\t0.0\n+>10\t0.0\t0.0\n+>50\t0.0\t0.0\n+>100\t0.0\t0.0\n+>500\t0.0\t0.0\n+>1k\t0.0\t0.0\n+>5k\t0.0\t0.0\n+>10k+\t0.0\t0.0\n+>>END_MODULE\n+>>Overrepresented sequences\tfail\n+#Sequence\tCount\tPercentage\tPossible Source\n+GCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGAGGCGGTCAAAAAGCCGCCTC\t1\t5.0\tNo Hit\n+CCATACAAAACAGGGTCGCCAGCAATATCGGTATAAGTCAAAGCACCTTTAGCGTTAAGGTACTGAATCT\t1\t5.0\tNo Hit\n+TAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACAACTATTTTCAAGCGCCGAGGATGCGTGACCGT\t1\t5.0\tNo Hit\n+CTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAAGCTGCTTATGCTAATTTGCA\t1\t5.0\tNo Hit\n+CTGGCACTTCTGCCGTTTCTGATAAGTTGCTTGATTTGGTTGGACTTGGTGGCAAGTCTGCCGCTGATAA\t1\t5.0\tNo Hit\n+TCTGCGTTTGCTGATGAACTAAGTCAACCTCAGCACTAACCTTGCGAGTCATTTCATTGATTTGGTCATT\t1\t5.0\tNo Hit\n+GCGTTAAGGTACTGAATCTCTTTAGTCGCAGTAGGCGGAAAACGAACAAGCGCAAGAGTAAACATAGTGC\t1\t5.0\tNo Hit\n+CTGAATGGAATTAAGAAAACCACCAATACCAGCATTAACCTTCAAACTATCAAAATATAACGTTGACGAT\t1\t5.0\tNo Hit\n+CTCAAATCCGGCGTCAACCATACCAGCATAGGAAGCATCAGCACCAGCACGCTCCCAAGCATTAATCTCA\t1\t5.0\tNo Hit\n+CAAATTAGCATAAGCAGCTTGCAGACCCATAATGTCAATAGATGTGGTAGAAGTCGTCATTTGGCTAGAA\t1\t5.0\tNo Hit\n+GTGAAATTTCTAGGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAGTTTAAGATTGCTGAGGGTCA\t1\t5.0\tNo Hit\n+TGTTTTCCGTAAATTCAGCGCCTTCCATGATGCGACAGGCCGTTTGAATGTTGACGGGATGAACATAATA\t1\t5.0\tNo Hit\n+CCTTTCGCCATCAACTAACGATTCTGTCAAAAACTGACGCGTTGGATGAGGAGAAGTGGCTTAATATGCT\t1\t5.0\tNo Hit\n+TGGCGCTCTCCGTCTTTCTCCATTTCGTCGTGGCCTTGCTATTGACTCTACTGTAGACATTTTTACTTTT\t1\t5.0\tNo Hit\n+GCGACCATTCAAAGGATAAACATCATAGGCAGTCGGGAGGGTAGTCGGAACCGACGAAGACTCAAAGCGA\t1\t5.0\tNo Hit\n+TTTCGGATATTTCTGATGAGTCGAAAAATTATCTTGATAAAGCAGTAATTACTACTGCTTGTTTACGAAT\t1\t5.0\tNo Hit\n+TTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGATTATGACCAGTGTTTCCAGTCCGTTCAG\t1\t5.0\tNo Hit\n+CTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATAACGCCGAAGCGGTAAAAAAT\t1\t5.0\tNo Hit\n+ACCATAAACGCAAGCCTCAACGCAGCGACGAGCACGAGAGCGGTCAGTAGCAATCCAAACTTTGTTACTC\t1\t5.0\tNo Hit\n+TTAGGTGTGTGTAAAACAGGTGCCGAAGAAGCTGGATTAACAGAATTGAGAACCAGCTTATCAGAAAAAA\t1\t5.0\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3' Adapter\tIllumina Small RNA 5' Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0.0\t0.0\t0.0\t0.0\t0.0\n+2\t0.0\t0.0\t0.0\t0.0\t0.0\n+3\t0.0\t0.0\t0.0\t0.0\t0.0\n+4\t0.0\t0.0\t0.0\t0.0\t0.0\n+5\t0.0\t0.0\t0.0\t0.0\t0.0\n+6\t0.0\t0.0\t0.0\t0.0\t0.0\n+7\t0.0\t0.0\t0.0\t0.0\t0.0\n+8\t0.0\t0.0\t0.0\t0.0\t0.0\n+9\t0.0\t0.0\t0.0\t0.0\t0.0\n+10\t0.0\t0.0\t0.0\t0.0\t0.0\n+11\t0.0\t0.0\t0.0\t0.0\t0.0\n+12\t0.0\t0.0\t0.0\t0.0\t0.0\n+13\t0.0\t0.0\t0.0\t0.0\t0.0\n+14\t0.0\t0.0\t0.0\t0.0\t0.0\n+15\t0.0\t0.0\t0.0\t0.0\t0.0\n+16\t0.0\t0.0\t0.0\t0.0\t0.0\n+17\t0.0\t0.0\t0.0\t0.0\t0.0\n+18\t0.0\t0.0\t0.0\t0.0\t0.0\n+19\t0.0\t0.0\t0.0\t0.0\t0.0\n+20\t0.0\t0.0\t0.0\t0.0\t0.0\n+21\t0.0\t0.0\t0.0\t0.0\t0.0\n+22\t0.0\t0.0\t0.0\t0.0\t0.0\n+23\t0.0\t0.0\t0.0\t0.0\t0.0\n+24\t0.0\t0.0\t0.0\t0.0\t0.0\n+25\t0.0\t0.0\t0.0\t0.0\t0.0\n+26\t0.0\t0.0\t0.0\t0.0\t0.0\n+27\t0.0\t0.0\t0.0\t0.0\t0.0\n+28\t0.0\t0.0\t0.0\t0.0\t0.0\n+29\t0.0\t0.0\t0.0\t0.0\t0.0\n+30\t0.0\t0.0\t0.0\t0.0\t0.0\n+31\t0.0\t0.0\t0.0\t0.0\t0.0\n+32\t0.0\t0.0\t0.0\t0.0\t0.0\n+33\t0.0\t0.0\t0.0\t0.0\t0.0\n+34\t0.0\t0.0\t0.0\t0.0\t0.0\n+35\t0.0\t0.0\t0.0\t0.0\t0.0\n+36\t0.0\t0.0\t0.0\t0.0\t0.0\n+37\t0.0\t0.0\t0.0\t0.0\t0.0\n+38\t0.0\t0.0\t0.0\t0.0\t0.0\n+39\t0.0\t0.0\t0.0\t0.0\t0.0\n+40\t0.0\t0.0\t0.0\t0.0\t0.0\n+41\t0.0\t0.0\t0.0\t0.0\t0.0\n+42\t0.0\t0.0\t0.0\t0.0\t0.0\n+43\t0.0\t0.0\t0.0\t0.0\t0.0\n+44\t0.0\t0.0\t0.0\t0.0\t0.0\n+45\t0.0\t0.0\t0.0\t0.0\t0.0\n+46\t0.0\t0.0\t0.0\t0.0\t0.0\n+47\t0.0\t0.0\t0.0\t0.0\t0.0\n+48\t0.0\t0.0\t0.0\t0.0\t0.0\n+49\t0.0\t0.0\t0.0\t0.0\t0.0\n+50\t0.0\t0.0\t0.0\t0.0\t0.0\n+51\t0.0\t0.0\t0.0\t0.0\t0.0\n+52\t0.0\t0.0\t0.0\t0.0\t0.0\n+53\t0.0\t0.0\t0.0\t0.0\t0.0\n+54\t0.0\t0.0\t0.0\t0.0\t0.0\n+55\t0.0\t0.0\t0.0\t0.0\t0.0\n+56\t0.0\t0.0\t0.0\t0.0\t0.0\n+57\t0.0\t0.0\t0.0\t0.0\t0.0\n+58\t0.0\t0.0\t0.0\t0.0\t0.0\n+>>END_MODULE\n+>>Kmer Content\tpass\n+>>END_MODULE\n"
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_report.html
--- a/test-data/fastqc_report.html Mon Oct 23 13:26:32 2017 -0400
+++ b/test-data/fastqc_report.html Fri Nov 24 08:18:41 2017 -0500
[
b'@@ -1,187 +1,187 @@\n-<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\n- @media screen {\n-  div.summary {\n-    width: 18em;\n-    position:fixed;\n-    top: 3em;\n-    margin:1em 0 0 1em;\n-  }\n-  \n-  div.main {\n-    display:block;\n-    position:absolute;\n-    overflow:auto;\n-    height:auto;\n-    width:auto;\n-    top:4.5em;\n-    bottom:2.3em;\n-    left:18em;\n-    right:0;\n-    border-left: 1px solid #CCC;\n-    padding:0 0 0 1em;\n-    background-color: white;\n-    z-index:1;\n-  }\n-  \n-  div.header {\n-    background-color: #EEE;\n-    border:0;\n-    margin:0;\n-    padding: 0.5em;\n-    font-size: 200%;\n-    font-weight: bold;\n-    position:fixed;\n-    width:100%;\n-    top:0;\n-    left:0;\n-    z-index:2;\n-  }\n-\n-  div.footer {\n-    background-color: #EEE;\n-    border:0;\n-    margin:0;\n-\tpadding:0.5em;\n-    height: 1.3em;\n-\toverflow:hidden;\n-    font-size: 100%;\n-    font-weight: bold;\n-    position:fixed;\n-    bottom:0;\n-    width:100%;\n-    z-index:2;\n-  }\n-  \n-  img.indented {\n-    margin-left: 3em;\n-  }\n- }\n- \n- @media print {\n-\timg {\n-\t\tmax-width:100% !important;\n-\t\tpage-break-inside: avoid;\n-\t}\n-\th2, h3 {\n-\t\tpage-break-after: avoid;\n-\t}\n-\tdiv.header {\n-      background-color: #FFF;\n-    }\n-\t\n- }\n- \n- body {    \n-  font-family: sans-serif;   \n-  color: #000;   \n-  background-color: #FFF;\n-  border: 0;\n-  margin: 0;\n-  padding: 0;\n-  }\n-  \n-  div.header {\n-  border:0;\n-  margin:0;\n-  padding: 0.5em;\n-  font-size: 200%;\n-  font-weight: bold;\n-  width:100%;\n-  }    \n-  \n-  #header_title {\n-  display:inline-block;\n-  float:left;\n-  clear:left;\n-  }\n-  #header_filename {\n-  display:inline-block;\n-  float:right;\n-  clear:right;\n-  font-size: 50%;\n-  margin-right:2em;\n-  text-align: right;\n-  }\n-\n-  div.header h3 {\n-  font-size: 50%;\n-  margin-bottom: 0;\n-  }\n-  \n-  div.summary ul {\n-  padding-left:0;\n-  list-style-type:none;\n-  }\n-  \n-  div.summary ul li img {\n-  margin-bottom:-0.5em;\n-  margin-top:0.5em;\n-  }\n-\t  \n-  div.main {\n-  background-color: white;\n-  }\n-      \n-  div.module {\n-  padding-bottom:1.5em;\n-  padding-top:1.5em;\n-  }\n-\t  \n-  div.footer {\n-  background-color: #EEE;\n-  border:0;\n-  margin:0;\n-  padding: 0.5em;\n-  font-size: 100%;\n-  font-weight: bold;\n-  width:100%;\n-  }\n-\n-\n-  a {\n-  color: #000080;\n-  }\n-\n-  a:hover {\n-  color: #800000;\n-  }\n-      \n-  h2 {\n-  color: #800000;\n-  padding-bottom: 0;\n-  margin-bottom: 0;\n-  clear:left;\n-  }\n-\n-  table { \n-  margin-left: 3em;\n-  text-align: center;\n-  }\n-  \n-  th { \n-  text-align: center;\n-  background-color: #000080;\n-  color: #FFF;\n-  padding: 0.4em;\n-  }      \n-  \n-  td { \n-  font-family: monospace; \n-  text-align: left;\n-  background-color: #EEE;\n-  color: #000;\n-  padding: 0.4em;\n-  }\n-\n-  img {\n-  padding-top: 0;\n-  margin-top: 0;\n-  border-top: 0;\n-  }\n-\n-  \n-  p {\n-  padding-top: 0;\n-  margin-top: 0;\n-  }\n-</style></head><body><div class="header"><div id="header_title"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADfUlEQVR42rWXT0hUURTGj5ZpaZqDmYNaCZkuMjXFiiTThZEyoiRlZGmCBYlWMBU5kW+cmRwhKEQXEkRFEBkGQUbpQmnjwk0S4TKiFuWmFqlhf17fbe7Qm8e9z/dmpoEfDr57z/nueeeec4ZUVaVw6CNKdRM1KEQ3wWMwCSbAQ9AHakDSSnYsO4bRDDAAloC6Al9Bbz/R+qgIgLFy8MmEYz1zHqI8qQB8NoCtoAgcAPWgFZzXOC8D38NwHuQzyApLgJ8oBZs/Sgw/ZbngJcpmp8T34/jfa8naaXiLsfwKYNQlMejXG+TRSgJjoj2wVWtJADbF8vDpjb0ROdfsSweLgn3PLQnoJSqWnL7ZhPhBwb6FYaI4fQ4kgy2gEFRocwAh65AIyDAhoE6yt9S0ACx2CwwsG4VfI6BIkgcOKzkwIDDyXninaWQV6s5uIuUSuJdEzpeSCLRaEXBDYGA+1PFwHALVAafvgBokhS4Ia0IJOWaxvtaUANkVHCCKDzj3ZsPZtNZxkM3UJhSQSe3s+ZTZJDwmMoKik0vks8PQB5FzRhHVCwXg1ZgX4COyi4z0UCweKTMS5wvAc5ES3+r3dZFtia+ZMl0JWQnVG7pKq7/F0xWRc4jy5GLNfpHwaxTbiTWNYMhKKXaIjJ0h+99E0zhfBFl4Vg2+SNpzcljtGBtHRSIu01q1ifLVCqpkf1mkXoGfgrW/tfdfVIgyQT4oA1U8D06As2wNGypgZCaCdtxtNA+kghxQrGnHLeAc6NFEIQHcZqex4JgNMEeiNpIxtlHzgwYqVJ0Y+VZwPg/SojoTBiKm9AcTz0Zdag61qAXUyFqvXyBi6H8IcErufzqfiPXNx2UoAJ9EkAZQVmk7L0h7QCWoAYdBM2jnAuokAqpYl4TT+4JItBkJsPGZcCco506bwGmA07K5hG6BO1wAZkjll0DABHvOBg44HNcJ+KEfx8J+BVzEmDgKbge/MWv4bwgttn/7vdkRCugtkbyGZYhwsdl'..b'f/+m9j/pp49+yWHO23n377j+9ON/AOmrZsw8/f9f05s2bN2/evHmb5dszj/z4KLYtBFbb/uUfv3fp736Q+3b45y9f/cAv1v/ro3yUj5rbRx18+kcHj9w7I/Lo5XunQ144+MyLB599qfHt8C9+cvXBX67/t+0CPspH+SgftcWPevftuX8+GuCn/SYOLDMzM7PFT2CZmZmZjRZYq0F/itDMzMxMYP1/Vw31e7DMzMzMBNb4Umm6lWVfn1jM+qjq9Ea9T6ra5nAfJi4zeLLPxCr4Oulj7e59mLjOpVqDf22kLcfL18Yivzba7qvdsqY+U1WQIAVflz1fT5bbLv3virIrGfXeOHknRD6k7aGk570UtMq+TnreyYP/R56+D4e9G9P34VBW4rgM/rXRZo3xtdF5ncMGced9OPbxGvtro+22jHEftl3/GF8bbf+hjX27xv7aSByjwR8Sg+7g1iBfG3MPrEE+PPe0TdaHTPAp9byG4sDK+qhpvmEXfzKDW7lfJ4NEz5TWGPQ0D8qRAzeqNcbXxgTfYGZyvHxt+Npou6+mtIb5Ri+wen6BFj9nt+p3CldgbTGwJj4zN8YpcYE1kjX2N7mN6x/1VbMCy9fGto5X21nGyay9C6yxX+HU/z+ArCcxT1p9njnNrcCC2xL5wPkE1pRP200QPX2+Tgpu13gPytP8f6IzOUUxzXfrkb422m7XSKGfeGpm8MeN9CsdR71doz5u1O/D8R43Jnsd23wCa7GvwZqyzAZ50nqyV4n1/waQ9d/SrgTWBN+qR3pR1Nbvw7FfS7Etayt1NcGX4mKO1xzOYE3wXPyoXxtbvA8neO3mqF+HncelV3vsRGBN88Ri8c/oTRxYPWtspNs1h8Ca7LG4/9fJXgWWrw3Ha86BNeorljbOJE1zkngBgdV4X01pDdMe8w+s/h8yKlr8swbFp3CnCazc/39ru0+lTfD/FE7wbbvzPtzFb6KdxbOYuhoPjdyHox6vpf4U4WryE43T366xfzpy4qf7J3sKfhBiC78Ha86/+an4lNJkv6mrz4vDij/D4iM73u+manzNwbBc5ArHvl1T3ocTWG2HbFRrgq+Nsb+Jbv0+XC30d1ONdFZpsseN1XJ/l1gieiZ7negAz2itzMzMzGzYYnMXmJmZmQksMzMzM4FlZmZmJrDMzMzMTGCZmZmZCSwzMzMzgWVmZmZmAsvMzMxMYJmZmZkJLDOz5Twgtv/bJsX/CNpI/6yHmQksM5tXQ/T/97zG/vftZxhYfT49gWUmsMxs+YE14Pf+haWDwDIzgWVmAwdW25mt+jvf/XP98p3XtvGB6c8wfuGNzyF9KxLvb1SCl09fj8YyE1hmto+BVW+UxmZq+0P82jrPBuVeuF456VsR+Tw7AyvrZgosM4FlZssPrMS5pURLRf62+P39Lxz/kJGIss/EzASWmS0ksCLvb3zyaycCK+spPIFlZgLLzLYTWImYmPkZrJ5VJLDMTGCZWd/AmuY1WGMHVueZtvgLpxqVgtdgqSszgWVmexpYq/yfIqz/VfCnCMcLrOCtiP/0X/p2Ba9HYJkJLDMza07PsnL1m9zNBJaZmZVHmDvBzASWmZnAMjOBZWZmZiawzMzMzPZz/wd726U68wooAgAAAABJRU5ErkJg" alt="Adapter graph" width="800" height="600"/></p></div><div class="module"><h2 id="M11"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFlUlEQVR42s2XCUzTVxzHybIs0IgCLYqyQ9RtmhjCNKKbikajYVc22NThNjYjeC0yWBESxAV1Ckw8QEUF5ChnS4FyFETucwWU+7ClHKKiImLI4nCz9bv3/pS7ra1HtM1Lm/b/fp/ve+93PQMABq9y6D/Bz+ANNvethWxPw3Xs3wx/YAb9Tn6j/700AeZc1qccrhGPw2UNkk8Fx9voIceX9Tcz6Hf62/B/PPrsCxNgzjW043iyGjheRkOWQRzFt2IH/Nl4DDFyHjJ6siDoSoZ/YwB2VuyEffpGzA5iK+izdA6d+8wCyHa+SYyEsj2N/jU/aaL0vbIf0sF2tA92oOVBG+ruN6CqrwZldypR0FuMnBuXkX49C5GyaGwq3ASLU2ZKOpfaoLb0EmDibmLC8TQq5/iw/vlIaA1xjxiyQTmaH7Sitr8ekr5qlN6pQP6tImTfyIXoeiYEnSmIlSfiooyHc20R8G84htUZq0FtUFvUpk4ChldO4H6sRzvKXdEw0ISmgRZc7a/DXwRccrscebcKIb5xCWndGeB3CsGTJyBCGoPQtnCcajlLjugk/qgPxO+1h7Eqyw7UFrWpbiemCKBbRlW7lrmgcaAZV/prUXm3CsW3y3D5VgGyenKQ2p2OpM5k8NoTEC6Nxtm2MJxsPoPAxhM4XB+AA1cPwbvmADyqvPFLpQdsM1aodoIVqlUAdRp6bgv5HzBbXHFXgqLbpci9mY/MnmykdIuQ2CFATHs8wqRRONN6ASeaTyOg8TgO1fnDl4C9anzhLvHCnkp3uJTvgXOJC7YUOWN+0nww/jTJMSevvsHs+DRlSOsZFPaW4NLNPOLpYgi70pBAwFHtcbhwLRKnW8/jeHMIOecgHKw7iv1XD2Jf9X78KtmHyNZoiOQi/FiyHZsJ+Ov87/DZZUesEq8H+4SxkjLUCmDinISPY74jcm4Oe3RyVyriO/iIksUS8EWEtJ5DUFMwjhIH86s7Ap8rfvCs9oGbxBO7KtwQ3hKBrgdd6H94D3ypgIAdsD7nc6wWb8DyzDWYy58HyhifJ8ZWT5NMoLGCJ48jsZ2COHkSCSkezl+LQHBLKI40BGJLsRPW5qzDskxbLE5bDBuRDWwzV5DV2SGwNhCdAx0Yed172AdeWyyWpa/ColQbzE1+H7MTLcEOmKagrAkCaAqlWWwZf6kqlMY8+gDZ3jXZazEz0Rym8TPUDg+yetl9Kca/HikeIUUmgEXizAnPml2YDsoaSduMAJrHaSrdWvw9AYcR8LBHu0m4eJtvqRGsDS4k8DlJFlPnxM0AZVHmmABSTGg+31GxW+XRAfi51AWztKxaI/zxELNytXDVoCzKHBNAKhotKrsr9zIe7Vq+G5wEs9EJi1I+hFDKx7zkuTrAk7XCGQGERZlTBLiSuN1Ltn2BcMEEeGF3PoaI8dzObFgJ3nsuuHoBqiNwLNgMu+x1ow9SByrsyoNC+ZiBPFb8h5LrhWrhqTKhTnD1R6BywuWZn0zYejq2FTuj/k7tKEz5RPlccLVOOBKG7DATtZO+yXNATW81npD3ZHhaux5wTWE4kohoktA0cWPOelT3SkZFDMNT9ICbwCJplvpEND4Vm8ZqNrJBJWJIT7h5Ioek5a+wRLRUcyoeX4y0GaMiaEjqCn9X8A62le0ADXGLYLbmYjS+HJtGTdf5TLUNa5E1Kc8+8K09iPkJVk8vx+MbEm1H8bTBTjDFF3lfMlmVNipLREt0a0gmt2TPIsKKZEv3Ki5TU2gZt8+1168lm9yU6noc1MO3FDkxYNojhpH+YW2Gnf5Nqbq2nHHMWPVbbZNuA6firQghpZt2TRHSSGwn/eScYPNnb8s1XUxoDFtGWpD6sAgrxSvhSi4juypJ31f6ExwLSNsl/BicAOMXczF5ba5mr83l9GWN/wE1f784zfWjGwAAAABJRU5ErkJg" alt="[OK]"/>Kmer Content</h2><p>No overrepresented Kmers</p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a>  (version 0.11.5)</div></body></html>\n\\ No newline at end of file\n'
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_report2.html
--- a/test-data/fastqc_report2.html Mon Oct 23 13:26:32 2017 -0400
+++ b/test-data/fastqc_report2.html Fri Nov 24 08:18:41 2017 -0500
[
b'@@ -1,187 +1,187 @@\n-<html><head><title>1000gsample.fastq FastQC Report</title><style type="text/css">\n- @media screen {\n-  div.summary {\n-    width: 18em;\n-    position:fixed;\n-    top: 3em;\n-    margin:1em 0 0 1em;\n-  }\n-  \n-  div.main {\n-    display:block;\n-    position:absolute;\n-    overflow:auto;\n-    height:auto;\n-    width:auto;\n-    top:4.5em;\n-    bottom:2.3em;\n-    left:18em;\n-    right:0;\n-    border-left: 1px solid #CCC;\n-    padding:0 0 0 1em;\n-    background-color: white;\n-    z-index:1;\n-  }\n-  \n-  div.header {\n-    background-color: #EEE;\n-    border:0;\n-    margin:0;\n-    padding: 0.5em;\n-    font-size: 200%;\n-    font-weight: bold;\n-    position:fixed;\n-    width:100%;\n-    top:0;\n-    left:0;\n-    z-index:2;\n-  }\n-\n-  div.footer {\n-    background-color: #EEE;\n-    border:0;\n-    margin:0;\n-\tpadding:0.5em;\n-    height: 1.3em;\n-\toverflow:hidden;\n-    font-size: 100%;\n-    font-weight: bold;\n-    position:fixed;\n-    bottom:0;\n-    width:100%;\n-    z-index:2;\n-  }\n-  \n-  img.indented {\n-    margin-left: 3em;\n-  }\n- }\n- \n- @media print {\n-\timg {\n-\t\tmax-width:100% !important;\n-\t\tpage-break-inside: avoid;\n-\t}\n-\th2, h3 {\n-\t\tpage-break-after: avoid;\n-\t}\n-\tdiv.header {\n-      background-color: #FFF;\n-    }\n-\t\n- }\n- \n- body {    \n-  font-family: sans-serif;   \n-  color: #000;   \n-  background-color: #FFF;\n-  border: 0;\n-  margin: 0;\n-  padding: 0;\n-  }\n-  \n-  div.header {\n-  border:0;\n-  margin:0;\n-  padding: 0.5em;\n-  font-size: 200%;\n-  font-weight: bold;\n-  width:100%;\n-  }    \n-  \n-  #header_title {\n-  display:inline-block;\n-  float:left;\n-  clear:left;\n-  }\n-  #header_filename {\n-  display:inline-block;\n-  float:right;\n-  clear:right;\n-  font-size: 50%;\n-  margin-right:2em;\n-  text-align: right;\n-  }\n-\n-  div.header h3 {\n-  font-size: 50%;\n-  margin-bottom: 0;\n-  }\n-  \n-  div.summary ul {\n-  padding-left:0;\n-  list-style-type:none;\n-  }\n-  \n-  div.summary ul li img {\n-  margin-bottom:-0.5em;\n-  margin-top:0.5em;\n-  }\n-\t  \n-  div.main {\n-  background-color: white;\n-  }\n-      \n-  div.module {\n-  padding-bottom:1.5em;\n-  padding-top:1.5em;\n-  }\n-\t  \n-  div.footer {\n-  background-color: #EEE;\n-  border:0;\n-  margin:0;\n-  padding: 0.5em;\n-  font-size: 100%;\n-  font-weight: bold;\n-  width:100%;\n-  }\n-\n-\n-  a {\n-  color: #000080;\n-  }\n-\n-  a:hover {\n-  color: #800000;\n-  }\n-      \n-  h2 {\n-  color: #800000;\n-  padding-bottom: 0;\n-  margin-bottom: 0;\n-  clear:left;\n-  }\n-\n-  table { \n-  margin-left: 3em;\n-  text-align: center;\n-  }\n-  \n-  th { \n-  text-align: center;\n-  background-color: #000080;\n-  color: #FFF;\n-  padding: 0.4em;\n-  }      \n-  \n-  td { \n-  font-family: monospace; \n-  text-align: left;\n-  background-color: #EEE;\n-  color: #000;\n-  padding: 0.4em;\n-  }\n-\n-  img {\n-  padding-top: 0;\n-  margin-top: 0;\n-  border-top: 0;\n-  }\n-\n-  \n-  p {\n-  padding-top: 0;\n-  margin-top: 0;\n-  }\n-</style></head><body><div class="header"><div id="header_title"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADfUlEQVR42rWXT0hUURTGj5ZpaZqDmYNaCZkuMjXFiiTThZEyoiRlZGmCBYlWMBU5kW+cmRwhKEQXEkRFEBkGQUbpQmnjwk0S4TKiFuWmFqlhf17fbe7Qm8e9z/dmpoEfDr57z/nueeeec4ZUVaVw6CNKdRM1KEQ3wWMwCSbAQ9AHakDSSnYsO4bRDDAAloC6Al9Bbz/R+qgIgLFy8MmEYz1zHqI8qQB8NoCtoAgcAPWgFZzXOC8D38NwHuQzyApLgJ8oBZs/Sgw/ZbngJcpmp8T34/jfa8naaXiLsfwKYNQlMejXG+TRSgJjoj2wVWtJADbF8vDpjb0ROdfsSweLgn3PLQnoJSqWnL7ZhPhBwb6FYaI4fQ4kgy2gEFRocwAh65AIyDAhoE6yt9S0ACx2CwwsG4VfI6BIkgcOKzkwIDDyXninaWQV6s5uIuUSuJdEzpeSCLRaEXBDYGA+1PFwHALVAafvgBokhS4Ia0IJOWaxvtaUANkVHCCKDzj3ZsPZtNZxkM3UJhSQSe3s+ZTZJDwmMoKik0vks8PQB5FzRhHVCwXg1ZgX4COyi4z0UCweKTMS5wvAc5ES3+r3dZFtia+ZMl0JWQnVG7pKq7/F0xWRc4jy5GLNfpHwaxTbiTWNYMhKKXaIjJ0h+99E0zhfBFl4Vg2+SNpzcljtGBtHRSIu01q1ifLVCqpkf1mkXoGfgrW/tfdfVIgyQT4oA1U8D06As2wNGypgZCaCdtxtNA+kghxQrGnHLeAc6NFEIQHcZqex4JgNMEeiNpIxtlHzgwYqVJ0Y+VZwPg/SojoTBiKm9AcTz0Zdag61qAXUyFqvXyBi6H8IcErufzqfiPXNx2UoAJ9EkAZQVmk7L0h7QCWoAYdBM2jnAuokAqpYl4TT+4JItBkJsPGZcCco506bwGmA07K5hG6BO1wAZkjll0DABHvOBg44HNcJ+KEfx8J+BVzEmDgKbge/MWv4bwgttn/7vdkRCugtkbyGZYhwsdl'..b'f/+m9j/pp49+yWHO23n377j+9ON/AOmrZsw8/f9f05s2bN2/evHmb5dszj/z4KLYtBFbb/uUfv3fp736Q+3b45y9f/cAv1v/ro3yUj5rbRx18+kcHj9w7I/Lo5XunQ144+MyLB599qfHt8C9+cvXBX67/t+0CPspH+SgftcWPevftuX8+GuCn/SYOLDMzM7PFT2CZmZmZjRZYq0F/itDMzMxMYP1/Vw31e7DMzMzMBNb4Umm6lWVfn1jM+qjq9Ea9T6ra5nAfJi4zeLLPxCr4Oulj7e59mLjOpVqDf22kLcfL18Yivzba7qvdsqY+U1WQIAVflz1fT5bbLv3virIrGfXeOHknRD6k7aGk570UtMq+TnreyYP/R56+D4e9G9P34VBW4rgM/rXRZo3xtdF5ncMGced9OPbxGvtro+22jHEftl3/GF8bbf+hjX27xv7aSByjwR8Sg+7g1iBfG3MPrEE+PPe0TdaHTPAp9byG4sDK+qhpvmEXfzKDW7lfJ4NEz5TWGPQ0D8qRAzeqNcbXxgTfYGZyvHxt+Npou6+mtIb5Ri+wen6BFj9nt+p3CldgbTGwJj4zN8YpcYE1kjX2N7mN6x/1VbMCy9fGto5X21nGyay9C6yxX+HU/z+ArCcxT1p9njnNrcCC2xL5wPkE1pRP200QPX2+Tgpu13gPytP8f6IzOUUxzXfrkb422m7XSKGfeGpm8MeN9CsdR71doz5u1O/D8R43Jnsd23wCa7GvwZqyzAZ50nqyV4n1/waQ9d/SrgTWBN+qR3pR1Nbvw7FfS7Etayt1NcGX4mKO1xzOYE3wXPyoXxtbvA8neO3mqF+HncelV3vsRGBN88Ri8c/oTRxYPWtspNs1h8Ca7LG4/9fJXgWWrw3Ha86BNeorljbOJE1zkngBgdV4X01pDdMe8w+s/h8yKlr8swbFp3CnCazc/39ru0+lTfD/FE7wbbvzPtzFb6KdxbOYuhoPjdyHox6vpf4U4WryE43T366xfzpy4qf7J3sKfhBiC78Ha86/+an4lNJkv6mrz4vDij/D4iM73u+manzNwbBc5ArHvl1T3ocTWG2HbFRrgq+Nsb+Jbv0+XC30d1ONdFZpsseN1XJ/l1gieiZ7negAz2itzMzMzGzYYnMXmJmZmQksMzMzM4FlZmZmJrDMzMzMTGCZmZmZCSwzMzMzgWVmZmZmAsvMzMxMYJmZmZkJLDOz5Twgtv/bJsX/CNpI/6yHmQksM5tXQ/T/97zG/vftZxhYfT49gWUmsMxs+YE14Pf+haWDwDIzgWVmAwdW25mt+jvf/XP98p3XtvGB6c8wfuGNzyF9KxLvb1SCl09fj8YyE1hmto+BVW+UxmZq+0P82jrPBuVeuF456VsR+Tw7AyvrZgosM4FlZssPrMS5pURLRf62+P39Lxz/kJGIss/EzASWmS0ksCLvb3zyaycCK+spPIFlZgLLzLYTWImYmPkZrJ5VJLDMTGCZWd/AmuY1WGMHVueZtvgLpxqVgtdgqSszgWVmexpYq/yfIqz/VfCnCMcLrOCtiP/0X/p2Ba9HYJkJLDMza07PsnL1m9zNBJaZmZVHmDvBzASWmZnAMjOBZWZmZiawzMzMzPZz/wd726U68wooAgAAAABJRU5ErkJg" alt="Adapter graph" width="800" height="600"/></p></div><div class="module"><h2 id="M11"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFlUlEQVR42s2XCUzTVxzHybIs0IgCLYqyQ9RtmhjCNKKbikajYVc22NThNjYjeC0yWBESxAV1Ckw8QEUF5ChnS4FyFETucwWU+7ClHKKiImLI4nCz9bv3/pS7ra1HtM1Lm/b/fp/ve+93PQMABq9y6D/Bz+ANNvethWxPw3Xs3wx/YAb9Tn6j/700AeZc1qccrhGPw2UNkk8Fx9voIceX9Tcz6Hf62/B/PPrsCxNgzjW043iyGjheRkOWQRzFt2IH/Nl4DDFyHjJ6siDoSoZ/YwB2VuyEffpGzA5iK+izdA6d+8wCyHa+SYyEsj2N/jU/aaL0vbIf0sF2tA92oOVBG+ruN6CqrwZldypR0FuMnBuXkX49C5GyaGwq3ASLU2ZKOpfaoLb0EmDibmLC8TQq5/iw/vlIaA1xjxiyQTmaH7Sitr8ekr5qlN6pQP6tImTfyIXoeiYEnSmIlSfiooyHc20R8G84htUZq0FtUFvUpk4ChldO4H6sRzvKXdEw0ISmgRZc7a/DXwRccrscebcKIb5xCWndGeB3CsGTJyBCGoPQtnCcajlLjugk/qgPxO+1h7Eqyw7UFrWpbiemCKBbRlW7lrmgcaAZV/prUXm3CsW3y3D5VgGyenKQ2p2OpM5k8NoTEC6Nxtm2MJxsPoPAxhM4XB+AA1cPwbvmADyqvPFLpQdsM1aodoIVqlUAdRp6bgv5HzBbXHFXgqLbpci9mY/MnmykdIuQ2CFATHs8wqRRONN6ASeaTyOg8TgO1fnDl4C9anzhLvHCnkp3uJTvgXOJC7YUOWN+0nww/jTJMSevvsHs+DRlSOsZFPaW4NLNPOLpYgi70pBAwFHtcbhwLRKnW8/jeHMIOecgHKw7iv1XD2Jf9X78KtmHyNZoiOQi/FiyHZsJ+Ov87/DZZUesEq8H+4SxkjLUCmDinISPY74jcm4Oe3RyVyriO/iIksUS8EWEtJ5DUFMwjhIH86s7Ap8rfvCs9oGbxBO7KtwQ3hKBrgdd6H94D3ypgIAdsD7nc6wWb8DyzDWYy58HyhifJ8ZWT5NMoLGCJ48jsZ2COHkSCSkezl+LQHBLKI40BGJLsRPW5qzDskxbLE5bDBuRDWwzV5DV2SGwNhCdAx0Yed172AdeWyyWpa/ColQbzE1+H7MTLcEOmKagrAkCaAqlWWwZf6kqlMY8+gDZ3jXZazEz0Rym8TPUDg+yetl9Kca/HikeIUUmgEXizAnPml2YDsoaSduMAJrHaSrdWvw9AYcR8LBHu0m4eJtvqRGsDS4k8DlJFlPnxM0AZVHmmABSTGg+31GxW+XRAfi51AWztKxaI/zxELNytXDVoCzKHBNAKhotKrsr9zIe7Vq+G5wEs9EJi1I+hFDKx7zkuTrAk7XCGQGERZlTBLiSuN1Ltn2BcMEEeGF3PoaI8dzObFgJ3nsuuHoBqiNwLNgMu+x1ow9SByrsyoNC+ZiBPFb8h5LrhWrhqTKhTnD1R6BywuWZn0zYejq2FTuj/k7tKEz5RPlccLVOOBKG7DATtZO+yXNATW81npD3ZHhaux5wTWE4kohoktA0cWPOelT3SkZFDMNT9ICbwCJplvpEND4Vm8ZqNrJBJWJIT7h5Ioek5a+wRLRUcyoeX4y0GaMiaEjqCn9X8A62le0ADXGLYLbmYjS+HJtGTdf5TLUNa5E1Kc8+8K09iPkJVk8vx+MbEm1H8bTBTjDFF3lfMlmVNipLREt0a0gmt2TPIsKKZEv3Ki5TU2gZt8+1168lm9yU6noc1MO3FDkxYNojhpH+YW2Gnf5Nqbq2nHHMWPVbbZNuA6firQghpZt2TRHSSGwn/eScYPNnb8s1XUxoDFtGWpD6sAgrxSvhSi4juypJ31f6ExwLSNsl/BicAOMXczF5ba5mr83l9GWN/wE1f784zfWjGwAAAABJRU5ErkJg" alt="[OK]"/>Kmer Content</h2><p>No overrepresented Kmers</p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a>  (version 0.11.5)</div></body></html>\n\\ No newline at end of file\n'
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/fastqc_report_hisat.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_hisat.html Fri Nov 24 08:18:41 2017 -0500
[
b'@@ -0,0 +1,187 @@\n+<html><head><title>hisat_output_1_bam FastQC Report</title><style type="text/css">\r\n+ @media screen {\r\n+  div.summary {\r\n+    width: 18em;\r\n+    position:fixed;\r\n+    top: 3em;\r\n+    margin:1em 0 0 1em;\r\n+  }\r\n+  \r\n+  div.main {\r\n+    display:block;\r\n+    position:absolute;\r\n+    overflow:auto;\r\n+    height:auto;\r\n+    width:auto;\r\n+    top:4.5em;\r\n+    bottom:2.3em;\r\n+    left:18em;\r\n+    right:0;\r\n+    border-left: 1px solid #CCC;\r\n+    padding:0 0 0 1em;\r\n+    background-color: white;\r\n+    z-index:1;\r\n+  }\r\n+  \r\n+  div.header {\r\n+    background-color: #EEE;\r\n+    border:0;\r\n+    margin:0;\r\n+    padding: 0.5em;\r\n+    font-size: 200%;\r\n+    font-weight: bold;\r\n+    position:fixed;\r\n+    width:100%;\r\n+    top:0;\r\n+    left:0;\r\n+    z-index:2;\r\n+  }\r\n+\r\n+  div.footer {\r\n+    background-color: #EEE;\r\n+    border:0;\r\n+    margin:0;\r\n+\tpadding:0.5em;\r\n+    height: 1.3em;\r\n+\toverflow:hidden;\r\n+    font-size: 100%;\r\n+    font-weight: bold;\r\n+    position:fixed;\r\n+    bottom:0;\r\n+    width:100%;\r\n+    z-index:2;\r\n+  }\r\n+  \r\n+  img.indented {\r\n+    margin-left: 3em;\r\n+  }\r\n+ }\r\n+ \r\n+ @media print {\r\n+\timg {\r\n+\t\tmax-width:100% !important;\r\n+\t\tpage-break-inside: avoid;\r\n+\t}\r\n+\th2, h3 {\r\n+\t\tpage-break-after: avoid;\r\n+\t}\r\n+\tdiv.header {\r\n+      background-color: #FFF;\r\n+    }\r\n+\t\r\n+ }\r\n+ \r\n+ body {    \r\n+  font-family: sans-serif;   \r\n+  color: #000;   \r\n+  background-color: #FFF;\r\n+  border: 0;\r\n+  margin: 0;\r\n+  padding: 0;\r\n+  }\r\n+  \r\n+  div.header {\r\n+  border:0;\r\n+  margin:0;\r\n+  padding: 0.5em;\r\n+  font-size: 200%;\r\n+  font-weight: bold;\r\n+  width:100%;\r\n+  }    \r\n+  \r\n+  #header_title {\r\n+  display:inline-block;\r\n+  float:left;\r\n+  clear:left;\r\n+  }\r\n+  #header_filename {\r\n+  display:inline-block;\r\n+  float:right;\r\n+  clear:right;\r\n+  font-size: 50%;\r\n+  margin-right:2em;\r\n+  text-align: right;\r\n+  }\r\n+\r\n+  div.header h3 {\r\n+  font-size: 50%;\r\n+  margin-bottom: 0;\r\n+  }\r\n+  \r\n+  div.summary ul {\r\n+  padding-left:0;\r\n+  list-style-type:none;\r\n+  }\r\n+  \r\n+  div.summary ul li img {\r\n+  margin-bottom:-0.5em;\r\n+  margin-top:0.5em;\r\n+  }\r\n+\t  \r\n+  div.main {\r\n+  background-color: white;\r\n+  }\r\n+      \r\n+  div.module {\r\n+  padding-bottom:1.5em;\r\n+  padding-top:1.5em;\r\n+  }\r\n+\t  \r\n+  div.footer {\r\n+  background-color: #EEE;\r\n+  border:0;\r\n+  margin:0;\r\n+  padding: 0.5em;\r\n+  font-size: 100%;\r\n+  font-weight: bold;\r\n+  width:100%;\r\n+  }\r\n+\r\n+\r\n+  a {\r\n+  color: #000080;\r\n+  }\r\n+\r\n+  a:hover {\r\n+  color: #800000;\r\n+  }\r\n+      \r\n+  h2 {\r\n+  color: #800000;\r\n+  padding-bottom: 0;\r\n+  margin-bottom: 0;\r\n+  clear:left;\r\n+  }\r\n+\r\n+  table { \r\n+  margin-left: 3em;\r\n+  text-align: center;\r\n+  }\r\n+  \r\n+  th { \r\n+  text-align: center;\r\n+  background-color: #000080;\r\n+  color: #FFF;\r\n+  padding: 0.4em;\r\n+  }      \r\n+  \r\n+  td { \r\n+  font-family: monospace; \r\n+  text-align: left;\r\n+  background-color: #EEE;\r\n+  color: #000;\r\n+  padding: 0.4em;\r\n+  }\r\n+\r\n+  img {\r\n+  padding-top: 0;\r\n+  margin-top: 0;\r\n+  border-top: 0;\r\n+  }\r\n+\r\n+  \r\n+  p {\r\n+  padding-top: 0;\r\n+  margin-top: 0;\r\n+  }\r\n+</style></head><body><div class="header"><div id="header_title"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADfUlEQVR42rWXT0hUURTGj5ZpaZqDmYNaCZkuMjXFiiTThZEyoiRlZGmCBYlWMBU5kW+cmRwhKEQXEkRFEBkGQUbpQmnjwk0S4TKiFuWmFqlhf17fbe7Qm8e9z/dmpoEfDr57z/nueeeec4ZUVaVw6CNKdRM1KEQ3wWMwCSbAQ9AHakDSSnYsO4bRDDAAloC6Al9Bbz/R+qgIgLFy8MmEYz1zHqI8qQB8NoCtoAgcAPWgFZzXOC8D38NwHuQzyApLgJ8oBZs/Sgw/ZbngJcpmp8T34/jfa8naaXiLsfwKYNQlMejXG+TRSgJjoj2wVWtJADbF8vDpjb0ROdfsSweLgn3PLQnoJSqWnL7ZhPhBwb6FYaI4fQ4kgy2gEFRocwAh65AIyDAhoE6yt9S0ACx2CwwsG4VfI6BIkgcOKzkwIDDyXninaWQV6s5uIuUSuJdEzpeSCLRaEXBDYGA+1PFwHALVAafvgBokhS4Ia0IJOWaxvtaUANkVHCCKDzj3ZsPZtNZxkM3UJhSQSe3s+ZTZJDwmMoKik0vks8PQB5FzRhHVCwXg1ZgX4COyi4z0UCweKTMS5wvAc5ES3+r3dZFtia+ZMl0JWQnVG7pKq7/F0xWRc4jy5GLNfpHwaxTbiTWNYMhKKXaIjJ0h+99E0zhfBFl4Vg2+SNpzcljtGBtHRSIu01q1ifLVCqpkf1mkXoGfgrW/tfdfVIgyQT4oA1U8D06As2wNGypgZCaCdtxtNA+kghxQrGnHLeAc6NFEIQHcZqex4JgNMEeiNpIxtlHzgwYqVJ0Y+VZwPg/SojoTBiKm9AcTz0'..b'77bff/fr7D//rki7pki7pki7pki7pkplfH/pqPmTHJaOZmZmZvegko5mZmZmFk3Hu+oppMzMzM7tsMvb6uYxmZmZmds1kHPUxajI0nq21gVu85PTputyuabWn3Paq679Hzrxv83UuXs9xZhU74ran3nfn0U9dn3HXc5zZfOgPu+2O0RmO0eZ3gS6nSI68nuPMPXf4fe/nOx6jzA0cdz3HmWc4l3fcNQhGWLDwGp55GSm2tpsTf8cut+jxhoz7oes7Y3T/8ao1R/yd7HU9m49X/iui+W40ct32fDl0+fsZvDfodT27HKO505PCU0ivYzR3ehpS8Pr0up77r3PqPxQ7JmOvvwBt32KavwP2up69vo56Xb1e/XDwd8zuH+Kaydj8LsHv/b3+Uvb969uQjH3v747/AniJZOx1lDserxGvURv6F6DjfVzq9G0X0zG6wzFKfRfY/2nsm2Jrs9d9Xd+/SMXr2SXFxn3Pfa1kPMnTBW+RjME7x6pHkOf6E+aSsXsy7n9URTKOzpFej6pIRsdoD5v5LrDnnGXt3XWbuf/JA93/IqWu554Uy9zG7g9Md7+eIx6Yloz9uzv4zL+GBo0/NNzrPxGqnvJY9dFPkoxD867vf5Ps/y7S/Xgdc561y3NkOx6jA1qkyzHq+62uaI54tnH32z7vfgS54zE6OBmH5l3H277/v437fh2l3rfLfV3q6YwdzRG3fT7TD7E5aTJ27Mvm0/vdn0nZ8eTE49/1255lHGp2j5udx2t0M3X/RnKA2f3ptl2+pl7uLOPoz2rH2958jPLfBbo8J7j7N77DzJ33nJkO83V0nq+jKydj9+/9bWeMOyZjQ1OOfmKlZLzAbXeMznPbfas7823Pfxfo8qDnAdfz2rfd19HQ237ZZGy7WBc8/nrtOfE6vmOSccTTog/+j6TuL3/p+8D0uNt+8lOhe/CiuecBtSNv+51fMd3wg6WecttPfiq0+1/U/fd1x9/2O/90iD1fRyMelH+xZGz7wYQdf4ph1dmF7j8ZsfYJlFUffcRxGfQ03hcyu/897/JD79bPE+py21OH/uRml2M04se/dfk6mg/8uYzjzC53TSPu93odo0wmvorZ/WSQr6PzfB299llGMzMzM3vRSUYzMzMzk4xmZmZmJhnNzMzMTDKamZmZmWQ0MzMzM8loZmZmZpLRzMzMzCSjmZmZmUlGMzMzMzPJaGZ2jnve9L9vnvqXcCPm2f55MTOTjGZmoYLZ+Q/jpvppxD+Pe5Jk3HP1JKOZSUYze71k7FgzF4shyWhmktHMrJCMqbOP6zf+9Pv15Yva4h3z1zB+4cV1yN+KzNs3P0rw8nlHNZqZZDSzKyTjuro2KzD1m7hWPGNXe+F1t+VvReR6FpOx6mZKRjOTjGb2esmYOf+XqcPInza/ff+F4+8y6EO0XRMzM8loZidNxsjbNx9yfYlkrHrgWDKamWQ0M+uTjJk8OvlZxp2dJxnNTDKamWRcvv2Y5zKOTsbi2dD4ExA3P0rDcxn1oplJRjO7SDLO9a+YXv9R8BXT45IxeCvir3TO366gIxnNTDKamd2is4vZFzl9a2YmGc3M7p6VPglmJhnNzEwymplkNDMzMzPJaGZmZmYX2/8A68d/BwO41dUAAAAASUVORK5C" alt="Adapter graph" width="870" height="600"/></p></div><div class="module"><h2 id="M11"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFlUlEQVR42s2XCUzTVxzHybIs0IgCLYqyQ9RtmhjCNKKbikajYVc22NThNjYjeC0yWBESxAV1Ckw8QEUF5ChnS4FyFETucwWU+7ClHKKiImLI4nCz9bv3/pS7ra1HtM1Lm/b/fp/ve+93PQMABq9y6D/Bz+ANNvethWxPw3Xs3wx/YAb9Tn6j/700AeZc1qccrhGPw2UNkk8Fx9voIceX9Tcz6Hf62/B/PPrsCxNgzjW043iyGjheRkOWQRzFt2IH/Nl4DDFyHjJ6siDoSoZ/YwB2VuyEffpGzA5iK+izdA6d+8wCyHa+SYyEsj2N/jU/aaL0vbIf0sF2tA92oOVBG+ruN6CqrwZldypR0FuMnBuXkX49C5GyaGwq3ASLU2ZKOpfaoLb0EmDibmLC8TQq5/iw/vlIaA1xjxiyQTmaH7Sitr8ekr5qlN6pQP6tImTfyIXoeiYEnSmIlSfiooyHc20R8G84htUZq0FtUFvUpk4ChldO4H6sRzvKXdEw0ISmgRZc7a/DXwRccrscebcKIb5xCWndGeB3CsGTJyBCGoPQtnCcajlLjugk/qgPxO+1h7Eqyw7UFrWpbiemCKBbRlW7lrmgcaAZV/prUXm3CsW3y3D5VgGyenKQ2p2OpM5k8NoTEC6Nxtm2MJxsPoPAxhM4XB+AA1cPwbvmADyqvPFLpQdsM1aodoIVqlUAdRp6bgv5HzBbXHFXgqLbpci9mY/MnmykdIuQ2CFATHs8wqRRONN6ASeaTyOg8TgO1fnDl4C9anzhLvHCnkp3uJTvgXOJC7YUOWN+0nww/jTJMSevvsHs+DRlSOsZFPaW4NLNPOLpYgi70pBAwFHtcbhwLRKnW8/jeHMIOecgHKw7iv1XD2Jf9X78KtmHyNZoiOQi/FiyHZsJ+Ov87/DZZUesEq8H+4SxkjLUCmDinISPY74jcm4Oe3RyVyriO/iIksUS8EWEtJ5DUFMwjhIH86s7Ap8rfvCs9oGbxBO7KtwQ3hKBrgdd6H94D3ypgIAdsD7nc6wWb8DyzDWYy58HyhifJ8ZWT5NMoLGCJ48jsZ2COHkSCSkezl+LQHBLKI40BGJLsRPW5qzDskxbLE5bDBuRDWwzV5DV2SGwNhCdAx0Yed172AdeWyyWpa/ColQbzE1+H7MTLcEOmKagrAkCaAqlWWwZf6kqlMY8+gDZ3jXZazEz0Rym8TPUDg+yetl9Kca/HikeIUUmgEXizAnPml2YDsoaSduMAJrHaSrdWvw9AYcR8LBHu0m4eJtvqRGsDS4k8DlJFlPnxM0AZVHmmABSTGg+31GxW+XRAfi51AWztKxaI/zxELNytXDVoCzKHBNAKhotKrsr9zIe7Vq+G5wEs9EJi1I+hFDKx7zkuTrAk7XCGQGERZlTBLiSuN1Ltn2BcMEEeGF3PoaI8dzObFgJ3nsuuHoBqiNwLNgMu+x1ow9SByrsyoNC+ZiBPFb8h5LrhWrhqTKhTnD1R6BywuWZn0zYejq2FTuj/k7tKEz5RPlccLVOOBKG7DATtZO+yXNATW81npD3ZHhaux5wTWE4kohoktA0cWPOelT3SkZFDMNT9ICbwCJplvpEND4Vm8ZqNrJBJWJIT7h5Ioek5a+wRLRUcyoeX4y0GaMiaEjqCn9X8A62le0ADXGLYLbmYjS+HJtGTdf5TLUNa5E1Kc8+8K09iPkJVk8vx+MbEm1H8bTBTjDFF3lfMlmVNipLREt0a0gmt2TPIsKKZEv3Ki5TU2gZt8+1168lm9yU6noc1MO3FDkxYNojhpH+YW2Gnf5Nqbq2nHHMWPVbbZNuA6firQghpZt2TRHSSGwn/eScYPNnb8s1XUxoDFtGWpD6sAgrxSvhSi4juypJ31f6ExwLSNsl/BicAOMXczF5ba5mr83l9GWN/wE1f784zfWjGwAAAABJRU5ErkJg" alt="[OK]"/>Kmer Content</h2><p>No overrepresented Kmers</p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a>  (version 0.11.5)</div></body></html>\n\\ No newline at end of file\n'
b
diff -r f2e8552cf1d0 -r 2b0c9d9fc6ca test-data/hisat_output_1.bam
b
Binary file test-data/hisat_output_1.bam has changed