Repository 'multiqc'
hg clone https://toolshed.g2.bx.psu.edu/repos/engineson/multiqc

Changeset 8:c503e1c1fbad (2017-05-25)
Previous changeset 7:4612d775965f (2017-05-25) Next changeset 9:919983d780e0 (2017-07-07)
Commit message:
Uploaded
added:
multiqc.xml
readme.rst
test-data/CollectInsertSizeMetrics.txt
test-data/MarkDuplicates_data.txt
test-data/bismark_data.txt
test-data/bowtie2SE1.txt
test-data/bowtie2SE2.txt
test-data/collectGcBias_data.txt
test-data/cutadapt.txt
test-data/fastqc_data.txt
test-data/fastqc_data_2.txt
test-data/featurecounts_data.txt
test-data/htseq_data.txt
test-data/log_fastqc.txt
test-data/picard_CollectAlignmentSummaryMetrics.txt
test-data/picard_CollectBaseDistributionByCycle.txt
test-data/picard_CollectRnaSeqMetrics.txt
test-data/report_all.html
test-data/report_bismark.html
test-data/report_bowtie2SE.html
test-data/report_cutadapt.html
test-data/report_fastqc.html
test-data/report_fastqc_2.html
test-data/report_featurecounts.html
test-data/report_htseq.html
test-data/report_picard.html
test-data/report_rnastar_counts.html
test-data/report_rnastar_log.html
test-data/report_samtools.html
test-data/report_samtools_idxstats.html
test-data/report_tophat.html
test-data/rnastar_counts.txt
test-data/rnastar_log.txt
test-data/samtools_flagstat.txt
test-data/samtools_idxstats.txt
test-data/samtools_stats.txt
test-data/tophat_data.txt
removed:
multiqc/.shed.yml
multiqc/multiqc.xml
multiqc/readme.rst
multiqc/test-data/CollectInsertSizeMetrics.txt
multiqc/test-data/MarkDuplicates_data.txt
multiqc/test-data/bismark_data.txt
multiqc/test-data/bowtie2SE1.txt
multiqc/test-data/bowtie2SE2.txt
multiqc/test-data/collectGcBias_data.txt
multiqc/test-data/cutadapt.txt
multiqc/test-data/fastqc_data.txt
multiqc/test-data/fastqc_data_2.txt
multiqc/test-data/featurecounts_data.txt
multiqc/test-data/htseq_data.txt
multiqc/test-data/log_fastqc.txt
multiqc/test-data/picard_CollectAlignmentSummaryMetrics.txt
multiqc/test-data/picard_CollectBaseDistributionByCycle.txt
multiqc/test-data/picard_CollectRnaSeqMetrics.txt
multiqc/test-data/report_all.html
multiqc/test-data/report_bismark.html
multiqc/test-data/report_bowtie2SE.html
multiqc/test-data/report_cutadapt.html
multiqc/test-data/report_fastqc.html
multiqc/test-data/report_fastqc_2.html
multiqc/test-data/report_featurecounts.html
multiqc/test-data/report_htseq.html
multiqc/test-data/report_picard.html
multiqc/test-data/report_rnastar_counts.html
multiqc/test-data/report_rnastar_log.html
multiqc/test-data/report_samtools.html
multiqc/test-data/report_samtools_idxstats.html
multiqc/test-data/report_tophat.html
multiqc/test-data/rnastar_counts.txt
multiqc/test-data/rnastar_log.txt
multiqc/test-data/samtools_flagstat.txt
multiqc/test-data/samtools_idxstats.txt
multiqc/test-data/samtools_stats.txt
multiqc/test-data/tophat_data.txt
b
diff -r 4612d775965f -r c503e1c1fbad multiqc.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multiqc.xml Thu May 25 17:51:17 2017 -0400
b
b'@@ -0,0 +1,271 @@\n+<tool id="multiqc" name="multiqc" version="1.0.0.0">\n+    <description>aggregate results from bioinformatics analyses into a single report</description>\n+    <requirements>\n+       <requirement type="package" version="1.0.0">multiqc</requirement>\n+    </requirements>\n+    <stdio>\n+        <exit_code range="1:" />\n+    </stdio>\n+    <command>\n+        mkdir multiqc_WDir;\n+        \n+        #for $i, $repeat in enumerate( $results )\n+            mkdir multiqc_WDir/${repeat.software}_${i};\n+\n+            #if str($repeat.software) == "fastqc":\n+                ## Searches for files named "fastqc_data.txt"\n+                #for $k, $file in enumerate($repeat.input_file):\n+                    mkdir multiqc_WDir/${repeat.software}_${i}/file_${k};\n+                    ln -s \'${file}\' multiqc_WDir/fastqc_${i}/file_${k}/fastqc_data.txt;\n+                #end for           \n+            #else if str($repeat.software) == "tophat":\n+                ## Searches for files ending in "align_summary.txt"\n+                #for $file in $repeat.input_file:\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}align_summary.txt\';\n+                #end for\n+            #else if str($repeat.software) == "bowtie2":\n+                ## Searches for files containing \'reads; of these;\'\n+                #for $file in $repeat.input_file:\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';\n+                #end for\n+            #else if str($repeat.software) == "cutadapt":\n+                ## Searches for files containing \'This is cutadapt\'\n+                #for $file in $repeat.input_file:\n+                    cat \'${file}\' > \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';\n+                    ## replace header for old cutadapt release\n+                    sed -i .old \'s/You are running/This is/\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';               \n+                #end for\n+            #else if str($repeat.software) == "featurecounts":\n+                ## Checks for files ending in \'.summary\'\n+                #for $k, $file in enumerate($repeat.input_file):\n+                    mkdir multiqc_WDir/${repeat.software}_${i}/file_${k};\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/file_${k}/${file.display_name}.summary\';\n+                #end for\n+            #else if str($repeat.software) == "bismark":\n+                ## Checks for files ending in _SE_report.txt\n+                #for $file in $repeat.input_file\n+                    ln -s ${file} \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}_SE_report.txt\';\n+                #end for\n+            #else if str($repeat.software) == "samtools":\n+                ## Checks for files containing \'This file was produced by samtools stats\'\n+                #for $file in $repeat.input_file\n+                    ln -s ${file} \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n+                #end for\n+            #else if str($repeat.software) == "picard":\n+                #for $file in $repeat.input_file\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n+                #end for \n+            #else if str($repeat.software) == "samtools_idxstats":\n+                ## Checks for files containing "idxstats" in the name\n+                #for $file in $repeat.input_file\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}_idxstats.txt\';\n+                #end for \n+            #else if str($repeat.software) == "htseq":\n+                ## Checks for files containing "__too_low_aQual"\n+                #for $file in $repeat.input_file\n+                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n+                #end for \n+            #else if str($repeat.software) == "rnastar_log":\n+                '..b'test>\n+        <test>\n+            <repeat name="results">\n+                <param name="software" value="bismark" />\n+                <param name="input_file" value="bismark_data.txt" />\n+            </repeat>\n+            <output name="html_file" file="report_bismark.html" compare="sim_size" delta="1000"/>\n+        </test>\n+        <test>\n+            <repeat name="results">\n+                <param name="software" value="samtools" />\n+                <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />\n+            </repeat>\n+            <output name="html_file" file="report_samtools.html" compare="sim_size" delta="1000"/>\n+        </test>\n+        <test>\n+            <repeat name="results">\n+                <param name="software" value="samtools_idxstats" />\n+                <param name="input_file" value="samtools_idxstats.txt" />\n+            </repeat>\n+            <output name="html_file" file="report_samtools_idxstats.html" compare="sim_size" delta="1000"/>\n+        </test>\n+        <test>\n+            <repeat name="results">\n+                <param name="software" value="fastqc" />\n+                <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="cutadapt" />\n+                <param name="input_file" value="cutadapt.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="tophat" />\n+                <param name="input_file" value="tophat_data.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="featurecounts" />\n+                <param name="input_file" value="featurecounts_data.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="picard" />\n+                <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="bismark" />\n+                <param name="input_file" value="bismark_data.txt" />\n+            </repeat>\n+            <repeat name="results">\n+                <param name="software" value="samtools" />\n+                <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />\n+            </repeat>\n+            <output name="html_file" file="report_all.html" compare="sim_size" delta="5000"/>\n+        </test>\n+    </tests>\n+\n+    <help>\n+**What it does**\n+\n+MultiQC aggregates results from bioinformatics analyses across many samples into a single report. It takes results of multiple analyses and creates a report that can be viewed as a single beautiful web-page. It\'s a general use tool, perfect for summarizing the output from numerous bioinformatics tools.\n+\n+**Inputs**\n+\n+MultiQC takes software output summaries/logs and creates a single report from them. You need to tell the tool which software was used to generate the report. This is done using the **Software name** dropdown. At present the following Galaxy tools produce logs that can used with MultiQC. There are:\n+\n+- Fastqc\n+- Cutadapt / Trim Galore!\n+- Tophat2\n+- FeatureCounts\n+- Samtools (stats, flagstat, dxstats)\n+- Picard (MarkDuplicatesMetrics, CollectGCBiasMetrics, CollectInsertSizeMetrics, CollectAlignmentSummaryMetrics, CollectRnaSeqMetrics)\n+- Bismark (Alignment report file)\n+- Bowtie2 (Metrics file)\n+- HTSeq-count ("no feature" file; although the "Assigned" metric is always 0)\n+- RNA STAR (Alignment from Log.final.out, Gene counts from ReadsPerGene.out.tab)\n+\n+----\n+\n+**Integrated by**\n+\n+Cyril Monjeaud and Yvan Le Bras\n+\n+`EnginesOn &lt;http://engineson.fr/&gt;`_ and Rennes GenOuest Bio-informatics Core Facility\n+\n+    </help>\n+    <citations>\n+        <citation type="doi">10.1093/bioinformatics/btw354</citation>\n+    </citations>\n+</tool>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/.shed.yml
--- a/multiqc/.shed.yml Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,12 +0,0 @@
-categories:
-- Fastq Manipulation
-- Statistics
-description: multiqc tool
-name: multiqc
-owner: engineson
-long_description: |
-  MultiQC searches a given directory for analysis logs and compiles a HTML report. 
-  It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.
-homepage_url: http://multiqc.info/
-remote_repository_url: https://github.com/EnginesOn/galaxy_tools/tree/master/tools/multiqc
-type: unrestricted
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/multiqc.xml
--- a/multiqc/multiqc.xml Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,271 +0,0 @@\n-<tool id="multiqc" name="multiqc" version="1.0.0.0">\n-    <description>aggregate results from bioinformatics analyses into a single report</description>\n-    <requirements>\n-       <requirement type="package" version="1.0.0">multiqc</requirement>\n-    </requirements>\n-    <stdio>\n-        <exit_code range="1:" />\n-    </stdio>\n-    <command>\n-        mkdir multiqc_WDir;\n-        \n-        #for $i, $repeat in enumerate( $results )\n-            mkdir multiqc_WDir/${repeat.software}_${i};\n-\n-            #if str($repeat.software) == "fastqc":\n-                ## Searches for files named "fastqc_data.txt"\n-                #for $k, $file in enumerate($repeat.input_file):\n-                    mkdir multiqc_WDir/${repeat.software}_${i}/file_${k};\n-                    ln -s \'${file}\' multiqc_WDir/fastqc_${i}/file_${k}/fastqc_data.txt;\n-                #end for           \n-            #else if str($repeat.software) == "tophat":\n-                ## Searches for files ending in "align_summary.txt"\n-                #for $file in $repeat.input_file:\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}align_summary.txt\';\n-                #end for\n-            #else if str($repeat.software) == "bowtie2":\n-                ## Searches for files containing \'reads; of these;\'\n-                #for $file in $repeat.input_file:\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';\n-                #end for\n-            #else if str($repeat.software) == "cutadapt":\n-                ## Searches for files containing \'This is cutadapt\'\n-                #for $file in $repeat.input_file:\n-                    cat \'${file}\' > \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';\n-                    ## replace header for old cutadapt release\n-                    sed -i .old \'s/You are running/This is/\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}.txt\';               \n-                #end for\n-            #else if str($repeat.software) == "featurecounts":\n-                ## Checks for files ending in \'.summary\'\n-                #for $k, $file in enumerate($repeat.input_file):\n-                    mkdir multiqc_WDir/${repeat.software}_${i}/file_${k};\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/file_${k}/${file.display_name}.summary\';\n-                #end for\n-            #else if str($repeat.software) == "bismark":\n-                ## Checks for files ending in _SE_report.txt\n-                #for $file in $repeat.input_file\n-                    ln -s ${file} \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}_SE_report.txt\';\n-                #end for\n-            #else if str($repeat.software) == "samtools":\n-                ## Checks for files containing \'This file was produced by samtools stats\'\n-                #for $file in $repeat.input_file\n-                    ln -s ${file} \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n-                #end for\n-            #else if str($repeat.software) == "picard":\n-                #for $file in $repeat.input_file\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n-                #end for \n-            #else if str($repeat.software) == "samtools_idxstats":\n-                ## Checks for files containing "idxstats" in the name\n-                #for $file in $repeat.input_file\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}_idxstats.txt\';\n-                #end for \n-            #else if str($repeat.software) == "htseq":\n-                ## Checks for files containing "__too_low_aQual"\n-                #for $file in $repeat.input_file\n-                    ln -s \'${file}\' \'multiqc_WDir/${repeat.software}_${i}/${file.display_name}\';\n-                #end for \n-            #else if str($repeat.software) == "rnastar_log":\n-                '..b'test>\n-        <test>\n-            <repeat name="results">\n-                <param name="software" value="bismark" />\n-                <param name="input_file" value="bismark_data.txt" />\n-            </repeat>\n-            <output name="html_file" file="report_bismark.html" compare="sim_size" delta="1000"/>\n-        </test>\n-        <test>\n-            <repeat name="results">\n-                <param name="software" value="samtools" />\n-                <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />\n-            </repeat>\n-            <output name="html_file" file="report_samtools.html" compare="sim_size" delta="1000"/>\n-        </test>\n-        <test>\n-            <repeat name="results">\n-                <param name="software" value="samtools_idxstats" />\n-                <param name="input_file" value="samtools_idxstats.txt" />\n-            </repeat>\n-            <output name="html_file" file="report_samtools_idxstats.html" compare="sim_size" delta="1000"/>\n-        </test>\n-        <test>\n-            <repeat name="results">\n-                <param name="software" value="fastqc" />\n-                <param name="input_file" value="fastqc_data.txt,fastqc_data_2.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="cutadapt" />\n-                <param name="input_file" value="cutadapt.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="tophat" />\n-                <param name="input_file" value="tophat_data.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="featurecounts" />\n-                <param name="input_file" value="featurecounts_data.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="picard" />\n-                <param name="input_file" value="collectGcBias_data.txt,CollectInsertSizeMetrics.txt,MarkDuplicates_data.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="bismark" />\n-                <param name="input_file" value="bismark_data.txt" />\n-            </repeat>\n-            <repeat name="results">\n-                <param name="software" value="samtools" />\n-                <param name="input_file" value="samtools_stats.txt,samtools_flagstat.txt" />\n-            </repeat>\n-            <output name="html_file" file="report_all.html" compare="sim_size" delta="5000"/>\n-        </test>\n-    </tests>\n-\n-    <help>\n-**What it does**\n-\n-MultiQC aggregates results from bioinformatics analyses across many samples into a single report. It takes results of multiple analyses and creates a report that can be viewed as a single beautiful web-page. It\'s a general use tool, perfect for summarizing the output from numerous bioinformatics tools.\n-\n-**Inputs**\n-\n-MultiQC takes software output summaries/logs and creates a single report from them. You need to tell the tool which software was used to generate the report. This is done using the **Software name** dropdown. At present the following Galaxy tools produce logs that can used with MultiQC. There are:\n-\n-- Fastqc\n-- Cutadapt / Trim Galore!\n-- Tophat2\n-- FeatureCounts\n-- Samtools (stats, flagstat, dxstats)\n-- Picard (MarkDuplicatesMetrics, CollectGCBiasMetrics, CollectInsertSizeMetrics, CollectAlignmentSummaryMetrics, CollectRnaSeqMetrics)\n-- Bismark (Alignment report file)\n-- Bowtie2 (Metrics file)\n-- HTSeq-count ("no feature" file; although the "Assigned" metric is always 0)\n-- RNA STAR (Alignment from Log.final.out, Gene counts from ReadsPerGene.out.tab)\n-\n-----\n-\n-**Integrated by**\n-\n-Cyril Monjeaud and Yvan Le Bras\n-\n-`EnginesOn &lt;http://engineson.fr/&gt;`_ and Rennes GenOuest Bio-informatics Core Facility\n-\n-    </help>\n-    <citations>\n-        <citation type="doi">10.1093/bioinformatics/btw354</citation>\n-    </citations>\n-</tool>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/readme.rst
--- a/multiqc/readme.rst Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,36 +0,0 @@
-========================
-Galaxy multiqc wrapper
-========================
-
-Aggregate results from bioinformatics analyses across many samples into a single report
-
-MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.
-
-============
-Installation
-============
-
-Requirements: pkg-config
-
-Conda recipe: A conda recipe exists in bioconda repository. If you have a recent Galaxy release, the packages installation is not mandatory.
-
-================
-MultiQC webpage
-================
-
-Important: For a good view of multiqc webpage, you need to deactivate the sanitize_all_html option in galaxy.ini
-
-  sanitize_all_html = False
-
-=======
-History
-=======
-
- * v1.0.0.0 Update to multiQC 1.0, add additional supported tools
- * v0.6:        Initial public release
-
-==========
-Citation
-==========
-
-Created by EnginesOn company
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/CollectInsertSizeMetrics.txt
--- a/multiqc/test-data/CollectInsertSizeMetrics.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,737 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.analysis.CollectInsertSizeMetrics HISTOGRAM_FILE=/omaha-beach/cloud_26/files/000/dataset_199.dat DEVIATIONS=10.0 MINIMUM_PCT=0.05 METRIC_ACCUMULATION_LEVEL=[ALL_READS] INPUT=/omaha-beach/cloud_26/files/000/dataset_197.dat OUTPUT=/omaha-beach/cloud_26/files/000/dataset_198.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Mon May 23 09:33:00 UTC 2016
-
-## METRICS CLASS picard.analysis.InsertSizeMetrics
-MEDIAN_INSERT_SIZE MEDIAN_ABSOLUTE_DEVIATION MIN_INSERT_SIZE MAX_INSERT_SIZE MEAN_INSERT_SIZE STANDARD_DEVIATION READ_PAIRS PAIR_ORIENTATION WIDTH_OF_10_PERCENT WIDTH_OF_20_PERCENT WIDTH_OF_30_PERCENT WIDTH_OF_40_PERCENT WIDTH_OF_50_PERCENT WIDTH_OF_60_PERCENT WIDTH_OF_70_PERCENT WIDTH_OF_80_PERCENT WIDTH_OF_90_PERCENT WIDTH_OF_99_PERCENT SAMPLE LIBRARY READ_GROUP
-194 63 100 5331452 271.809759 196.076488 311788 FR 25 47 69 91 127 343 941 1515 2585 16663
-
-## HISTOGRAM java.lang.Integer
-insert_size All_Reads.fr_count
-100 2
-101 117
-102 424
-103 390
-104 376
-105 335
-106 360
-107 343
-108 353
-109 386
-110 349
-111 368
-112 445
-113 459
-114 470
-115 512
-116 478
-117 520
-118 558
-119 599
-120 603
-121 600
-122 696
-123 703
-124 657
-125 747
-126 734
-127 753
-128 820
-129 880
-130 923
-131 931
-132 953
-133 1006
-134 1086
-135 1134
-136 1177
-137 1280
-138 1381
-139 1419
-140 1494
-141 1625
-142 1697
-143 1838
-144 1899
-145 1957
-146 2197
-147 2214
-148 2276
-149 2450
-150 2557
-151 2523
-152 2619
-153 2591
-154 2575
-155 2745
-156 2756
-157 2716
-158 2765
-159 2775
-160 2884
-161 2830
-162 2781
-163 2718
-164 2777
-165 2859
-166 2803
-167 2855
-168 2896
-169 2817
-170 2843
-171 2817
-172 2844
-173 2855
-174 2777
-175 2684
-176 2703
-177 2574
-178 2516
-179 2569
-180 2494
-181 2374
-182 2322
-183 2186
-184 2117
-185 1992
-186 1914
-187 1831
-188 1883
-189 1705
-190 1610
-191 1484
-192 1484
-193 1358
-194 1290
-195 1180
-196 1148
-197 1013
-198 979
-199 895
-200 809
-201 715
-202 699
-203 616
-204 507
-205 501
-206 423
-207 374
-208 342
-209 301
-210 286
-211 180
-212 202
-213 175
-214 164
-215 134
-216 129
-217 93
-218 86
-219 89
-220 79
-221 66
-222 66
-223 57
-224 78
-225 67
-226 69
-227 70
-228 73
-229 82
-230 77
-231 85
-232 100
-233 109
-234 79
-235 96
-236 113
-237 100
-238 112
-239 106
-240 141
-241 141
-242 136
-243 133
-244 145
-245 136
-246 139
-247 150
-248 162
-249 157
-250 147
-251 170
-252 150
-253 180
-254 185
-255 187
-256 189
-257 181
-258 186
-259 188
-260 197
-261 199
-262 195
-263 183
-264 208
-265 192
-266 213
-267 215
-268 207
-269 192
-270 186
-271 189
-272 197
-273 188
-274 216
-275 203
-276 179
-277 209
-278 194
-279 202
-280 180
-281 177
-282 176
-283 173
-284 177
-285 167
-286 167
-287 181
-288 184
-289 190
-290 144
-291 161
-292 178
-293 173
-294 134
-295 151
-296 136
-297 145
-298 140
-299 144
-300 123
-301 121
-302 112
-303 103
-304 118
-305 110
-306 117
-307 126
-308 110
-309 95
-310 97
-311 105
-312 97
-313 98
-314 104
-315 81
-316 86
-317 83
-318 89
-319 78
-320 88
-321 89
-322 94
-323 84
-324 95
-325 86
-326 100
-327 97
-328 95
-329 186
-330 97
-331 74
-332 91
-333 79
-334 109
-335 101
-336 95
-337 100
-338 108
-339 94
-340 124
-341 102
-342 107
-343 103
-344 107
-345 114
-346 97
-347 109
-348 95
-349 115
-350 96
-351 101
-352 111
-353 121
-354 104
-355 109
-356 91
-357 129
-358 111
-359 126
-360 127
-361 123
-362 123
-363 101
-364 116
-365 114
-366 103
-367 115
-368 117
-369 110
-370 109
-371 108
-372 121
-373 111
-374 125
-375 121
-376 107
-377 101
-378 130
-379 103
-380 115
-381 92
-382 103
-383 101
-384 97
-385 114
-386 110
-387 94
-388 102
-389 90
-390 98
-391 82
-392 85
-393 86
-394 82
-395 86
-396 82
-397 111
-398 85
-399 90
-400 89
-401 95
-402 57
-403 105
-404 83
-405 69
-406 73
-407 79
-408 89
-409 66
-410 93
-411 81
-412 78
-413 71
-414 62
-415 71
-416 83
-417 69
-418 77
-419 76
-420 68
-421 73
-422 59
-423 74
-424 63
-425 72
-426 64
-427 72
-428 78
-429 69
-430 71
-431 74
-432 71
-433 62
-434 78
-435 80
-436 85
-437 77
-438 84
-439 72
-440 85
-441 84
-442 79
-443 65
-444 87
-445 81
-446 70
-447 77
-448 60
-449 66
-450 82
-451 88
-452 74
-453 97
-454 82
-455 86
-456 97
-457 107
-458 84
-459 91
-460 103
-461 88
-462 96
-463 82
-464 109
-465 104
-466 106
-467 103
-468 85
-469 102
-470 100
-471 106
-472 99
-473 101
-474 116
-475 104
-476 110
-477 103
-478 98
-479 95
-480 108
-481 111
-482 102
-483 118
-484 115
-485 113
-486 123
-487 111
-488 119
-489 120
-490 112
-491 115
-492 114
-493 114
-494 129
-495 117
-496 126
-497 113
-498 120
-499 114
-500 140
-501 108
-502 116
-503 110
-504 86
-505 127
-506 128
-507 119
-508 111
-509 122
-510 121
-511 155
-512 139
-513 141
-514 130
-515 132
-516 131
-517 132
-518 143
-519 146
-520 135
-521 141
-522 132
-523 141
-524 151
-525 144
-526 143
-527 155
-528 149
-529 149
-530 129
-531 129
-532 121
-533 139
-534 153
-535 141
-536 125
-537 136
-538 139
-539 128
-540 140
-541 107
-542 114
-543 138
-544 138
-545 140
-546 113
-547 132
-548 145
-549 139
-550 139
-551 107
-552 131
-553 119
-554 117
-555 132
-556 125
-557 197
-558 118
-559 115
-560 127
-561 111
-562 115
-563 110
-564 117
-565 114
-566 113
-567 115
-568 127
-569 113
-570 107
-571 111
-572 97
-573 112
-574 110
-575 108
-576 110
-577 108
-578 113
-579 104
-580 78
-581 101
-582 121
-583 97
-584 111
-585 107
-586 98
-587 107
-588 94
-589 113
-590 110
-591 107
-592 114
-593 118
-594 100
-595 116
-596 98
-597 107
-598 90
-599 114
-600 107
-601 117
-602 109
-603 103
-604 107
-605 122
-606 112
-607 106
-608 114
-609 101
-610 95
-611 106
-612 107
-613 101
-614 115
-615 88
-616 113
-617 101
-618 103
-619 114
-620 110
-621 126
-622 108
-623 112
-624 111
-625 121
-626 116
-627 106
-628 111
-629 93
-630 103
-631 96
-632 98
-633 80
-634 104
-635 86
-636 88
-637 102
-638 89
-639 78
-640 85
-641 109
-642 106
-643 80
-644 86
-645 93
-646 76
-647 81
-648 91
-649 92
-650 100
-651 88
-652 73
-653 97
-654 111
-655 76
-656 99
-657 90
-658 92
-659 87
-660 101
-661 103
-662 91
-663 105
-664 102
-665 89
-666 84
-667 104
-668 95
-669 99
-670 106
-671 101
-672 103
-673 111
-674 94
-675 108
-676 93
-677 113
-678 101
-679 86
-680 102
-681 97
-682 91
-683 107
-684 102
-685 112
-686 112
-687 98
-688 102
-689 112
-690 116
-691 90
-692 90
-693 96
-694 100
-695 85
-696 101
-697 106
-698 92
-699 90
-700 97
-701 102
-702 105
-703 109
-704 122
-705 101
-706 123
-707 126
-708 115
-709 114
-710 99
-711 136
-712 102
-713 114
-714 114
-715 119
-716 105
-717 121
-718 140
-719 113
-720 124
-721 140
-722 102
-723 146
-724 118
-725 145
-726 133
-727 155
-728 149
-729 129
-730 146
-731 153
-732 155
-733 164
-734 162
-735 179
-736 162
-737 158
-738 161
-739 171
-740 171
-741 168
-742 161
-743 198
-744 185
-745 146
-746 161
-747 178
-748 184
-749 185
-750 179
-751 189
-752 187
-753 166
-754 179
-755 170
-756 181
-757 193
-758 185
-759 201
-760 202
-761 195
-762 176
-763 204
-764 201
-765 182
-766 183
-767 180
-768 161
-769 174
-770 173
-771 185
-772 160
-773 180
-774 170
-775 167
-776 187
-777 167
-778 179
-779 187
-780 157
-781 176
-782 162
-783 158
-784 161
-785 160
-786 177
-787 161
-788 174
-789 145
-790 143
-791 148
-792 162
-793 170
-794 145
-795 157
-796 132
-797 150
-798 149
-799 131
-800 158
-801 132
-802 128
-803 118
-804 107
-805 120
-806 132
-807 122
-808 108
-809 116
-810 133
-811 112
-812 125
-813 93
-814 94
-815 94
-816 101
-817 91
-818 94
-819 98
-820 82
-821 73
-822 87
-823 69
-824 84
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/MarkDuplicates_data.txt
--- a/multiqc/test-data/MarkDuplicates_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,112 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.sam.markduplicates.MarkDuplicates INPUT=[/omaha-beach/cloud_26/files/000/dataset_114.dat] OUTPUT=/omaha-beach/cloud_26/files/000/dataset_197.dat METRICS_FILE=/omaha-beach/cloud_26/files/000/dataset_196.dat REMOVE_DUPLICATES=false ASSUME_SORTED=true DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES READ_NAME_REGEX=[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*. OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Mon May 23 09:32:41 UTC 2016
-
-## METRICS CLASS picard.sam.DuplicationMetrics
-LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
-Unknown Library 2900 313405 0 2257 629 0 0.005582 77973949
-
-## HISTOGRAM java.lang.Double
-BIN VALUE
-1.0 1
-2.0 1.995989
-3.0 2.987982
-4.0 3.975997
-5.0 4.960048
-6.0 5.940152
-7.0 6.916324
-8.0 7.88858
-9.0 8.856937
-10.0 9.821409
-11.0 10.782013
-12.0 11.738763
-13.0 12.691676
-14.0 13.640766
-15.0 14.586049
-16.0 15.52754
-17.0 16.465254
-18.0 17.399207
-19.0 18.329414
-20.0 19.25589
-21.0 20.178649
-22.0 21.097706
-23.0 22.013077
-24.0 22.924776
-25.0 23.832819
-26.0 24.737218
-27.0 25.63799
-28.0 26.535149
-29.0 27.428709
-30.0 28.318684
-31.0 29.20509
-32.0 30.08794
-33.0 30.967248
-34.0 31.84303
-35.0 32.715298
-36.0 33.584068
-37.0 34.449352
-38.0 35.311166
-39.0 36.169523
-40.0 37.024436
-41.0 37.875921
-42.0 38.723989
-43.0 39.568656
-44.0 40.409935
-45.0 41.247839
-46.0 42.082382
-47.0 42.913578
-48.0 43.741439
-49.0 44.565979
-50.0 45.387212
-51.0 46.205151
-52.0 47.019809
-53.0 47.831199
-54.0 48.639334
-55.0 49.444228
-56.0 50.245893
-57.0 51.044342
-58.0 51.839588
-59.0 52.631645
-60.0 53.420524
-61.0 54.206239
-62.0 54.988802
-63.0 55.768226
-64.0 56.544524
-65.0 57.317707
-66.0 58.087789
-67.0 58.854783
-68.0 59.618699
-69.0 60.379551
-70.0 61.137352
-71.0 61.892112
-72.0 62.643845
-73.0 63.392562
-74.0 64.138276
-75.0 64.880999
-76.0 65.620743
-77.0 66.357519
-78.0 67.09134
-79.0 67.822217
-80.0 68.550163
-81.0 69.275188
-82.0 69.997306
-83.0 70.716526
-84.0 71.432862
-85.0 72.146324
-86.0 72.856924
-87.0 73.564674
-88.0 74.269585
-89.0 74.971668
-90.0 75.670935
-91.0 76.367397
-92.0 77.061066
-93.0 77.751952
-94.0 78.440066
-95.0 79.12542
-96.0 79.808025
-97.0 80.487892
-98.0 81.165032
-99.0 81.839456
-100.0 82.511174
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/bismark_data.txt
--- a/multiqc/test-data/bismark_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,39 +0,0 @@
-Bismark report for: /omaha-beach/cloud_26/files/000/dataset_33.dat (version: v0.10.0)
-Option '--directional' specified: alignments to complementary strands will be ignored (i.e. not performed!)
-Bowtie was run against the bisulfite genome of /root/galaxy/database/tmp/tmpvNBPSF/ with the specified options: -q -L 20 -D 15 -R 2 --score-min L,0,-0.2 --ignore-quals --quiet
-
-Final Alignment report
-======================
-Sequences analysed in total: 316390
-Number of alignments with a unique best hit from the different alignments: 220558
-Mapping efficiency: 69.7%
-Sequences with no alignments under any condition: 93928
-Sequences did not map uniquely: 1904
-Sequences which were discarded because genomic sequence could not be extracted: 0
-
-Number of sequences with unique best (first) alignment came from the bowtie output:
-CT/CT: 108352 ((converted) top strand)
-CT/GA: 112206 ((converted) bottom strand)
-GA/CT: 0 (complementary to (converted) top strand)
-GA/GA: 0 (complementary to (converted) bottom strand)
-
-Number of alignments to (merely theoretical) complementary strands being rejected in total: 0
-
-Final Cytosine Methylation Report
-=================================
-Total number of C's analysed: 5291918
-
-Total methylated C's in CpG context: 465068
-Total methylated C's in CHG context: 1358074
-Total methylated C's in CHH context: 3449120
-Total methylated C's in Unknown context: 1499
-
-Total unmethylated C's in CpG context: 6399
-Total unmethylated C's in CHG context: 2988
-Total unmethylated C's in CHH context: 10269
-Total unmethylated C's in Unknown context: 454
-
-C methylated in CpG context: 98.6%
-C methylated in CHG context: 99.8%
-C methylated in CHH context: 99.7%
-C methylated in Unknown context (CN or CHN): 76.8%
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/bowtie2SE1.txt
--- a/multiqc/test-data/bowtie2SE1.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,6 +0,0 @@
-21040602 reads; of these:
-  21040602 (100.00%) were unpaired; of these:
-    351563 (1.67%) aligned 0 times
-    13299463 (63.21%) aligned exactly 1 time
-    7389576 (35.12%) aligned >1 times
-98.33% overall alignment rate
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/bowtie2SE2.txt
--- a/multiqc/test-data/bowtie2SE2.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,6 +0,0 @@
-16199126 reads; of these:
-  16199126 (100.00%) were unpaired; of these:
-    274008 (1.69%) aligned 0 times
-    10087714 (62.27%) aligned exactly 1 time
-    5837404 (36.04%) aligned >1 times
-98.31% overall alignment rate
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/collectGcBias_data.txt
--- a/multiqc/test-data/collectGcBias_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,110 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.analysis.CollectGcBiasMetrics CHART_OUTPUT=/omaha-beach/cloud_26/files/000/dataset_195.dat SUMMARY_OUTPUT=/omaha-beach/cloud_26/files/000/dataset_193.dat WINDOW_SIZE=100 MINIMUM_GENOME_FRACTION=5.0E-5 IS_BISULFITE_SEQUENCED=true INPUT=/omaha-beach/cloud_26/files/000/dataset_114.dat OUTPUT=/omaha-beach/cloud_26/files/000/dataset_194.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    METRIC_ACCUMULATION_LEVEL=[ALL_READS] STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Mon May 23 09:32:30 UTC 2016
-
-## METRICS CLASS picard.analysis.GcBiasDetailMetrics
-ACCUMULATION_LEVEL GC WINDOWS READ_STARTS MEAN_BASE_QUALITY NORMALIZED_COVERAGE ERROR_BAR_WIDTH SAMPLE LIBRARY READ_GROUP
-All Reads 0 0 0 0 0 0
-All Reads 1 0 0 0 0 0
-All Reads 2 0 0 0 0 0
-All Reads 3 10 0 0 0 0
-All Reads 4 7 0 0 0 0
-All Reads 5 6 0 0 0 0
-All Reads 6 4 0 0 0 0
-All Reads 7 9 0 0 0 0
-All Reads 8 22 0 0 0 0
-All Reads 9 15 0 0 0 0
-All Reads 10 20 0 0 0 0
-All Reads 11 18 0 0 0 0
-All Reads 12 101 0 0 0 0
-All Reads 13 118 0 0 0 0
-All Reads 14 137 1 20 0.110575 0.110575
-All Reads 15 243 4 19 0.249362 0.124681
-All Reads 16 366 10 21 0.4139 0.130887
-All Reads 17 468 9 24 0.291322 0.097107
-All Reads 18 689 25 24 0.549664 0.109933
-All Reads 19 1087 40 26 0.557451 0.088141
-All Reads 20 2152 95 25 0.668741 0.068611
-All Reads 21 3279 127 23 0.586731 0.052064
-All Reads 22 5106 178 23 0.528099 0.039583
-All Reads 23 7817 319 23 0.618197 0.034612
-All Reads 24 11933 630 24 0.799774 0.031864
-All Reads 25 17449 759 25 0.658943 0.023918
-All Reads 26 25272 1414 26 0.847591 0.02254
-All Reads 27 34926 1806 25 0.783331 0.018433
-All Reads 28 48489 2889 26 0.90257 0.016792
-All Reads 29 64950 4285 26 0.99942 0.015268
-All Reads 30 84452 5453 26 0.978142 0.013246
-All Reads 31 107535 6476 26 0.912291 0.011337
-All Reads 32 134982 7953 26 0.892548 0.010008
-All Reads 33 165941 9475 26 0.864972 0.008886
-All Reads 34 199087 11437 26 0.870253 0.008137
-All Reads 35 233144 12856 26 0.83533 0.007367
-All Reads 36 266049 14918 26 0.849426 0.006955
-All Reads 37 298999 17019 26 0.862265 0.00661
-All Reads 38 327958 20230 26 0.934446 0.00657
-All Reads 39 350801 22684 26 0.97957 0.006504
-All Reads 40 369841 23670 26 0.969527 0.006302
-All Reads 41 383262 25527 26 1.008975 0.006315
-All Reads 42 392470 26131 25 1.008617 0.006239
-All Reads 43 395234 25603 25 0.981326 0.006133
-All Reads 44 392428 26425 25 1.020074 0.006275
-All Reads 45 386569 25213 25 0.988039 0.006222
-All Reads 46 376763 25980 25 1.044594 0.006481
-All Reads 47 363422 24801 25 1.033795 0.006564
-All Reads 48 348339 24838 25 1.080167 0.006854
-All Reads 49 331960 24992 24 1.140491 0.007214
-All Reads 50 315781 23793 24 1.141405 0.0074
-All Reads 51 297249 22601 24 1.151818 0.007662
-All Reads 52 278159 19653 24 1.070317 0.007635
-All Reads 53 263713 19395 24 1.114127 0.008
-All Reads 54 247317 19047 24 1.166673 0.008453
-All Reads 55 230663 17922 23 1.177023 0.008792
-All Reads 56 215458 16244 23 1.142107 0.008961
-All Reads 57 198515 14904 23 1.137329 0.009316
-All Reads 58 180718 13720 23 1.150083 0.009819
-All Reads 59 165914 11940 23 1.090179 0.009977
-All Reads 60 152561 10775 23 1.069917 0.010307
-All Reads 61 138857 9746 23 1.063249 0.01077
-All Reads 62 125804 9067 22 1.091807 0.011466
-All Reads 63 112222 7148 22 0.964902 0.011413
-All Reads 64 99218 6056 23 0.924638 0.011882
-All Reads 65 85414 5612 24 0.995326 0.013286
-All Reads 66 72999 4286 23 0.88943 0.013586
-All Reads 67 61396 3631 23 0.895907 0.014868
-All Reads 68 52109 3341 22 0.971271 0.016804
-All Reads 69 45121 2735 21 0.918238 0.017558
-All Reads 70 38925 1675 21 0.651873 0.015928
-All Reads 71 32225 1053 22 0.495008 0.015254
-All Reads 72 27537 721 22 0.396639 0.014772
-All Reads 73 23481 483 22 0.311607 0.014179
-All Reads 74 20300 423 22 0.315661 0.015348
-All Reads 75 17785 245 22 0.208684 0.013332
-All Reads 76 15846 236 22 0.225615 0.014686
-All Reads 77 13683 230 22 0.254638 0.01679
-All Reads 78 11733 217 23 0.280174 0.019019
-All Reads 79 10547 188 22 0.270026 0.019694
-All Reads 80 9314 151 22 0.245594 0.019986
-All Reads 81 7659 149 23 0.294707 0.024143
-All Reads 82 5813 56 25 0.145937 0.019502
-All Reads 83 4687 46 23 0.148676 0.021921
-All Reads 84 3505 18 23 0.077797 0.018337
-All Reads 85 2385 8 23 0.050813 0.017965
-All Reads 86 1424 5 21 0.053191 0.023788
-All Reads 87 859 3 20 0.052906 0.030545
-All Reads 88 529 0 0 0 0
-All Reads 89 411 0 0 0 0
-All Reads 90 348 0 0 0 0
-All Reads 91 138 0 0 0 0
-All Reads 92 40 0 0 0 0
-All Reads 93 7 0 0 0 0
-All Reads 94 7 0 0 0 0
-All Reads 95 12 0 0 0 0
-All Reads 96 17 0 0 0 0
-All Reads 97 8 0 0 0 0
-All Reads 98 9 0 0 0 0
-All Reads 99 5 0 0 0 0
-All Reads 100 30 0 0 0 0
-
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/cutadapt.txt
--- a/multiqc/test-data/cutadapt.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,129 +0,0 @@
-You are running cutadapt 1.6 with Python 2.7.3
-Command line parameters: --format=fastq --anywhere=fakadaptater=CACG --error-rate=0.1 --times=1 --overlap=3 --output=/omaha-beach/cloud_26/files/000/dataset_82.dat /omaha-beach/cloud_26/files/000/dataset_33.dat
-Maximum error rate: 10.00%
-   No. of adapters: 1
-   Processed reads:       316390
-   Processed bases:     31955390 bp (32.0 Mbp)
-     Trimmed reads:        68795 (21.7%)
-     Trimmed bases:      3443775 bp (3.4 Mbp) (10.78% of total)
-   Too short reads:            0 (0.0% of processed reads)
-    Too long reads:            0 (0.0% of processed reads)
-        Total time:      5.28 s
-     Time per read:      0.017 ms
-
-=== Adapter 'fakadaptater' ===
-
-Sequence: CACG; Length: 4; Trimmed: 68795 times.
-2162 times, it overlapped the 5' end of a read
-66633 times, it overlapped the 3' end or was within the read
-
-No. of allowed errors:
-0-4 bp: 0
-
-Overview of removed sequences (5')
-length count expect max.err error counts
-3 357 4943.6 0 357
-4 1805 1235.9 0 1805
-
-
-Overview of removed sequences (3' or within)
-length count expect max.err error counts
-3 4175 4943.6 0 4175
-4 520 1235.9 0 520
-5 442 1235.9 0 442
-6 522 1235.9 0 522
-7 538 1235.9 0 538
-8 526 1235.9 0 526
-9 482 1235.9 0 482
-10 547 1235.9 0 547
-11 502 1235.9 0 502
-12 539 1235.9 0 539
-13 571 1235.9 0 571
-14 601 1235.9 0 601
-15 537 1235.9 0 537
-16 592 1235.9 0 592
-17 604 1235.9 0 604
-18 617 1235.9 0 617
-19 594 1235.9 0 594
-20 493 1235.9 0 493
-21 558 1235.9 0 558
-22 503 1235.9 0 503
-23 573 1235.9 0 573
-24 609 1235.9 0 609
-25 653 1235.9 0 653
-26 625 1235.9 0 625
-27 541 1235.9 0 541
-28 501 1235.9 0 501
-29 618 1235.9 0 618
-30 539 1235.9 0 539
-31 614 1235.9 0 614
-32 594 1235.9 0 594
-33 627 1235.9 0 627
-34 572 1235.9 0 572
-35 690 1235.9 0 690
-36 615 1235.9 0 615
-37 654 1235.9 0 654
-38 681 1235.9 0 681
-39 530 1235.9 0 530
-40 731 1235.9 0 731
-41 622 1235.9 0 622
-42 611 1235.9 0 611
-43 722 1235.9 0 722
-44 664 1235.9 0 664
-45 659 1235.9 0 659
-46 651 1235.9 0 651
-47 591 1235.9 0 591
-48 642 1235.9 0 642
-49 545 1235.9 0 545
-50 573 1235.9 0 573
-51 591 1235.9 0 591
-52 567 1235.9 0 567
-53 749 1235.9 0 749
-54 647 1235.9 0 647
-55 753 1235.9 0 753
-56 696 1235.9 0 696
-57 780 1235.9 0 780
-58 607 1235.9 0 607
-59 758 1235.9 0 758
-60 643 1235.9 0 643
-61 578 1235.9 0 578
-62 670 1235.9 0 670
-63 652 1235.9 0 652
-64 816 1235.9 0 816
-65 732 1235.9 0 732
-66 640 1235.9 0 640
-67 644 1235.9 0 644
-68 818 1235.9 0 818
-69 658 1235.9 0 658
-70 587 1235.9 0 587
-71 672 1235.9 0 672
-72 588 1235.9 0 588
-73 645 1235.9 0 645
-74 668 1235.9 0 668
-75 725 1235.9 0 725
-76 651 1235.9 0 651
-77 701 1235.9 0 701
-78 662 1235.9 0 662
-79 655 1235.9 0 655
-80 760 1235.9 0 760
-81 746 1235.9 0 746
-82 705 1235.9 0 705
-83 704 1235.9 0 704
-84 726 1235.9 0 726
-85 692 1235.9 0 692
-86 700 1235.9 0 700
-87 758 1235.9 0 758
-88 640 1235.9 0 640
-89 665 1235.9 0 665
-90 848 1235.9 0 848
-91 693 1235.9 0 693
-92 775 1235.9 0 775
-93 1237 1235.9 0 1237
-94 629 1235.9 0 629
-95 574 1235.9 0 574
-96 525 1235.9 0 525
-97 586 1235.9 0 586
-98 696 1235.9 0 696
-99 860 1235.9 0 860
-100 851 1235.9 0 851
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/fastqc_data.txt
--- a/multiqc/test-data/fastqc_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,2181 +0,0 @@\n-##FastQC\t0.11.4\n->>Basic Statistics\tpass\n-#Measure\tValue\n-Filename\tpoulet5_1\n-File type\tConventional base calls\n-Encoding\tSanger / Illumina 1.9\n-Total Sequences\t267849\n-Sequences flagged as poor quality\t0\n-Sequence length\t101\n-%GC\t48\n->>END_MODULE\n->>Per base sequence quality\twarn\n-#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n-1\t20.91988023102569\t21.0\t21.0\t21.0\t21.0\t21.0\n-2\t20.71684045861661\t21.0\t20.0\t22.0\t19.0\t23.0\n-3\t20.351574954545285\t21.0\t20.0\t21.0\t18.0\t22.0\n-4\t22.531542025544244\t23.0\t22.0\t24.0\t20.0\t24.0\n-5\t24.673566076408722\t25.0\t24.0\t26.0\t24.0\t26.0\n-6\t25.813099918237516\t26.0\t25.0\t27.0\t25.0\t27.0\n-7\t27.587864804423386\t28.0\t27.0\t29.0\t26.0\t29.0\n-8\t27.598941941168345\t28.0\t27.0\t29.0\t26.0\t29.0\n-9\t27.07115949658203\t28.0\t26.0\t28.0\t26.0\t28.0\n-10-11\t27.129873548155864\t28.0\t26.0\t28.0\t25.5\t28.0\n-12-13\t27.009298149330405\t27.5\t26.0\t28.0\t25.5\t28.0\n-14-15\t27.123565889736383\t28.0\t26.5\t28.0\t26.0\t28.0\n-16-17\t27.086309823818645\t28.0\t26.0\t28.0\t26.0\t28.0\n-18-19\t27.07924614241606\t28.0\t26.0\t28.0\t25.5\t28.0\n-20-21\t27.082520375286073\t28.0\t26.0\t28.0\t26.0\t28.0\n-22-23\t27.054301117420636\t28.0\t26.0\t28.0\t25.0\t28.0\n-24-25\t27.06350966402712\t28.0\t26.0\t28.0\t25.0\t28.0\n-26-27\t27.082996389756914\t28.0\t26.0\t28.0\t26.0\t28.0\n-28-29\t27.065495857740743\t28.0\t26.0\t28.0\t25.5\t28.0\n-30-31\t27.09608772106672\t28.0\t26.0\t28.0\t26.0\t28.0\n-32-33\t27.087097581099798\t28.0\t26.0\t28.0\t26.0\t28.0\n-34-35\t27.098251253504774\t28.0\t26.5\t28.0\t26.0\t28.0\n-36-37\t27.05184077595959\t28.0\t26.0\t28.0\t25.5\t28.0\n-38-39\t27.06521958267531\t28.0\t26.0\t28.0\t26.0\t28.0\n-40-41\t27.072148859992012\t28.0\t26.0\t28.0\t26.0\t28.0\n-42-43\t27.065725464720796\t28.0\t26.0\t28.0\t25.5\t28.0\n-44-45\t27.07168031241483\t28.0\t26.5\t28.0\t25.5\t28.0\n-46-47\t27.048083061725073\t28.0\t26.0\t28.0\t25.5\t28.0\n-48-49\t27.04642354460909\t28.0\t26.0\t28.0\t25.5\t28.0\n-50-51\t27.062865644448927\t28.0\t26.0\t28.0\t25.5\t28.0\n-52-53\t27.01859629866081\t28.0\t26.0\t28.0\t25.0\t28.0\n-54-55\t26.994157155710866\t27.5\t26.0\t28.0\t25.0\t28.0\n-56-57\t27.110127347871376\t28.0\t27.0\t28.0\t26.0\t28.0\n-58-59\t26.995846540401494\t27.5\t26.0\t28.0\t25.0\t28.0\n-60-61\t27.00461640700544\t27.5\t26.0\t28.0\t25.0\t28.0\n-62-63\t26.981614641085088\t27.5\t26.5\t28.0\t25.5\t28.5\n-64-65\t26.98900313236189\t28.0\t26.0\t28.0\t25.0\t28.0\n-66-67\t27.001189102815392\t28.0\t26.0\t28.0\t25.0\t28.0\n-68-69\t26.917739099268616\t27.5\t26.0\t28.0\t25.0\t28.5\n-70-71\t26.98481793846533\t28.0\t27.0\t28.0\t25.0\t29.0\n-72-73\t26.89518908041471\t27.5\t26.5\t28.0\t25.0\t28.5\n-74-75\t26.93677034448514\t28.0\t27.0\t28.0\t25.0\t29.0\n-76-77\t26.87640237596556\t28.0\t26.5\t28.0\t25.0\t29.0\n-78-79\t26.906094478605482\t28.0\t27.0\t28.0\t25.0\t29.0\n-80-81\t26.80463992772047\t28.0\t26.5\t28.0\t25.0\t29.0\n-82-83\t26.717012197170796\t28.0\t26.5\t28.0\t25.0\t29.0\n-84-85\t26.46960974280285\t27.5\t26.5\t28.0\t25.0\t29.0\n-86-87\t26.442842795754324\t27.5\t26.5\t28.0\t25.0\t29.0\n-88-89\t26.34282375517549\t28.0\t26.0\t28.0\t25.0\t29.0\n-90-91\t26.03493946215965\t28.0\t26.0\t28.0\t24.5\t29.0\n-92-93\t25.833215729758187\t28.0\t26.0\t28.0\t24.0\t29.0\n-94-95\t25.503102494315826\t27.5\t26.0\t28.0\t22.5\t29.0\n-96-97\t24.52807178671565\t27.0\t25.5\t27.5\t21.0\t28.0\n-98-99\t23.202399486277717\t26.0\t24.5\t26.5\t10.0\t27.0\n-100-101\t23.72906749698524\t27.0\t26.0\t28.0\t2.0\t29.0\n->>END_MODULE\n->>Per tile sequence quality\tpass\n-#Tile\tBase\tMean\n-1101\t1\t0.017259946109469126\n-1101\t2\t-0.13408255940416325\n-1101\t3\t-0.11853598095770224\n-1101\t4\t0.015421063929771606\n-1101\t5\t-0.06886052494072459\n-1101\t6\t-0.15241701542762698\n-1101\t7\t-0.029853727500473326\n-1101\t8\t0.04533865186875374\n-1101\t9\t0.07102084333114078\n-1101\t10-11\t0.02726717483210095\n-1101\t12-13\t0.05147474989913192\n-1101\t14-15\t-0.006227419450461014\n-1101\t16-17\t0.051879075943595865\n-1101\t18-19\t0.03525737425918152\n-1101\t20-21\t0.012963832365290529\n-1101\t22-23\t0.02506089814612622\n-1101\t24-25\t0.07843149833360386\n-1101\t26-27\t0.02737786083297422\n-1101\t28-29\t0.005161107012540356\n-1101\t30-31\t-0.08720467946375265\n-1101\t32-33\t-0.017197404032327057\n-1101\t34-35\t0.05763469947927646\n-1101\t36-37\t-0.045600552109540615\n-1101\t38-39\t-0.01952943529413176\n-1101\t40-41\t0.007678874836642535\n-1101\t42-43\t-0.00844'..b'433.5\n-55\t9922.0\n-56\t8785.5\n-57\t7997.0\n-58\t6901.0\n-59\t5796.0\n-60\t4967.0\n-61\t4072.5\n-62\t3639.5\n-63\t3267.0\n-64\t2561.5\n-65\t2002.5\n-66\t1561.5\n-67\t1355.5\n-68\t1222.0\n-69\t1019.0\n-70\t803.0\n-71\t568.5\n-72\t371.5\n-73\t235.0\n-74\t164.5\n-75\t110.5\n-76\t70.5\n-77\t56.0\n-78\t39.5\n-79\t27.0\n-80\t18.0\n-81\t17.0\n-82\t15.5\n-83\t12.5\n-84\t6.5\n-85\t1.5\n-86\t0.0\n-87\t0.0\n-88\t0.0\n-89\t0.0\n-90\t0.0\n-91\t0.0\n-92\t0.0\n-93\t0.0\n-94\t0.0\n-95\t0.0\n-96\t0.0\n-97\t0.0\n-98\t0.0\n-99\t0.0\n-100\t0.0\n->>END_MODULE\n->>Per base N content\tpass\n-#Base\tN-Count\n-1\t0.029867574640935753\n-2\t0.0\n-3\t0.003733446830116969\n-4\t0.0\n-5\t3.733446830116969E-4\n-6\t0.0\n-7\t0.0\n-8\t0.0\n-9\t0.0\n-10-11\t0.0\n-12-13\t0.0\n-14-15\t0.0\n-16-17\t0.0\n-18-19\t0.0\n-20-21\t0.0\n-22-23\t0.0\n-24-25\t0.0\n-26-27\t0.0\n-28-29\t0.0\n-30-31\t0.0\n-32-33\t0.0\n-34-35\t0.0\n-36-37\t0.0\n-38-39\t0.0\n-40-41\t0.0\n-42-43\t0.0\n-44-45\t0.0\n-46-47\t0.0\n-48-49\t0.0\n-50-51\t0.0\n-52-53\t0.0\n-54-55\t0.0\n-56-57\t0.0\n-58-59\t0.0\n-60-61\t0.0\n-62-63\t0.0\n-64-65\t0.0\n-66-67\t0.0\n-68-69\t0.0\n-70-71\t0.0\n-72-73\t0.0\n-74-75\t0.0\n-76-77\t0.0\n-78-79\t0.0\n-80-81\t0.0\n-82-83\t0.0\n-84-85\t0.0\n-86-87\t0.0\n-88-89\t0.0\n-90-91\t0.0\n-92-93\t0.0\n-94-95\t0.0\n-96-97\t0.0\n-98-99\t0.0\n-100-101\t0.0\n->>END_MODULE\n->>Sequence Length Distribution\tpass\n-#Length\tCount\n-101\t267849.0\n->>END_MODULE\n->>Sequence Duplication Levels\twarn\n-#Total Deduplicated Percentage\t63.69408840068983\n-#Duplication Level\tPercentage of deduplicated\tPercentage of total\n-1\t81.5623716290639\t51.950409087115126\n-2\t9.995611185249079\t12.733226849043577\n-3\t3.1947144335386772\t6.104532706343167\n-4\t1.4905270052149588\t3.797510353351082\n-5\t0.8725392208870194\t2.778779513412342\n-6\t0.55360835935223\t2.115694786796508\n-7\t0.38537193434967776\t1.718213983752925\n-8\t0.314619574221819\t1.603152557845755\n-9\t0.2033036957962869\t1.1654319215012086\n->10\t1.4223398099582591\t15.850860027094066\n->50\t0.0049931523680946535\t0.18218821374420768\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\tpass\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.0\t0.0\t0.0\t0.0\n-3\t0.0\t0.0\t0.0\t0.0\n-4\t0.0\t0.0\t0.0\t0.0\n-5\t0.0\t0.0\t0.0\t0.0\n-6\t0.0\t0.0\t0.0\t0.0\n-7\t0.0\t0.0\t0.0\t0.0\n-8\t0.0\t0.0\t0.0\t0.0\n-9\t0.0\t0.0\t0.0\t0.0\n-10-11\t0.0\t0.0\t0.0\t0.0\n-12-13\t0.0\t0.0\t0.0\t0.0\n-14-15\t0.0\t0.0\t0.0\t0.0\n-16-17\t0.0\t0.0\t0.0\t0.0\n-18-19\t0.0\t0.0\t0.0\t0.0\n-20-21\t0.0\t0.0\t0.0\t0.0\n-22-23\t0.0\t0.0\t0.0\t0.0\n-24-25\t0.0\t0.0\t0.0\t0.0\n-26-27\t0.0\t0.0\t0.0\t0.0\n-28-29\t0.0\t0.0\t0.0\t0.0\n-30-31\t0.0\t0.0\t0.0\t0.0\n-32-33\t0.0\t0.0\t0.0\t0.0\n-34-35\t0.0\t0.0\t0.0\t0.0\n-36-37\t0.0\t0.0\t0.0\t0.0\n-38-39\t0.0\t0.0\t0.0\t0.0\n-40-41\t0.0\t0.0\t0.0\t0.0\n-42-43\t0.0\t0.0\t0.0\t0.0\n-44-45\t0.0\t0.0\t0.0\t0.0\n-46-47\t0.0\t0.0\t0.0\t0.0\n-48-49\t0.0\t0.0\t0.0\t0.0\n-50-51\t0.0\t0.0\t0.0\t0.0\n-52-53\t0.0\t0.0\t0.0\t0.0\n-54-55\t0.0\t0.0\t0.0\t0.0\n-56-57\t0.0\t0.0\t0.0\t0.0\n-58-59\t0.0\t0.0\t0.0\t0.0\n-60-61\t0.0\t0.0\t0.0\t0.0\n-62-63\t0.0\t0.0\t0.0\t0.0\n-64-65\t0.0\t0.0\t0.0\t0.0\n-66-67\t0.0\t0.0\t0.0\t0.0\n-68-69\t0.0\t0.0\t0.0\t0.0\n-70-71\t0.0\t0.0\t0.0\t0.0\n-72-73\t0.0\t0.0\t0.0\t0.0\n-74-75\t0.0\t0.0\t0.0\t0.0\n-76-77\t0.0\t0.0\t0.0\t0.0\n-78-79\t0.0\t0.0\t0.0\t0.0\n-80-81\t0.0\t0.0\t0.0\t0.0\n-82-83\t0.0\t0.0\t0.0\t0.0\n-84-85\t0.0\t0.0\t0.0\t0.0\n-86-87\t0.0\t0.0\t0.0\t0.0\n-88-89\t0.0\t0.0\t0.0\t0.0\n->>END_MODULE\n->>Kmer Content\twarn\n-#Sequence\tCount\tPValue\tObs/Exp Max\tMax Obs/Exp Position\n-TTAGTGG\t50\t0.0016122013\t38.00672\t3\n-CCGGGAA\t65\t0.0058204937\t29.246862\t1\n-CTCGCCA\t65\t0.0058204937\t29.246862\t1\n-CCCGCTT\t70\t0.008357804\t27.157803\t1\n-AACAATT\t125\t0.006013185\t19.00336\t2\n-CTGGGAT\t205\t3.3062082E-4\t16.228443\t1\n-AGTTCAA\t195\t0.0044498937\t14.615241\t5\n-GAGTAGT\t125\t0.0014974214\t13.29987\t30-31\n-AAGTTCA\t220\t0.009890434\t12.954418\t4\n-CTGAAAT\t275\t0.003044474\t12.097567\t1\n-CCCAGCT\t405\t3.2130985E-5\t11.734852\t1\n-AGGGTGT\t145\t0.0045575905\t11.465405\t66-67\n-CTGAATT\t335\t0.001024679\t11.349529\t1\n-CTTGAAT\t295\t0.0051441877\t11.277392\t1\n-GAATGTC\t425\t6.555659E-4\t10.058724\t4\n-GGTAGTA\t190\t0.002949709\t9.999902\t52-53\n-CTCTGCC\t390\t0.0036302158\t9.748955\t1\n-CTCCTTT\t535\t5.356131E-4\t8.883393\t1\n-CTTTGCT\t500\t0.0028739348\t8.5547085\t1\n->>END_MODULE\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/fastqc_data_2.txt
--- a/multiqc/test-data/fastqc_data_2.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
b'@@ -1,2170 +0,0 @@\n-##FastQC\t0.11.4\n->>Basic Statistics\tpass\n-#Measure\tValue\n-Filename\tpoulet5_2\n-File type\tConventional base calls\n-Encoding\tSanger / Illumina 1.9\n-Total Sequences\t267849\n-Sequences flagged as poor quality\t0\n-Sequence length\t101\n-%GC\t48\n->>END_MODULE\n->>Per base sequence quality\twarn\n-#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n-1\t20.590586487162543\t21.0\t21.0\t21.0\t20.0\t21.0\n-2\t20.458478471078855\t21.0\t19.0\t22.0\t19.0\t22.0\n-3\t20.178608096352797\t21.0\t20.0\t21.0\t18.0\t22.0\n-4\t22.495204387546714\t23.0\t22.0\t24.0\t20.0\t24.0\n-5\t24.59397272343746\t25.0\t24.0\t26.0\t24.0\t26.0\n-6\t25.77560491172265\t26.0\t25.0\t27.0\t25.0\t27.0\n-7\t26.651378201897337\t27.0\t26.0\t28.0\t26.0\t28.0\n-8\t27.54968284369178\t28.0\t27.0\t29.0\t26.0\t29.0\n-9\t27.089005372429988\t28.0\t26.0\t28.0\t26.0\t28.0\n-10-11\t27.058984726469017\t28.0\t26.0\t28.0\t25.5\t28.0\n-12-13\t26.954911162632676\t27.5\t26.0\t28.0\t25.5\t28.0\n-14-15\t27.066410552214123\t28.0\t26.0\t28.0\t26.0\t28.0\n-16-17\t27.04552938409328\t28.0\t26.0\t28.0\t25.5\t28.0\n-18-19\t27.025118630273028\t28.0\t26.0\t28.0\t25.0\t28.0\n-20-21\t27.019042445557012\t28.0\t26.0\t28.0\t25.0\t28.0\n-22-23\t27.010315513591614\t28.0\t26.0\t28.0\t25.0\t28.0\n-24-25\t27.03931879529138\t28.0\t26.0\t28.0\t25.5\t28.0\n-26-27\t26.978450544896567\t28.0\t26.0\t28.0\t25.0\t28.0\n-28-29\t27.003714779595967\t28.0\t26.0\t28.0\t25.0\t28.0\n-30-31\t27.025971722873706\t28.0\t26.0\t28.0\t25.0\t28.0\n-32-33\t27.017791740868923\t28.0\t26.0\t28.0\t25.0\t28.0\n-34-35\t27.00628899118533\t28.0\t26.0\t28.0\t25.0\t28.0\n-36-37\t27.00906294218011\t28.0\t26.0\t28.0\t25.0\t28.0\n-38-39\t27.034922661648913\t28.0\t26.0\t28.0\t25.5\t28.0\n-40-41\t27.005346295860726\t28.0\t26.0\t28.0\t25.0\t28.0\n-42-43\t27.000909094303132\t28.0\t26.0\t28.0\t25.0\t28.0\n-44-45\t27.004913216028434\t28.0\t26.0\t28.0\t25.0\t28.0\n-46-47\t26.979999925331065\t28.0\t26.0\t28.0\t25.0\t28.0\n-48-49\t26.941037674211962\t27.5\t26.0\t28.0\t25.0\t28.0\n-50-51\t26.99995146519121\t27.5\t26.0\t28.0\t25.5\t28.0\n-52-53\t26.95084543903468\t27.5\t26.0\t28.0\t25.0\t28.0\n-54-55\t26.97609847339359\t28.0\t26.0\t28.0\t25.0\t28.0\n-56-57\t26.99262270906369\t27.5\t26.0\t28.0\t25.0\t28.0\n-58-59\t26.942271578389317\t27.0\t26.0\t28.0\t25.0\t28.0\n-60-61\t26.88024222603034\t27.0\t26.0\t28.0\t25.0\t28.0\n-62-63\t26.866450873439888\t27.0\t26.0\t28.0\t25.0\t28.0\n-64-65\t26.947610407356386\t28.0\t26.0\t28.0\t25.0\t28.0\n-66-67\t26.975012040366025\t28.0\t26.5\t28.0\t25.0\t28.5\n-68-69\t26.966286975124042\t28.0\t26.5\t28.0\t25.0\t29.0\n-70-71\t26.917634562757375\t28.0\t26.0\t28.0\t25.0\t29.0\n-72-73\t26.885127441207544\t28.0\t26.0\t28.0\t25.0\t29.0\n-74-75\t26.846286527110426\t28.0\t26.5\t28.0\t25.0\t29.0\n-76-77\t26.769134848366058\t28.0\t26.0\t28.0\t25.0\t29.0\n-78-79\t26.709703975000842\t28.0\t26.5\t28.0\t25.0\t29.0\n-80-81\t26.551336760637525\t27.5\t26.0\t28.0\t25.0\t28.5\n-82-83\t26.42626069165836\t27.5\t26.0\t28.0\t25.0\t28.5\n-84-85\t26.309463541024982\t27.5\t26.0\t28.0\t25.0\t29.0\n-86-87\t26.127226534353312\t27.5\t26.0\t28.0\t25.0\t29.0\n-88-89\t25.91885539987082\t27.5\t26.0\t28.0\t24.0\t29.0\n-90-91\t25.674260497519125\t27.0\t26.0\t28.0\t23.5\t29.0\n-92-93\t25.371903572535274\t27.0\t26.0\t28.0\t22.0\t29.0\n-94-95\t24.758753999454918\t27.0\t26.0\t28.0\t20.5\t28.5\n-96-97\t23.84710415196622\t26.5\t25.0\t27.5\t7.0\t28.0\n-98-99\t22.40618968149965\t25.5\t24.0\t26.5\t2.0\t27.0\n-100-101\t23.009550156991438\t27.0\t25.0\t28.0\t2.0\t29.0\n->>END_MODULE\n->>Per tile sequence quality\tpass\n-#Tile\tBase\tMean\n-1101\t1\t-0.1408369887985721\n-1101\t2\t-0.019030947201084558\n-1101\t3\t-0.060059442415557385\n-1101\t4\t0.004085939732711097\n-1101\t5\t-0.018429270835582656\n-1101\t6\t-0.10404524639907464\n-1101\t7\t0.05541229462318498\n-1101\t8\t0.06703529503928962\n-1101\t9\t0.0644374620344621\n-1101\t10-11\t0.06977859906234585\n-1101\t12-13\t0.048103685880093394\n-1101\t14-15\t0.0848396420659725\n-1101\t16-17\t0.030233298636137107\n-1101\t18-19\t0.05253119669850648\n-1101\t20-21\t0.08961672433820667\n-1101\t22-23\t0.014190195653434046\n-1101\t24-25\t-0.013817302849609803\n-1101\t26-27\t0.046003756870838686\n-1101\t28-29\t0.04599618351544166\n-1101\t30-31\t0.04851104267937956\n-1101\t32-33\t0.04656194043190354\n-1101\t34-35\t0.057517795385400916\n-1101\t36-37\t-0.00326392946157128\n-1101\t38-39\t0.0753296536157606\n-1101\t40-41\t0.005995075411309614\n-1101\t42-43\t-0.013913'..b'71.0\n-24\t130.0\n-25\t233.5\n-26\t389.5\n-27\t542.5\n-28\t724.5\n-29\t1063.0\n-30\t1433.0\n-31\t1683.5\n-32\t1996.0\n-33\t2367.5\n-34\t2840.5\n-35\t3318.0\n-36\t3924.5\n-37\t4721.0\n-38\t5510.0\n-39\t6259.0\n-40\t7364.0\n-41\t8736.0\n-42\t9608.5\n-43\t10256.0\n-44\t10928.5\n-45\t11153.5\n-46\t11271.5\n-47\t12042.0\n-48\t12804.5\n-49\t12874.0\n-50\t12482.5\n-51\t11758.0\n-52\t10827.0\n-53\t10433.0\n-54\t10615.0\n-55\t9955.0\n-56\t8760.0\n-57\t7986.5\n-58\t6982.5\n-59\t5802.5\n-60\t4913.5\n-61\t4177.5\n-62\t3751.5\n-63\t3282.0\n-64\t2533.0\n-65\t1954.0\n-66\t1513.0\n-67\t1247.5\n-68\t1102.0\n-69\t957.0\n-70\t777.0\n-71\t535.5\n-72\t361.5\n-73\t253.0\n-74\t157.0\n-75\t99.0\n-76\t60.0\n-77\t46.5\n-78\t37.0\n-79\t21.5\n-80\t13.5\n-81\t16.5\n-82\t19.5\n-83\t14.0\n-84\t6.5\n-85\t3.0\n-86\t0.5\n-87\t0.0\n-88\t0.0\n-89\t0.0\n-90\t0.0\n-91\t0.0\n-92\t0.0\n-93\t0.0\n-94\t0.0\n-95\t0.0\n-96\t0.0\n-97\t0.0\n-98\t0.0\n-99\t0.0\n-100\t0.0\n->>END_MODULE\n->>Per base N content\tpass\n-#Base\tN-Count\n-1\t0.11461681768459094\n-2\t0.003733446830116969\n-3\t0.0\n-4\t0.0\n-5\t0.0\n-6\t0.0\n-7\t0.0\n-8\t0.0\n-9\t0.0\n-10-11\t0.0\n-12-13\t0.0\n-14-15\t0.0\n-16-17\t0.0\n-18-19\t0.0\n-20-21\t0.0\n-22-23\t0.0\n-24-25\t0.0\n-26-27\t0.0\n-28-29\t0.0\n-30-31\t0.0\n-32-33\t0.0\n-34-35\t0.0\n-36-37\t0.0\n-38-39\t0.0\n-40-41\t0.0\n-42-43\t0.0\n-44-45\t0.0\n-46-47\t0.0\n-48-49\t0.0\n-50-51\t0.0\n-52-53\t0.0\n-54-55\t0.0\n-56-57\t0.0\n-58-59\t0.0\n-60-61\t0.0\n-62-63\t0.0\n-64-65\t0.0\n-66-67\t0.0\n-68-69\t0.0\n-70-71\t0.0\n-72-73\t0.0\n-74-75\t0.0\n-76-77\t0.0\n-78-79\t0.0\n-80-81\t0.0\n-82-83\t1.8667234150584845E-4\n-84-85\t0.0\n-86-87\t1.8667234150584845E-4\n-88-89\t0.0014933787320467876\n-90-91\t0.0\n-92-93\t0.0011200340490350907\n-94-95\t0.0\n-96-97\t0.0\n-98-99\t0.0\n-100-101\t0.01456044263745618\n->>END_MODULE\n->>Sequence Length Distribution\tpass\n-#Length\tCount\n-101\t267849.0\n->>END_MODULE\n->>Sequence Duplication Levels\twarn\n-#Total Deduplicated Percentage\t63.826611251945884\n-#Duplication Level\tPercentage of deduplicated\tPercentage of total\n-1\t81.66283073871745\t52.122617512935754\n-2\t9.894108596885154\t12.630148461958491\n-3\t3.18062640137576\t6.090258145748586\n-4\t1.5566170090070461\t3.974143548082379\n-5\t0.8538567368205473\t2.7249391002950074\n-6\t0.5533319107768025\t2.119038045746843\n-7\t0.3960736941041749\t1.7696029190496514\n-8\t0.2698969625036296\t1.3781286803040145\n-9\t0.23212846037984958\t1.3334375701059644\n->10\t1.3969694370078172\t15.730893862039416\n->50\t0.0035600524217624095\t0.12679215373389083\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\tpass\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.0\t0.0\t0.0\t0.0\n-3\t0.0\t0.0\t0.0\t0.0\n-4\t0.0\t0.0\t0.0\t0.0\n-5\t0.0\t0.0\t0.0\t0.0\n-6\t0.0\t0.0\t0.0\t0.0\n-7\t0.0\t0.0\t0.0\t0.0\n-8\t0.0\t0.0\t0.0\t0.0\n-9\t0.0\t0.0\t0.0\t0.0\n-10-11\t0.0\t0.0\t0.0\t0.0\n-12-13\t0.0\t0.0\t0.0\t0.0\n-14-15\t0.0\t0.0\t0.0\t0.0\n-16-17\t0.0\t0.0\t0.0\t0.0\n-18-19\t0.0\t0.0\t0.0\t0.0\n-20-21\t0.0\t0.0\t0.0\t0.0\n-22-23\t0.0\t0.0\t0.0\t0.0\n-24-25\t0.0\t0.0\t0.0\t0.0\n-26-27\t0.0\t0.0\t0.0\t0.0\n-28-29\t0.0\t0.0\t0.0\t0.0\n-30-31\t0.0\t0.0\t0.0\t0.0\n-32-33\t0.0\t0.0\t0.0\t0.0\n-34-35\t0.0\t0.0\t0.0\t0.0\n-36-37\t0.0\t0.0\t0.0\t0.0\n-38-39\t0.0\t0.0\t0.0\t0.0\n-40-41\t0.0\t0.0\t0.0\t0.0\n-42-43\t0.0\t0.0\t0.0\t0.0\n-44-45\t0.0\t0.0\t0.0\t0.0\n-46-47\t0.0\t0.0\t0.0\t0.0\n-48-49\t0.0\t0.0\t0.0\t0.0\n-50-51\t0.0\t0.0\t0.0\t0.0\n-52-53\t0.0\t0.0\t0.0\t0.0\n-54-55\t0.0\t0.0\t0.0\t0.0\n-56-57\t0.0\t0.0\t0.0\t0.0\n-58-59\t0.0\t0.0\t0.0\t0.0\n-60-61\t0.0\t0.0\t0.0\t0.0\n-62-63\t0.0\t0.0\t0.0\t0.0\n-64-65\t0.0\t0.0\t0.0\t0.0\n-66-67\t0.0\t0.0\t0.0\t0.0\n-68-69\t0.0\t0.0\t0.0\t0.0\n-70-71\t0.0\t0.0\t0.0\t0.0\n-72-73\t0.0\t0.0\t0.0\t0.0\n-74-75\t0.0\t0.0\t0.0\t0.0\n-76-77\t0.0\t0.0\t0.0\t0.0\n-78-79\t0.0\t0.0\t0.0\t0.0\n-80-81\t0.0\t0.0\t0.0\t0.0\n-82-83\t0.0\t0.0\t0.0\t0.0\n-84-85\t0.0\t0.0\t0.0\t0.0\n-86-87\t0.0\t0.0\t0.0\t0.0\n-88-89\t0.0\t0.0\t0.0\t0.0\n->>END_MODULE\n->>Kmer Content\twarn\n-#Sequence\tCount\tPValue\tObs/Exp Max\tMax Obs/Exp Position\n-TACGAGG\t60\t0.0039460836\t31.665857\t9\n-CCCAGAT\t105\t6.861368E-5\t27.157375\t1\n-AATCAAC\t70\t0.008381328\t27.142164\t5\n-CTTGTAT\t120\t0.004739449\t19.802252\t1\n-TCGCTCA\t130\t0.007549489\t18.268764\t2\n-CCCCACT\t195\t0.0044338168\t14.623201\t1\n-TTCAACA\t295\t0.005166332\t11.270898\t2\n-CTTGAAG\t305\t0.006593838\t10.90747\t1\n->>END_MODULE\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/featurecounts_data.txt
--- a/multiqc/test-data/featurecounts_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,12 +0,0 @@
-Status 70: TopHat on data 1, data 4, and data 3: accepted_hits 75: TopHat on data 1, data 6, and data 5: accepted_hits 80: TopHat on data 1, data 8, and data 7: accepted_hits 85: TopHat on data 1, data 10, and data 9: accepted_hits 90: TopHat on data 1, data 12, and data 11: accepted_hits 95: TopHat on data 1, data 14, and data 13: accepted_hits
-Assigned 321797 445012 394981 437485 388170 453929
-Unassigned_Ambiguity 2333 3424 3121 3692 2782 3554
-Unassigned_MultiMapping 19123 25293 22580 19907 21164 23533
-Unassigned_NoFeatures 111117 165786 129664 146327 132063 160805
-Unassigned_Unmapped 0 0 0 0 0 0
-Unassigned_MappingQuality 0 0 0 0 0 0
-Unassigned_FragmentLength 0 0 0 0 0 0
-Unassigned_Chimera 0 0 0 0 0 0
-Unassigned_Secondary 0 0 0 0 0 0
-Unassigned_Nonjunction 0 0 0 0 0 0
-Unassigned_Duplicate 0 0 0 0 0 0
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/htseq_data.txt
--- a/multiqc/test-data/htseq_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,5 +0,0 @@
-__no_feature 19
-__ambiguous 0
-__too_low_aQual 0
-__not_aligned 1336
-__alignment_not_unique 0
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/log_fastqc.txt
--- a/multiqc/test-data/log_fastqc.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b"@@ -1,57 +0,0 @@\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: /home/dpryan/miniconda2/lib/python2.7/site-packages/multiqc-1.0-py2.7.egg/multiqc_config.yaml\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: /home/dpryan/.multiqc_config.yaml\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: multiqc_config.yaml\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Command used: /home/dpryan/miniconda2/bin/multiqc multiqc_WDir\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Could not connect to multiqc.info for version check\n-[2017-05-25 01:09:17,435] multiqc                                            [INFO   ]  This is MultiQC v1.0\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Command     : /home/dpryan/miniconda2/bin/multiqc multiqc_WDir\n-[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Working dir : /tmp/tmptvpHhR/job_working_directory/000/2/working\n-[2017-05-25 01:09:17,435] multiqc                                            [INFO   ]  Template    : default\n-[2017-05-25 01:09:17,436] multiqc                                            [INFO   ]  Searching 'multiqc_WDir'\n-[2017-05-25 01:09:17,436] multiqc                                            [DEBUG  ]  Analysing modules: custom_content, peddy, methylQA, qualimap, preseq, quast, rna_seqc, rseqc, busco, goleft_indexcov, snpeff, gatk, htseq, bcftools, featureCounts, picard, prokka, samblaster, samtools, bamtools, bismark, hicup, salmon, kallisto, slamdunk, star, tophat, bowtie2, bowtie1, adapterRemoval, cutadapt, trimmomatic, skewer, sortmerna, fastq_screen, fastqc, clusterflow\n-[2017-05-25 01:09:17,436] multiqc                                            [DEBUG  ]  Using temporary directory for creating report: /tmp/tmpExYq9v\n-[2017-05-25 01:09:17,570] multiqc.modules.custom_content.custom_content      [DEBUG  ]  No custom content found\n-[2017-05-25 01:09:17,573] multiqc.modules.peddy.peddy                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,576] multiqc.modules.methylQA.methylQA                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,578] multiqc.modules.qualimap.QM_BamQC                  [DEBUG  ]  Using default Qualimap thresholds: 1, 5, 10, 30, 50\n-[2017-05-25 01:09:17,579] multiqc.modules.qualimap.qualimap                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,581] multiqc.modules.preseq.preseq                      [DEBUG  ]  Could not find any preseq data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,584] multiqc.modules.quast.quast                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,586] multiqc.modules.rna_seqc.rna_seqc                  [DEBUG  ]  Could not find any RNA-SeQC data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,589] multiqc.modules.rseqc.rseqc                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,591] multiqc.modules.busco.busco                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,594] multiqc.modules.goleft_indexcov.goleft_indexcov    [DEBUG  ]  Did not find goleft indexcov outputs in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,596] multiqc.modules.snpeff.snpeff                      [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,598] multiqc.modules.gatk.gatk                          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,601] multiqc.modules.htseq.htseq                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,6"..b",)\n-[2017-05-25 01:09:17,611] multiqc.modules.prokka.prokka                      [DEBUG  ]  Could not find any Prokka data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,614] multiqc.modules.samblaster.samblaster              [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,617] multiqc.modules.samtools.samtools                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,619] multiqc.modules.bamtools.bamtools                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,621] multiqc.modules.bismark.bismark                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,624] multiqc.modules.hicup.hicup                        [DEBUG  ]  Could not find any HiCUP data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,626] multiqc.modules.salmon.salmon                      [DEBUG  ]  Could not find any Salmon data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,629] multiqc.modules.kallisto.kallisto                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,631] multiqc.modules.slamdunk.slamdunk                  [DEBUG  ]  No slamdunk reports found.\n-[2017-05-25 01:09:17,633] multiqc.modules.star.star                          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,636] multiqc.modules.tophat.tophat                      [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,638] multiqc.modules.bowtie2.bowtie2                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,641] multiqc.modules.bowtie1.bowtie1                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,643] multiqc.modules.adapterRemoval.adapterRemoval      [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,645] multiqc.modules.cutadapt.cutadapt                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,648] multiqc.modules.trimmomatic.trimmomatic            [DEBUG  ]  Could not find any Trimmomatic data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,650] multiqc.modules.skewer.skewer                      [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,652] multiqc.modules.sortmerna.sortmerna                [DEBUG  ]  Could not find any SortMeRNA data in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,655] multiqc.modules.fastq_screen.fastq_screen          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,694] multiqc.modules.fastqc.fastqc                      [INFO   ]  Found 1 reports\n-[2017-05-25 01:09:17,748] multiqc.modules.clusterflow.clusterflow            [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n-[2017-05-25 01:09:17,750] multiqc                                            [INFO   ]  Compressing plot data\n-[2017-05-25 01:09:17,802] multiqc                                            [INFO   ]  Report      : multiqc_report.html\n-[2017-05-25 01:09:17,802] multiqc                                            [INFO   ]  Data        : multiqc_data\n-[2017-05-25 01:09:17,802] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_general_stats.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n-[2017-05-25 01:09:17,803] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_fastqc.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n-[2017-05-25 01:09:17,803] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_sources.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n-[2017-05-25 01:09:17,900] multiqc                                            [INFO   ]  MultiQC complete\n"
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/picard_CollectAlignmentSummaryMetrics.txt
--- a/multiqc/test-data/picard_CollectAlignmentSummaryMetrics.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,10 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.analysis.CollectAlignmentSummaryMetrics MAX_INSERT_SIZE=100000 METRIC_ACCUMULATION_LEVEL=[ALL_READS] IS_BISULFITE_SEQUENCED=false REFERENCE_SEQUENCE=/data/repository/organisms/GRCm38_ensembl/genome_fasta/genome.fa INPUT=D11_H4K16ac_Rep1_R1_fastq_gz OUTPUT=/data/galaxy2/files/000/163/dataset_163662.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT    EXPECTED_PAIR_ORIENTATIONS=[FR] ADAPTER_SEQUENCE=[AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCTCGTATGCCGTCTTCTGCTTG, AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTTG, AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNNNATCTCGTATGCCGTCTTCTGCTTG] STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Fri Apr 21 14:00:55 CEST 2017
-
-## METRICS CLASS picard.analysis.AlignmentSummaryMetrics
-CATEGORY TOTAL_READS PF_READS PCT_PF_READS PF_NOISE_READS PF_READS_ALIGNED PCT_PF_READS_ALIGNED PF_ALIGNED_BASES PF_HQ_ALIGNED_READS PF_HQ_ALIGNED_BASES PF_HQ_ALIGNED_Q20_BASES PF_HQ_MEDIAN_MISMATCHES PF_MISMATCH_RATE PF_HQ_ERROR_RATE PF_INDEL_RATE MEAN_READ_LENGTH READS_ALIGNED_IN_PAIRS PCT_READS_ALIGNED_IN_PAIRS BAD_CYCLES STRAND_BALANCE PCT_CHIMERAS PCT_ADAPTER SAMPLE LIBRARY READ_GROUP
-UNPAIRED 16199126 16199126 1 112 15925118 0.983085 1189439864 11288718 843872901 802235299 0 0.011597 0.006165 0.000848 74.733459 0 0 0 0.494061 0 0.000014
-
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/picard_CollectBaseDistributionByCycle.txt
--- a/multiqc/test-data/picard_CollectBaseDistributionByCycle.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,84 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.analysis.CollectBaseDistributionByCycle CHART_OUTPUT=/data/galaxy2/files/000/163/dataset_163657.dat ALIGNED_READS_ONLY=true PF_READS_ONLY=true INPUT=D11_H4K16ac_Rep1_R1_fastq_gz OUTPUT=/data/galaxy2/files/000/163/dataset_163656.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=/data/repository/organisms/GRCm38_ensembl/genome_fasta/genome.fa    STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Fri Apr 21 13:59:56 CEST 2017
-
-## METRICS CLASS picard.analysis.BaseDistributionByCycleMetrics
-READ_END CYCLE PCT_A PCT_C PCT_G PCT_T PCT_N
-1 1 45.534532 6.100294 6.278409 41.942176 0.144589
-1 2 18.642016 31.079914 32.291905 17.974837 0.011328
-1 3 25.118841 24.321879 26.15791 24.401106 0.000264
-1 4 22.612561 27.464826 27.30928 22.606024 0.007309
-1 5 27.970543 22.96859 21.970694 27.090173 0
-1 6 28.405874 22.976144 21.741647 26.875952 0.000383
-1 7 31.150444 19.648545 20.094438 29.10656 0.000013
-1 8 31.215988 19.341113 20.496087 28.946812 0
-1 9 31.733121 18.755302 20.342562 29.169015 0
-1 10 31.51068 19.338274 20.26157 28.889475 0
-1 11 31.155932 19.344704 20.729096 28.770267 0
-1 12 28.641307 21.681095 22.115748 27.561843 0.000006
-1 13 28.644403 21.190688 21.233551 28.931359 0
-1 14 27.912176 22.509522 21.398893 28.179408 0
-1 15 29.987269 20.65125 20.583967 28.777514 0
-1 16 30.695446 20.751024 19.720664 28.832866 0
-1 17 32.301494 19.466964 19.056719 29.174754 0.000069
-1 18 31.991424 19.465319 19.428886 29.114371 0
-1 19 31.223398 19.283091 20.843846 28.649665 0
-1 20 30.001159 20.431045 21.682439 27.885357 0
-1 21 30.268972 20.128608 21.518529 28.08389 0
-1 22 29.507609 20.991486 21.551678 27.949227 0
-1 23 29.228924 20.961638 22.202396 27.607042 0
-1 24 28.895271 21.140428 22.773371 27.190931 0
-1 25 30.220087 20.183506 21.007244 28.589163 0
-1 26 30.747733 19.55149 20.989765 28.711005 0.000006
-1 27 30.618992 19.162575 20.686703 29.531698 0.000031
-1 28 31.561628 19.651299 20.291748 28.495305 0.000019
-1 29 31.889741 19.244628 20.387671 28.477401 0.000559
-1 30 30.01585 20.370968 21.669604 27.943339 0.000239
-1 31 29.948939 20.187892 21.74697 28.116198 0
-1 32 29.83526 20.721207 21.226889 28.216644 0
-1 33 28.951574 21.118594 21.807089 28.122743 0
-1 34 29.250508 21.589012 20.80903 28.351444 0.000006
-1 35 29.741069 20.846087 21.339816 28.073028 0
-1 36 29.685575 20.657699 21.409349 28.247377 0
-1 37 30.435943 19.845352 21.605325 28.11328 0.0001
-1 38 31.52442 19.566381 20.859275 28.049918 0.000006
-1 39 31.915805 19.322889 20.315213 28.445698 0.000396
-1 40 31.415236 19.831291 20.60081 28.152663 0
-1 41 31.151606 20.007274 19.953602 28.887329 0.000188
-1 42 29.605015 21.700164 21.132809 27.561943 0.000069
-1 43 28.856192 21.690732 21.620633 27.832141 0.000302
-1 44 28.354815 21.89939 21.789262 27.956319 0.000214
-1 45 28.785938 21.376155 22.083299 27.443347 0.311262
-1 46 30.020967 20.974608 20.997153 28.006939 0.000333
-1 47 30.905677 19.834877 21.050285 28.209156 0.000006
-1 48 31.123254 20.025503 20.781792 28.068879 0.000572
-1 49 32.061167 19.135286 20.210972 28.592399 0.000176
-1 50 31.368968 19.831498 20.33522 28.464018 0.000295
-1 51 30.241493 20.530902 21.628272 27.599157 0.000176
-1 52 29.272115 21.228524 22.138875 27.360278 0.000208
-1 53 28.876831 20.985166 22.109191 28.028328 0.000484
-1 54 28.25128 21.263287 22.617006 27.868106 0.000321
-1 55 29.677859 20.048159 21.516525 28.756368 0.001089
-1 56 31.025964 19.638994 21.162354 28.1717 0.000988
-1 57 32.3089 19.022943 19.727314 28.939987 0.000856
-1 58 33.069967 18.780516 19.315424 28.832859 0.001234
-1 59 32.5634 19.018873 19.681712 28.735624 0.000391
-1 60 31.033388 19.63991 20.28236 29.043106 0.001235
-1 61 28.877884 21.063797 22.54864 27.508242 0.001437
-1 62 28.206236 21.933072 21.756687 28.103248 0.000757
-1 63 28.076144 21.765468 22.13245 28.025345 0.000593
-1 64 28.444021 21.930975 21.519278 28.105031 0.000694
-1 65 30.427586 20.515343 21.251214 27.804511 0.001345
-1 66 30.96119 20.454946 20.819432 27.764078 0.000354
-1 67 31.55559 19.752271 19.98091 28.7104 0.000829
-1 68 30.884355 19.787006 21.169721 28.158438 0.000481
-1 69 29.915794 19.951388 21.827419 28.302832 0.002566
-1 70 29.720163 20.878848 21.185973 28.214947 0.00007
-1 71 28.563014 21.296438 21.558676 28.580233 0.001639
-1 72 27.775812 22.725309 21.897851 27.599987 0.001041
-1 73 28.801882 22.042398 21.835818 27.319535 0.000367
-1 74 29.842933 21.375107 20.192959 28.587638 0.001363
-1 75 28.875221 21.990286 22.042923 27.09157 0
-
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/picard_CollectRnaSeqMetrics.txt
--- a/multiqc/test-data/picard_CollectRnaSeqMetrics.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,113 +0,0 @@
-## htsjdk.samtools.metrics.StringHeader
-# picard.analysis.CollectRnaSeqMetrics REF_FLAT=refFlat.tab STRAND_SPECIFICITY=NONE MINIMUM_LENGTH=500 CHART_OUTPUT=/tmp/tmpRJquSu/files/000/dataset_14.dat RRNA_FRAGMENT_PERCENTAGE=0.8 METRIC_ACCUMULATION_LEVEL=[ALL_READS] INPUT=picard_CollectRnaSeqMetrics_bam OUTPUT=/tmp/tmpRJquSu/files/000/dataset_15.dat ASSUME_SORTED=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    STOP_AFTER=0 VERBOSITY=INFO QUIET=false COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
-## htsjdk.samtools.metrics.StringHeader
-# Started on: Thu Dec 08 10:55:06 CET 2016
-
-## METRICS CLASS picard.analysis.RnaSeqMetrics
-PF_BASES PF_ALIGNED_BASES RIBOSOMAL_BASES CODING_BASES UTR_BASES INTRONIC_BASES INTERGENIC_BASES IGNORED_READS CORRECT_STRAND_READS INCORRECT_STRAND_READS PCT_RIBOSOMAL_BASES PCT_CODING_BASES PCT_UTR_BASES PCT_INTRONIC_BASES PCT_INTERGENIC_BASES PCT_MRNA_BASES PCT_USABLE_BASES PCT_CORRECT_STRAND_READS MEDIAN_CV_COVERAGE MEDIAN_5PRIME_BIAS MEDIAN_3PRIME_BIAS MEDIAN_5PRIME_TO_3PRIME_BIAS SAMPLE LIBRARY READ_GROUP
-48870 48712 0 38786 0 9926 0 0 0 0 0.796231 0 0.203769 0.796231 0.793657 0 0.91593 0.430026 0.235755 1.402829
-
-## HISTOGRAM java.lang.Integer
-normalized_position All_Reads.normalized_coverage
-0 0.313906
-1 0.333933
-2 0.365536
-3 0.344525
-4 0.371353
-5 0.378606
-6 0.518015
-7 0.51266
-8 0.500497
-9 0.690539
-10 0.829611
-11 0.784227
-12 0.825037
-13 0.730533
-14 0.73133
-15 0.693057
-16 0.873759
-17 0.774195
-18 0.721989
-19 0.791727
-20 0.697702
-21 0.698451
-22 0.568885
-23 0.689955
-24 0.580475
-25 0.602348
-26 0.657286
-27 0.600594
-28 0.48185
-29 0.478605
-30 0.646053
-31 0.689366
-32 0.740073
-33 0.695415
-34 0.708419
-35 0.714707
-36 0.707421
-37 0.793703
-38 0.84384
-39 0.819497
-40 0.982412
-41 1.172387
-42 1.28116
-43 1.379184
-44 1.416285
-45 1.32892
-46 1.248258
-47 1.308676
-48 1.085518
-49 1.006687
-50 0.851309
-51 0.693805
-52 0.672921
-53 0.684999
-54 0.62579
-55 0.529832
-56 0.546564
-57 0.566014
-58 0.615824
-59 0.565042
-60 0.547677
-61 0.642067
-62 0.83636
-63 0.937071
-64 1.057465
-65 1.168829
-66 1.375228
-67 1.489487
-68 1.530099
-69 1.287542
-70 1.442585
-71 1.347823
-72 1.424913
-73 1.468345
-74 1.796846
-75 1.79639
-76 1.747908
-77 1.76867
-78 1.773528
-79 1.670178
-80 1.740083
-81 1.809632
-82 2.019967
-83 2.201517
-84 2.150455
-85 2.327367
-86 2.261259
-87 1.929731
-88 1.936627
-89 1.80697
-90 1.789004
-91 1.642341
-92 1.408203
-93 1.159737
-94 0.990047
-95 0.697842
-96 0.377809
-97 0.243433
-98 0.218816
-99 0.223665
-100 0.225079
-
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_all.html
--- a/multiqc/test-data/report_all.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,5927 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_bismark.html
--- a/multiqc/test-data/report_bismark.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4682 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgRglgzgtghgJwNYH04BsIHMB2MCmOALiAFwAEoADugPZEpECeV+Z54iKWCcVAFiAA0HACZwicKPiJR2AbXmgAxrToJ2IAMQAmAGYB2fKIAcwsRLgKdOgAwBWeyYB0tgLoiQOOAU0BBTFxjcgBVHAgARwBXfHQmEABfERU1Wg0KbQAWAE4dbINbcxBxSQUARmzbTNcPDm9fDIDsHGC/GEgsKNooqDjE5JBVdU0tW1EdAGYJq08Sqwp5bIncl3dPerYMgBEIUXIAOXpyJtxEt1rB2hw9bHZQJnQ4MBHyACV8OFE5T2UqKAB3CBEZT8FCqKLEKAoR5gWKafZRdr4BDkWh6N4fL5FXaaSCwRCoDDNAjEIpEIHoTYcABC0HgyGOgTwhCI5AAyqoEPg5EkOFAfDRuQp5OA6QSUHMQOdeaL8cgUFAiLwcKI0EySSQKNQ6AxmKxcVweHxBLNLNJZMLQJKFmUyjZbAA2GrrHxUkAAeQQ2Ag3nQ5DA9CItBg5EVytE/UoxUs5VsJgm9h0zrqrs0nu9vvIQaooaVcBVZwuqmuty1gz+gOBoPBkOhTzhGQRSJRaIxn2+HHJREp/nVLKztHIAEkVRAAG67KIYci0qBRdA3Ij4dl5lUdkCKuDKJA+rCaVgIZQsoq/AFAkFgtDKcljql6DDSTwPJ6aACkbaxnhxGTx9NQYfzVUiVwDVIw3AVKTkBYRV/cVJWlBIgAA==\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_bowtie2SE.html
--- a/multiqc/test-data/report_bowtie2SE.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4645 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgRg9g7gLglgUwEwH0DOCUAcA2EYgBcABKLvijAJ5YJHHgCGATigObONYAWIANAwAmjGIwww09ANpTQAYwh5m9EAGIkABgCsANgAcAM35CRjaQEYAzEgCcNgCw7LAOg0DzGjXoDs38/dcAXQEQADtGAFs6EhAAZQBRYgiuWkFiAFdQuABHdIQcKhAAXwF5RQhlGNUDb0ZLLTljEGFRaW9LPRstbx1XAS09S297DQCNYIZwqJUEpPSceGSsVOLSkAUlFVUbPXMbPaaWsxIpevNdFzdiJGHPPSCQqeiGWdD8YkYcODZQhEFiwITdYQUIGb70UBUHCMMBbYgAJQQjEEkhC8BgOGeIAAQtB4AhrsRZgBBL4/KKhGBEhTMBCohhyLBoKBwGBybgoBSZCQoaFgfIqABy6Qi/OYxAgBgRSJRTTg/xikFgiFQGGweAIJQYaEiuDp0ik4DxKoS5iaSvxSASSBAgKKRSAAA=\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_cutadapt.html
--- a/multiqc/test-data/report_cutadapt.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4650 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_fastqc.html
--- a/multiqc/test-data/report_fastqc.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,5477 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_fastqc_2.html
--- a/multiqc/test-data/report_fastqc_2.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,5477 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_featurecounts.html
--- a/multiqc/test-data/report_featurecounts.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4656 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgZgpghgLgrgJwgYQPZwHYwM4H0rbYCWA5hgLYRa4AOANqjCAFwAEo9juMAnjRC1YgARlAS4SCKDQAWIADRCAJrAIQcggNqbQKmFC0BmAEwBGAOwBOcwDoADIoAsjgKx3Tx+4sOXHlgBymXqyOhuaO/i7Bhv6B5nbBrj7GlvYAuoogGFCUgiAAgoSkGBBKIAC+irqqWsaG9dGOxo7RHkEOrIYAbJaeHcbm/n3eLi4tdhlC2blsIACq2UVkpbj55MKkcES8FVUgegZsmqaWHobBxi4p5/2X/gkdJ5Z2tv2mpl3jinUuDROZ0wEswWBGIyyUuAAsnA6DAiJDpDQiBgSLt2Psakd3tjXooPi5Bl1gh5LF1PsTHF0TLjWKYTHYqcSunZ7lF/lMckChCCliUIQA5VAAMWg8CQ2AqaUmIAAxqgMGBSIJQDw6FBhHkAMSsABK0CUEsyMpo2AA7tsZTJcHLMDhcGrhBA6Hl+XB1hAEKxUGBdfrDUIiGVZpBYIgUOgsHhQcVKNROExMnCYHQueBRWG0LbsKxCmCKFQNJUhNgcvQIBKjpoQPE2AAVVA0AASsC9GFYB1pig7jkUUAwSnbqk6bCgMplEBoMBWMm2/urLjrDebMFbg/0nbXUFYXV7/c3rAXrFH48n09nCiE90XTZb8v3pi7Q/8u4HHfMI7HE6nEJnGkykWvZdVw7B97w6PtXyHSwPxPb9cF/OdnkA282xAx91w8F971MGCvzPP8hEsQ96xvFc7zQ+8eyPPcQMMXDTx/c8pXKcogAAA=\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGA'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_htseq.html
--- a/multiqc/test-data/report_htseq.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4656 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgFgLgzgpgjgfQIZSgSwOYDsC2MsQIAOANgPYQgBcABKKRQhAJ5EzU0gBGSATghl5IiYEABpOAEyQQUMaBwDai0NNlKADADoNAXQkgsSPBxABBVJiwxJIAL4TVMpJp37ORk7XM4umAK5k/lD2jiBqLrSK2noGnuzeZiRWeAQ0AHIUNACqWGhw/uwOdOHOSgCMAJxuccYJnJk0AGIwMv68RWERrrEedaYAKmRkNAAyZADuNEgAiv5IJKEl3VHlAMxrAGw1fV4NWUlWNva67iAAxmRYAGaYHKDMJEhcpgDENABKrZIhBmBokhgCAAXjBeGQEOcZCFaNcFrADOciFAJmgIOcwJCggQoAgnlwYItvOl/L4wTQyNdPt9fpwAaZILBECh0NhUoQGJQDBA0SR6iAABIDADK8BoAGFsRAaBZWbh8ApiiAoMZSDAYTRlOBoPAEN1TnY7EAAAA==\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAs'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_picard.html
--- a/multiqc/test-data/report_picard.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4826 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_rnastar_counts.html
--- a/multiqc/test-data/report_rnastar_counts.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4586 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgzgLghgTg+gcwKYDslwMYHsCuKJggBcABKAA4A2WEcEAnuUsSSAEayIxTkAWIAGlYATKNDBICLANrTQ2ajBYgAxACYAZgHYkwgByCRYqDICcpgHQAGALpCQKKAFtmpEAHkAbkhiUe5AEsUBBIAcVQkQgBfIXksRWUVDTU9DQAWAGZDEFFoGQBGaztWRxdlAFkcSggAp38ghBAo4rkQBSwlN3VtXQN7XJNSaTS9IvtS11YvHz9yQOCwiOjYtviOxKthNQyMk37jGQBWQttx50mQADksEgAxJDEcGGYYslWEruTUzOyBgrGSucKlUanU5g0mi04h9WN0dPpfgchscAQ4gW5pr56gtwmhlm92p1YZttrtEXkhiNURNlNc7g8IE8XitCYkvuksvsKSRpCdimiym5KtVatjGs1+dgUBoAo1SKB6H42IkSAAlB7CQj2DDkMAAdwCEAwvEwuHwYDgSqQlFpOCcbB8JCwGjVGq1rACwmUkE4yDQprwUi5UEtUAdlEIQxAAFUUJBuChhLpsgBlc4kFMQBNJr32dXeGASDNZqCJ5P8moQSgXFMAFQAgqrFmgSABhM1SV7gZxUSIyaQgGCOH1KFqD4fQUdCAdDqAjkA2GxRKJAAA\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwA'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_rnastar_log.html
--- a/multiqc/test-data/report_rnastar_log.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4658 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgzgLghgTg+lANgSwOYDsC2BTdE4AOiA9hCAFwAEoRpcEAngdhZSAEaxyoxQEAWIADRsAJlGhhsEMKwDac0AGNiJGKxABiACwBmAOzt2ARmFiJUeQA4AnADoADAF0RIdFBwaAqumQBHAFdsRAZKTD5mURAAXxFlVWJ1Ki19JXYAVmwlMxBxaHljRxc2d09kgFkI7FFKCGIwgMQIZCJsShIlZBi4kBU1DU0TByttbNc8yyo5Ywci11KWZJ9wgkiqOvqwfkSyaKdi3uJ0ADM0VlAGRCh2AcoAJWwoUVlXJQIwAHdkCCV+OBUAngwHAruxghoAHIBTBgmCUYjHe6PZ45ZBRZKQLhINBYXD4WhkVzNCCIRZsADKABUAIJ3SjUlAYHB4SjklQwbCyWJsMAeVqyKZyEAwdyY+AkVAgfbRaJAAA==\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAsJCROZVLF/ptNz3F/rgboy67oOZHp7z0T'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_samtools.html
--- a/multiqc/test-data/report_samtools.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4747 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'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\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_samtools_idxstats.html
--- a/multiqc/test-data/report_samtools_idxstats.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4605 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgzghgtgLg9nANmAtASwCYA8wwjVLATxQAdE4YQAuAAlHMoH0YjSBTG2kAIwgCcmAc34RSACxAAabhnwQw7AlwDaK0HLyqArAAYAbAA5dugHS6AujJAA7aJzogAwuP5wocMO/a0AGiABfGQ15VQBGAGYAJjCATjNLazsoB24XNw8vFNoATUCLK24AYzgbADM0IS5QItIwAHc0GCLxJhKAVxsCJkQIHnZELhAAOXaofv5aODLaACV2CAwwaW4YJsRUkABlaHgkMFpMHDwCWhRaFv5fHNooMQ4MWn4FpZXwPCKAazQbKscOfhFdhdN61BpNFpMAFAro9PoDIYABXYgOBMCmM18AGobvNFstrGDGs1WkUmBAimsAG6pMoQZDsaxEXo8JEomHo6Z+HFzF4E7iYIaQWAIZDobC4fCEEiMKhBbjC8jsZZ0NTgXaisBMI6S5QFeXqkX7cXHKUoO6kB4oZ74sgUKh0Bj2lhsTbEHo/TjWTQKJQq2hqEJaVUJfSRfS6CJh/T6KKx2OxfQyBIAFhMUW0kUzEW02gA7PoIrFk+Yc5GI7FDBE4voU4YMyXdJmY9oUxn9HoojEoinGxE8/2Iimwl204m273aAk82mq3mq4YjLE85XG1Fl1Xonm4sPDCmjJOElF64Y83H13G00Oh2u8/PDLFYkPC5GwmE82uO4ZvwWC0Z59oxZTuYYT6PEUYDsYhYDk2EQlmEdZ3ouYR6ChgGVkBCR6EWKYrghUTRLosS5o2+45nE0RVomhiRKBpG7v2hjaIWy76AOUSkfWw53nmraxChXYccBugphEkYEYmj5gcRzGNsxPbMW+KaxD2i5RLxjbbg+YE9kRYSLq22h9vpElpro77qREQ6HuYuhViYZ5DgRMRhE2SbCe+eiSbxA45iRwnmdEgG5oWNFifEGkBSOK5tto/YGLGp45oUtj2EKGr7NqEonMsASFOoIA+qoy7btuMjQWmRm0LmK6tjI9bqfOMjBe+7lviuK5wbQuGiZGMgpnouGGP1sWif1BGiWEMhxvxT7TVGT7vvVugZmNtCQaBugyHm5bRNtRjtuVTHru5D75vpMhKcpbHNQYxhbbQkQxPE033imk4uXRtBRJGvEpckmzCnsyBZaayh5SlJTlJU1QgFgLJDOk7ieN4tDDGl1hrDAGxDDsRrIIc2VSmctAALL3Owjw2kstAAhcpRrFU3ryHC/TIKooDMn0QwAGKiJSaClBitDwHgiD050VBJGljjDHA/B3IgaCKI8ThwJLuXBCAXOso4ADEtwU1TfJvADiPq10uUpTAMCswijgADy4G4vwAHzAKQcA/DAphFPg7BCPLRABNQDsAPTO6UQiu/Qnve6YRDUKYURlAEbw60MBsWg8Twm9YgqOEDmomrqqDZ5T1p8nalCgv7gf8GgyqqCAYRvK5bet9YI5txEbcpm32ht/obd5m3hht7EbxRG8vfWP31iD9Yw/WKP1jj9Yk/WP41h5NYABSAAS2h7mJKamJ33AAOIADIDSxUTn28N930W+iPxYASf0AAAA=\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bvhYivhYivhYivhYivhYivhYivhYiwBUiwRQhwRQhwxIh3gEdyBAgQGs2KHs6KXo6KXo5JX06BZI/AJhAAJdAAJdAAJc/AJc+AJc+AJc+AJc8AJ0pBo9XFHyUFnqbFnqaGXemHXG5H2/AHXG5HXG5HXG5HXG4HXG4HXG4HXG4HXG4HXG4HXG4HR0b////FByqhAAAAKp0Uk5TAAAAAAAAAAAAAAESGBcRBgoJnNPQ0rQcWVoLwPtXAqFuv5Mk3NoibP79XQSo+vSbAyzj9+7H4Cl18s7wifFjB7C9nryjBTTpdJFQgOYvfe04Nexot6yXYrKrPeo2heIromkq4ZlrpbFRtW1k/MjUHbuY9ktSw8R673h3M2ETOj08FhiRvLi6aAIJMEtKSkkzBzyxurm6sTkBEj1JSUEeAmq9vL6UHQcWFwlLDobJAAAAAWJLR0SryQFnKAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAa5JREFUOMut0tdXE0EYBfD9QBRIIgkEDZDQhUBQAgGlBCIlSlGqSlFBVKoiSu8oHQWpIhaUpuD9K50JOXlgJm/cp2/u+Z3dnZ1RFApUqTUa9eVAUk5DQRoWtdaz1gWH6PWhV656CoOeJTTMsw6PAIvR5C4oMoqvEe0B2hhXEet+B8XFy8G1BDdINMtBUrKrIUsKJOD6DSDVyitKS4fZZj4LMjKBm7dcIAvIzhGekGvPgzmfVeS4DRQUCsBmKgKKnaTQnbtASakAjGXlwL37RFQBVFbFCiDJUF0D1BJpHwAPHY/EbdZZ6oEGBzVmcJcqglr+9Y+f0FOgqZmeiaCFnr9gZTibX1qtDSJoJWsb0N6RDaOBHJ0i6CJ69RqV3cCbHtK9lYKeEID9YjuRrkgK6B0/o94+b0ChfhsbBlTegWqQDUMkANeV44DswHAjG84Ap2FkdHSMn2Rz1sg4u8xkMbmb88nE5JSXvP/g48PA9MzsnDzzC4u+DFxY+vhpWZqVz6trfkz4rW9sbknzZfvrRQ52vn3/Ic/P3V+XmPD/vbd/IM/h0R++kYC/x95y8u8/kOgi2/X4mGIAAAAldEVYdGRhdGU'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/report_tophat.html
--- a/multiqc/test-data/report_tophat.html Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4656 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-\n-  \n-\n-<meta charset="utf-8">\n-<meta http-equiv="X-UA-Compatible" content="IE=edge">\n-<meta name="viewport" content="width=device-width, initial-scale=1">\n-\n-<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n-<meta name="author" content="MultiQC">\n-<title>MultiQC Report</title>\n-\n-<!-- JSON plot data -->\n-<script type="text/javascript">\n-mqc_compressed_plotdata = \'N4IgLg9gDgFghmA+nANgSwOYDsC2BTLMEALgAJQoUIkwBPKPE0kAIzgCdEN25YQAaZgBMEcAM54wYpgG0ZoAMYQq7JiADEAFgDMAdhYsAjAOGjZ2gAy7d27QDoLAXUEgscfGoCC6bHiEgAX0FFZQhVMg0AM104bQBWBRMQETA4WTiANm0ADgdnZjcPCIBZAFcUMDQcXgZ/IPIQJRU1dTwszQBOYxcUtLIZbU08l0LGCIARNDEldhFCUmqoKDQsDGl6kOaI9V1Ii32LJN7ZACYO7Ljhgvcx5gA5alJUTCw/QMd8xogsSMwmUFoKDgLBapAASng4EJpC4FFAxAB3NBgBQwRBKUqEMSIIEsPAoNR3Uo4PHsUgQSLgyHQpJofwRSCwBDIHy4AhEFyVMAoW4gAAq0HgYFI3he+HmAGUZnh1i4xO5KDLZDJwILmccPgEAkAAA=\';\n-num_datasets_plot_limit = 50;\n-mqc_sample_names_rename = [];\n-</script>\n-\n-  \n-\n-<!-- Favicon includes -->\n-<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n-<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAsJCROZVLF/ptN'..b'-6">\n-              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-            <div class="col-sm-6">\n-              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n-                <option value="">Select Column</option>\n-              </select>\n-            </div>\n-          </div>\n-          <div class="hc-plot-wrapper">\n-            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n-              <small>Please select two table columns.</small>\n-            </div>\n-          </div>\n-        </form>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-\n-\n-<!-- Regex Help Modal -->\n-<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n-  <div class="modal-dialog" role="document">\n-    <div class="modal-content">\n-      <div class="modal-header">\n-        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n-        <h3 class="modal-title">Regex Help</h3>\n-      </div>\n-      <div class="modal-body">\n-        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n-        <div class="row">\n-          <div class="col-sm-6 regex_example_buttons">\n-            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n-            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n-            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n-            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n-            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n-            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n-            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n-            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n-            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n-            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n-            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n-            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n-          </div>\n-          <div class="col-sm-6 regex_example_demo">\n-            <input type="text" class="form-control" />\n-<pre>\n-<span>samp_1</span>\n-<span>samp_1_edited</span>\n-<span>samp_2</span>\n-<span>samp_2_edited</span>\n-<span>samp_3</span>\n-<span>samp_3_edited</span>\n-<span>prepended_samp_1</span>\n-<span>tmp_samp_1_edited</span>\n-<span>tmpp_samp_1_edited</span>\n-<span>tmppp_samp_1_edited</span>\n-<span>#samp_1_edited.tmp</span>\n-<span>samp_11</span>\n-<span>samp_11111</span>\n-</pre>\n-            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n-          </div>\n-        </div>\n-      </div>\n-      <div class="modal-footer">\n-        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n-      </div>\n-    </div>\n-  </div>\n-</div>\n-\n-</body>\n-</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/rnastar_counts.txt
--- a/multiqc/test-data/rnastar_counts.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,5 +0,0 @@
-N_unmapped 0 0 0
-N_multimapping 1 1 1
-N_noFeature 0 51 48
-N_ambiguous 0 0 0
-GENE1 99 48 51
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/rnastar_log.txt
--- a/multiqc/test-data/rnastar_log.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,34 +0,0 @@
-                                 Started job on | Mar 01 15:53:05
-                             Started mapping on | Mar 01 15:53:08
-                                    Finished on | Mar 01 15:53:08
-       Mapping speed, Million of reads per hour | inf
-
-                          Number of input reads | 100
-                      Average input read length | 75
-                                    UNIQUE READS:
-                   Uniquely mapped reads number | 89
-                        Uniquely mapped reads % | 89.00%
-                          Average mapped length | 74.80
-                       Number of splices: Total | 47
-            Number of splices: Annotated (sjdb) | 0
-                       Number of splices: GT/AG | 47
-                       Number of splices: GC/AG | 0
-                       Number of splices: AT/AC | 0
-               Number of splices: Non-canonical | 0
-                      Mismatch rate per base, % | 1.73%
-                         Deletion rate per base | 0.00%
-                        Deletion average length | 0.00
-                        Insertion rate per base | 0.00%
-                       Insertion average length | 0.00
-                             MULTI-MAPPING READS:
-        Number of reads mapped to multiple loci | 1
-             % of reads mapped to multiple loci | 1.00%
-        Number of reads mapped to too many loci | 0
-             % of reads mapped to too many loci | 0.00%
-                                  UNMAPPED READS:
-       % of reads unmapped: too many mismatches | 0.00%
-                 % of reads unmapped: too short | 10.00%
-                     % of reads unmapped: other | 0.00%
-                                  CHIMERIC READS:
-                       Number of chimeric reads | 0
-                            % of chimeric reads | 0.00%
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/samtools_flagstat.txt
--- a/multiqc/test-data/samtools_flagstat.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,13 +0,0 @@
-21040602 + 0 in total (QC-passed reads + QC-failed reads)
-0 + 0 secondary
-0 + 0 supplementary
-5448463 + 0 duplicates
-20689039 + 0 mapped (98.33%:-nan%)
-0 + 0 paired in sequencing
-0 + 0 read1
-0 + 0 read2
-0 + 0 properly paired (-nan%:-nan%)
-0 + 0 with itself and mate mapped
-0 + 0 singletons (-nan%:-nan%)
-0 + 0 with mate mapped to a different chr
-0 + 0 with mate mapped to a different chr (mapQ>=5)
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/samtools_idxstats.txt
--- a/multiqc/test-data/samtools_idxstats.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,67 +0,0 @@
-1 195471971 977171 0
-10 130694993 637405 0
-11 122082543 557954 0
-12 120129022 822778 0
-13 120421639 595176 0
-14 124902244 1179793 0
-15 104043685 474303 0
-16 98207768 450478 0
-17 94987271 442543 0
-18 90702639 423431 0
-19 61431566 269193 0
-2 182113224 2369317 0
-3 160039680 802543 0
-4 156508116 738160 0
-5 151834684 703632 0
-6 149736546 768256 0
-7 145441459 685296 0
-8 129401213 895718 0
-9 124595110 1144967 0
-MT 16299 141 0
-X 171031299 506800 0
-Y 91744698 132190 0
-JH584299.1 953012 2185 0
-GL456233.1 336933 1053 0
-JH584301.1 259875 303 0
-GL456211.1 241735 2348 0
-GL456350.1 227966 283 0
-JH584293.1 207968 236 0
-GL456221.1 206961 2196 0
-JH584297.1 205776 366 0
-JH584296.1 199368 368 0
-GL456354.1 195993 591 0
-JH584294.1 191905 313 0
-JH584298.1 184189 277 0
-JH584300.1 182347 230 0
-GL456219.1 175968 622 0
-GL456210.1 169725 1661 0
-JH584303.1 158099 214 0
-JH584302.1 155838 185 0
-GL456212.1 153618 1979 0
-JH584304.1 114452 278844 0
-GL456379.1 72385 210 0
-GL456216.1 66673 341 0
-GL456393.1 55711 629 0
-GL456366.1 47073 244 0
-GL456367.1 42057 245 0
-GL456239.1 40056 214 0
-GL456213.1 39340 99 0
-GL456383.1 38659 848 0
-GL456385.1 35240 155 0
-GL456360.1 31704 165 0
-GL456378.1 31602 444 0
-GL456389.1 28772 6166 0
-GL456372.1 28664 211 0
-GL456370.1 26764 502 0
-GL456381.1 25871 55 0
-GL456387.1 24685 156 0
-GL456390.1 24668 780 0
-GL456394.1 24323 114 0
-GL456392.1 23629 21116 0
-GL456382.1 23158 57 0
-GL456359.1 22974 85 0
-GL456396.1 21240 20375 0
-GL456368.1 20208 319 0
-JH584292.1 14945 85 0
-JH584295.1 1976 4 0
-* 0 0 274008
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/samtools_stats.txt
--- a/multiqc/test-data/samtools_stats.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,9736 +0,0 @@\n-# This file was produced by samtools stats (1.2+htslib-1.2.1) and can be plotted using plot-bamstats\n-# The command line was:  stats --coverage 1,1000,1 --GC-depth 20000.0 --insert-size 8000 --most-inserts 0.99 --trim-quality 0 --ref-seq /omaha-beach/cloud_26/files/000/dataset_20.dat /omaha-beach/cloud_26/files/000/dataset_114.dat\n-# CHK, Checksum\t[2]Read Names\t[3]Sequences\t[4]Qualities\n-# CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)\n-CHK\t7742088d\t2cf80e59\t99341a6a\n-# Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n-SN\traw total sequences:\t641821\n-SN\tfiltered sequences:\t0\n-SN\tsequences:\t641821\n-SN\tis sorted:\t1\n-SN\t1st fragments:\t320981\n-SN\tlast fragments:\t320840\n-SN\treads mapped:\t641821\n-SN\treads mapped and paired:\t638746\t# paired-end technology bit set + both mates mapped\n-SN\treads unmapped:\t0\n-SN\treads properly paired:\t635626\t# proper-pair bit set\n-SN\treads paired:\t641821\t# paired-end technology bit set\n-SN\treads duplicated:\t0\t# PCR or optical duplicate bit set\n-SN\treads MQ0:\t70\t# mapped and MQ=0\n-SN\treads QC failed:\t0\n-SN\tnon-primary alignments:\t12111\n-SN\ttotal length:\t64823921\t# ignores clipping\n-SN\tbases mapped:\t64823921\t# ignores clipping\n-SN\tbases mapped (cigar):\t64823921\t# more accurate\n-SN\tbases trimmed:\t0\n-SN\tbases duplicated:\t0\n-SN\tmismatches:\t275405\t# from NM fields\n-SN\terror rate:\t4.248509e-03\t# mismatches / bases mapped (cigar)\n-SN\taverage length:\t101\n-SN\tmaximum length:\t101\n-SN\taverage quality:\t26.0\n-SN\tinsert size average:\t719.7\n-SN\tinsert size standard deviation:\t1223.0\n-SN\tinward oriented pairs:\t317512\n-SN\toutward oriented pairs:\t1294\n-SN\tpairs with other orientation:\t30\n-SN\tpairs on different chromosomes:\t0\n-# First Fragment Qualitites. Use `grep ^FFQ | cut -f 2-` to extract this part.\n-# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n-FFQ\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t113\t0\t0\t0\t0\t320725\t143\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t4\t320810\t71\t91\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t3\t320877\t25\t75\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t5\t320905\t26\t44\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t8\t320816\t67\t86\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t8\t320839\t42\t84\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t6\t320867\t57\t47\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t8\t320845\t59\t64\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t9\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t2\t320851\t46\t78\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t10\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t4\t320836\t57\t77\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t11\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t7\t0\t0\t0\t0\t7\t320849\t46\t67\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t12\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t8\t320812\t80\t78\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t13\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t9\t320826\t56\t82\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t14\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t1\t0\t0\t0\t10\t320774\t77\t107\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t15\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t8\t0\t0\t0\t0\t7\t320808\t60\t95\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t16\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t7\t1\t0\t0\t0\t12\t320786\t68\t101\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t17\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t8\t320758\t89\t116\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t18\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t6\t0\t0\t0\t0\t9\t320768\t86\t106\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t19\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t0\t0\t12\t320795\t77\t91\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t20\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t8\t0\t0\t0\t0\t11\t320739\t99\t110\t14\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t16\t320681\t115\t143\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n-FFQ\t22\t0\t0\t0\t0\t'..b'92-892]\t892\t9\n-COV\t[893-893]\t893\t9\n-COV\t[894-894]\t894\t12\n-COV\t[895-895]\t895\t16\n-COV\t[896-896]\t896\t10\n-COV\t[897-897]\t897\t8\n-COV\t[898-898]\t898\t8\n-COV\t[899-899]\t899\t11\n-COV\t[900-900]\t900\t7\n-COV\t[901-901]\t901\t15\n-COV\t[902-902]\t902\t13\n-COV\t[903-903]\t903\t17\n-COV\t[904-904]\t904\t9\n-COV\t[905-905]\t905\t8\n-COV\t[906-906]\t906\t13\n-COV\t[907-907]\t907\t10\n-COV\t[908-908]\t908\t8\n-COV\t[909-909]\t909\t13\n-COV\t[910-910]\t910\t7\n-COV\t[911-911]\t911\t9\n-COV\t[912-912]\t912\t8\n-COV\t[913-913]\t913\t9\n-COV\t[914-914]\t914\t8\n-COV\t[915-915]\t915\t9\n-COV\t[916-916]\t916\t6\n-COV\t[917-917]\t917\t9\n-COV\t[918-918]\t918\t7\n-COV\t[919-919]\t919\t9\n-COV\t[920-920]\t920\t8\n-COV\t[921-921]\t921\t13\n-COV\t[922-922]\t922\t5\n-COV\t[923-923]\t923\t5\n-COV\t[924-924]\t924\t5\n-COV\t[925-925]\t925\t7\n-COV\t[926-926]\t926\t10\n-COV\t[927-927]\t927\t6\n-COV\t[928-928]\t928\t21\n-COV\t[929-929]\t929\t10\n-COV\t[930-930]\t930\t10\n-COV\t[931-931]\t931\t7\n-COV\t[932-932]\t932\t12\n-COV\t[933-933]\t933\t14\n-COV\t[934-934]\t934\t14\n-COV\t[935-935]\t935\t7\n-COV\t[936-936]\t936\t12\n-COV\t[937-937]\t937\t13\n-COV\t[938-938]\t938\t10\n-COV\t[939-939]\t939\t12\n-COV\t[940-940]\t940\t18\n-COV\t[941-941]\t941\t11\n-COV\t[942-942]\t942\t10\n-COV\t[943-943]\t943\t6\n-COV\t[944-944]\t944\t12\n-COV\t[945-945]\t945\t12\n-COV\t[946-946]\t946\t8\n-COV\t[947-947]\t947\t12\n-COV\t[948-948]\t948\t10\n-COV\t[949-949]\t949\t5\n-COV\t[950-950]\t950\t9\n-COV\t[951-951]\t951\t16\n-COV\t[952-952]\t952\t13\n-COV\t[953-953]\t953\t15\n-COV\t[954-954]\t954\t15\n-COV\t[955-955]\t955\t8\n-COV\t[956-956]\t956\t15\n-COV\t[957-957]\t957\t18\n-COV\t[958-958]\t958\t9\n-COV\t[959-959]\t959\t21\n-COV\t[960-960]\t960\t14\n-COV\t[961-961]\t961\t17\n-COV\t[962-962]\t962\t9\n-COV\t[963-963]\t963\t14\n-COV\t[964-964]\t964\t6\n-COV\t[965-965]\t965\t5\n-COV\t[966-966]\t966\t13\n-COV\t[967-967]\t967\t12\n-COV\t[968-968]\t968\t13\n-COV\t[969-969]\t969\t10\n-COV\t[970-970]\t970\t13\n-COV\t[971-971]\t971\t8\n-COV\t[972-972]\t972\t13\n-COV\t[973-973]\t973\t12\n-COV\t[974-974]\t974\t14\n-COV\t[975-975]\t975\t9\n-COV\t[976-976]\t976\t12\n-COV\t[977-977]\t977\t4\n-COV\t[978-978]\t978\t14\n-COV\t[979-979]\t979\t6\n-COV\t[980-980]\t980\t12\n-COV\t[981-981]\t981\t5\n-COV\t[982-982]\t982\t8\n-COV\t[983-983]\t983\t4\n-COV\t[984-984]\t984\t9\n-COV\t[985-985]\t985\t9\n-COV\t[986-986]\t986\t10\n-COV\t[987-987]\t987\t8\n-COV\t[988-988]\t988\t4\n-COV\t[989-989]\t989\t6\n-COV\t[990-990]\t990\t3\n-COV\t[991-991]\t991\t5\n-COV\t[992-992]\t992\t2\n-COV\t[993-993]\t993\t6\n-COV\t[994-994]\t994\t6\n-COV\t[995-995]\t995\t7\n-COV\t[996-996]\t996\t14\n-COV\t[997-997]\t997\t12\n-COV\t[998-998]\t998\t7\n-COV\t[999-999]\t999\t8\n-COV\t[1000-1000]\t1000\t8\n-COV\t[1000<]\t1000\t5025\n-# GC-depth. Use `grep ^GCD | cut -f 2-` to extract this part. The columns are: GC%, unique sequence percentiles, 10th, 25th, 50th, 75th and 90th depth percentile\n-GCD\t0.0\t0.554\t0.000\t0.000\t0.000\t0.000\t0.000\n-GCD\t0.5\t0.831\t0.525\t0.525\t0.525\t0.525\t0.525\n-GCD\t36.0\t1.385\t0.954\t0.954\t0.954\t1.490\t1.490\n-GCD\t37.0\t2.216\t2.495\t2.495\t4.146\t6.560\t6.560\n-GCD\t38.0\t5.263\t0.247\t0.454\t3.520\t5.868\t9.883\n-GCD\t39.0\t9.141\t0.177\t0.303\t2.161\t8.777\t12.812\n-GCD\t40.0\t12.188\t0.020\t1.192\t9.060\t22.018\t27.371\n-GCD\t41.0\t16.343\t0.035\t0.550\t2.702\t11.469\t12.908\n-GCD\t42.0\t21.884\t0.010\t0.172\t2.121\t5.621\t17.094\n-GCD\t43.0\t28.255\t0.010\t0.328\t1.449\t4.277\t10.166\n-GCD\t44.0\t36.288\t0.162\t0.394\t5.484\t15.145\t50.490\n-GCD\t45.0\t42.105\t0.020\t0.131\t1.252\t7.009\t17.811\n-GCD\t46.0\t49.861\t0.015\t0.121\t0.636\t1.939\t37.506\n-GCD\t47.0\t56.510\t0.030\t0.141\t1.015\t4.500\t6.338\n-GCD\t48.0\t64.543\t0.010\t0.091\t2.565\t7.287\t21.872\n-GCD\t49.0\t68.975\t0.010\t0.333\t0.672\t10.751\t27.129\n-GCD\t50.0\t73.407\t0.010\t0.121\t1.358\t3.883\t6.615\n-GCD\t51.0\t77.008\t0.121\t0.576\t1.576\t4.363\t13.923\n-GCD\t52.0\t81.994\t0.010\t0.086\t1.560\t4.414\t109.383\n-GCD\t53.0\t84.488\t0.040\t0.071\t0.500\t3.025\t31.234\n-GCD\t54.0\t86.704\t0.020\t0.313\t9.332\t39.683\t203.959\n-GCD\t55.0\t89.197\t0.005\t0.051\t1.268\t5.045\t23.578\n-GCD\t56.0\t91.136\t0.071\t0.192\t1.566\t9.994\t33.315\n-GCD\t57.0\t94.460\t0.040\t0.348\t1.167\t5.050\t11.660\n-GCD\t58.0\t95.845\t0.131\t0.131\t1.899\t2.742\t4.929\n-GCD\t59.0\t96.399\t3.313\t3.313\t3.313\t3.666\t3.666\n-GCD\t60.0\t97.507\t0.995\t0.995\t5.176\t6.954\t33.234\n-GCD\t61.0\t98.338\t1.591\t1.591\t1.788\t4.848\t4.848\n-GCD\t62.0\t98.892\t3.171\t3.171\t3.171\t7.343\t7.343\n-GCD\t63.0\t99.446\t0.530\t0.530\t0.530\t6.403\t6.403\n-GCD\t64.0\t100.000\t1.025\t1.025\t1.025\t4.585\t4.585\n'
b
diff -r 4612d775965f -r c503e1c1fbad multiqc/test-data/tophat_data.txt
--- a/multiqc/test-data/tophat_data.txt Thu May 25 17:49:13 2017 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,14 +0,0 @@
-Left reads:
-          Input     :    316390
-           Mapped   :    314921 (99.5% of input)
-            of these:      5715 ( 1.8%) have multiple alignments (0 have >20)
-Right reads:
-          Input     :    316390
-           Mapped   :    314789 (99.5% of input)
-            of these:      5707 ( 1.8%) have multiple alignments (0 have >20)
-99.5% overall read mapping rate.
-
-Aligned pairs:    313405
-     of these:      5638 ( 1.8%) have multiple alignments
-                      34 ( 0.0%) are discordant alignments
-99.0% concordant pair alignment rate.
b
diff -r 4612d775965f -r c503e1c1fbad readme.rst
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/readme.rst Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,36 @@
+========================
+Galaxy multiqc wrapper
+========================
+
+Aggregate results from bioinformatics analyses across many samples into a single report
+
+MultiQC searches a given directory for analysis logs and compiles a HTML report. It's a general use tool, perfect for summarising the output from numerous bioinformatics tools.
+
+============
+Installation
+============
+
+Requirements: pkg-config
+
+Conda recipe: A conda recipe exists in bioconda repository. If you have a recent Galaxy release, the packages installation is not mandatory.
+
+================
+MultiQC webpage
+================
+
+Important: For a good view of multiqc webpage, you need to deactivate the sanitize_all_html option in galaxy.ini
+
+  sanitize_all_html = False
+
+=======
+History
+=======
+
+ * v1.0.0.0 Update to multiQC 1.0, add additional supported tools
+ * v0.6:        Initial public release
+
+==========
+Citation
+==========
+
+Created by EnginesOn company
b
diff -r 4612d775965f -r c503e1c1fbad test-data/CollectInsertSizeMetrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/CollectInsertSizeMetrics.txt Thu May 25 17:51:17 2017 -0400
[
@@ -0,0 +1,737 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.analysis.CollectInsertSizeMetrics HISTOGRAM_FILE=/omaha-beach/cloud_26/files/000/dataset_199.dat DEVIATIONS=10.0 MINIMUM_PCT=0.05 METRIC_ACCUMULATION_LEVEL=[ALL_READS] INPUT=/omaha-beach/cloud_26/files/000/dataset_197.dat OUTPUT=/omaha-beach/cloud_26/files/000/dataset_198.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Mon May 23 09:33:00 UTC 2016
+
+## METRICS CLASS picard.analysis.InsertSizeMetrics
+MEDIAN_INSERT_SIZE MEDIAN_ABSOLUTE_DEVIATION MIN_INSERT_SIZE MAX_INSERT_SIZE MEAN_INSERT_SIZE STANDARD_DEVIATION READ_PAIRS PAIR_ORIENTATION WIDTH_OF_10_PERCENT WIDTH_OF_20_PERCENT WIDTH_OF_30_PERCENT WIDTH_OF_40_PERCENT WIDTH_OF_50_PERCENT WIDTH_OF_60_PERCENT WIDTH_OF_70_PERCENT WIDTH_OF_80_PERCENT WIDTH_OF_90_PERCENT WIDTH_OF_99_PERCENT SAMPLE LIBRARY READ_GROUP
+194 63 100 5331452 271.809759 196.076488 311788 FR 25 47 69 91 127 343 941 1515 2585 16663
+
+## HISTOGRAM java.lang.Integer
+insert_size All_Reads.fr_count
+100 2
+101 117
+102 424
+103 390
+104 376
+105 335
+106 360
+107 343
+108 353
+109 386
+110 349
+111 368
+112 445
+113 459
+114 470
+115 512
+116 478
+117 520
+118 558
+119 599
+120 603
+121 600
+122 696
+123 703
+124 657
+125 747
+126 734
+127 753
+128 820
+129 880
+130 923
+131 931
+132 953
+133 1006
+134 1086
+135 1134
+136 1177
+137 1280
+138 1381
+139 1419
+140 1494
+141 1625
+142 1697
+143 1838
+144 1899
+145 1957
+146 2197
+147 2214
+148 2276
+149 2450
+150 2557
+151 2523
+152 2619
+153 2591
+154 2575
+155 2745
+156 2756
+157 2716
+158 2765
+159 2775
+160 2884
+161 2830
+162 2781
+163 2718
+164 2777
+165 2859
+166 2803
+167 2855
+168 2896
+169 2817
+170 2843
+171 2817
+172 2844
+173 2855
+174 2777
+175 2684
+176 2703
+177 2574
+178 2516
+179 2569
+180 2494
+181 2374
+182 2322
+183 2186
+184 2117
+185 1992
+186 1914
+187 1831
+188 1883
+189 1705
+190 1610
+191 1484
+192 1484
+193 1358
+194 1290
+195 1180
+196 1148
+197 1013
+198 979
+199 895
+200 809
+201 715
+202 699
+203 616
+204 507
+205 501
+206 423
+207 374
+208 342
+209 301
+210 286
+211 180
+212 202
+213 175
+214 164
+215 134
+216 129
+217 93
+218 86
+219 89
+220 79
+221 66
+222 66
+223 57
+224 78
+225 67
+226 69
+227 70
+228 73
+229 82
+230 77
+231 85
+232 100
+233 109
+234 79
+235 96
+236 113
+237 100
+238 112
+239 106
+240 141
+241 141
+242 136
+243 133
+244 145
+245 136
+246 139
+247 150
+248 162
+249 157
+250 147
+251 170
+252 150
+253 180
+254 185
+255 187
+256 189
+257 181
+258 186
+259 188
+260 197
+261 199
+262 195
+263 183
+264 208
+265 192
+266 213
+267 215
+268 207
+269 192
+270 186
+271 189
+272 197
+273 188
+274 216
+275 203
+276 179
+277 209
+278 194
+279 202
+280 180
+281 177
+282 176
+283 173
+284 177
+285 167
+286 167
+287 181
+288 184
+289 190
+290 144
+291 161
+292 178
+293 173
+294 134
+295 151
+296 136
+297 145
+298 140
+299 144
+300 123
+301 121
+302 112
+303 103
+304 118
+305 110
+306 117
+307 126
+308 110
+309 95
+310 97
+311 105
+312 97
+313 98
+314 104
+315 81
+316 86
+317 83
+318 89
+319 78
+320 88
+321 89
+322 94
+323 84
+324 95
+325 86
+326 100
+327 97
+328 95
+329 186
+330 97
+331 74
+332 91
+333 79
+334 109
+335 101
+336 95
+337 100
+338 108
+339 94
+340 124
+341 102
+342 107
+343 103
+344 107
+345 114
+346 97
+347 109
+348 95
+349 115
+350 96
+351 101
+352 111
+353 121
+354 104
+355 109
+356 91
+357 129
+358 111
+359 126
+360 127
+361 123
+362 123
+363 101
+364 116
+365 114
+366 103
+367 115
+368 117
+369 110
+370 109
+371 108
+372 121
+373 111
+374 125
+375 121
+376 107
+377 101
+378 130
+379 103
+380 115
+381 92
+382 103
+383 101
+384 97
+385 114
+386 110
+387 94
+388 102
+389 90
+390 98
+391 82
+392 85
+393 86
+394 82
+395 86
+396 82
+397 111
+398 85
+399 90
+400 89
+401 95
+402 57
+403 105
+404 83
+405 69
+406 73
+407 79
+408 89
+409 66
+410 93
+411 81
+412 78
+413 71
+414 62
+415 71
+416 83
+417 69
+418 77
+419 76
+420 68
+421 73
+422 59
+423 74
+424 63
+425 72
+426 64
+427 72
+428 78
+429 69
+430 71
+431 74
+432 71
+433 62
+434 78
+435 80
+436 85
+437 77
+438 84
+439 72
+440 85
+441 84
+442 79
+443 65
+444 87
+445 81
+446 70
+447 77
+448 60
+449 66
+450 82
+451 88
+452 74
+453 97
+454 82
+455 86
+456 97
+457 107
+458 84
+459 91
+460 103
+461 88
+462 96
+463 82
+464 109
+465 104
+466 106
+467 103
+468 85
+469 102
+470 100
+471 106
+472 99
+473 101
+474 116
+475 104
+476 110
+477 103
+478 98
+479 95
+480 108
+481 111
+482 102
+483 118
+484 115
+485 113
+486 123
+487 111
+488 119
+489 120
+490 112
+491 115
+492 114
+493 114
+494 129
+495 117
+496 126
+497 113
+498 120
+499 114
+500 140
+501 108
+502 116
+503 110
+504 86
+505 127
+506 128
+507 119
+508 111
+509 122
+510 121
+511 155
+512 139
+513 141
+514 130
+515 132
+516 131
+517 132
+518 143
+519 146
+520 135
+521 141
+522 132
+523 141
+524 151
+525 144
+526 143
+527 155
+528 149
+529 149
+530 129
+531 129
+532 121
+533 139
+534 153
+535 141
+536 125
+537 136
+538 139
+539 128
+540 140
+541 107
+542 114
+543 138
+544 138
+545 140
+546 113
+547 132
+548 145
+549 139
+550 139
+551 107
+552 131
+553 119
+554 117
+555 132
+556 125
+557 197
+558 118
+559 115
+560 127
+561 111
+562 115
+563 110
+564 117
+565 114
+566 113
+567 115
+568 127
+569 113
+570 107
+571 111
+572 97
+573 112
+574 110
+575 108
+576 110
+577 108
+578 113
+579 104
+580 78
+581 101
+582 121
+583 97
+584 111
+585 107
+586 98
+587 107
+588 94
+589 113
+590 110
+591 107
+592 114
+593 118
+594 100
+595 116
+596 98
+597 107
+598 90
+599 114
+600 107
+601 117
+602 109
+603 103
+604 107
+605 122
+606 112
+607 106
+608 114
+609 101
+610 95
+611 106
+612 107
+613 101
+614 115
+615 88
+616 113
+617 101
+618 103
+619 114
+620 110
+621 126
+622 108
+623 112
+624 111
+625 121
+626 116
+627 106
+628 111
+629 93
+630 103
+631 96
+632 98
+633 80
+634 104
+635 86
+636 88
+637 102
+638 89
+639 78
+640 85
+641 109
+642 106
+643 80
+644 86
+645 93
+646 76
+647 81
+648 91
+649 92
+650 100
+651 88
+652 73
+653 97
+654 111
+655 76
+656 99
+657 90
+658 92
+659 87
+660 101
+661 103
+662 91
+663 105
+664 102
+665 89
+666 84
+667 104
+668 95
+669 99
+670 106
+671 101
+672 103
+673 111
+674 94
+675 108
+676 93
+677 113
+678 101
+679 86
+680 102
+681 97
+682 91
+683 107
+684 102
+685 112
+686 112
+687 98
+688 102
+689 112
+690 116
+691 90
+692 90
+693 96
+694 100
+695 85
+696 101
+697 106
+698 92
+699 90
+700 97
+701 102
+702 105
+703 109
+704 122
+705 101
+706 123
+707 126
+708 115
+709 114
+710 99
+711 136
+712 102
+713 114
+714 114
+715 119
+716 105
+717 121
+718 140
+719 113
+720 124
+721 140
+722 102
+723 146
+724 118
+725 145
+726 133
+727 155
+728 149
+729 129
+730 146
+731 153
+732 155
+733 164
+734 162
+735 179
+736 162
+737 158
+738 161
+739 171
+740 171
+741 168
+742 161
+743 198
+744 185
+745 146
+746 161
+747 178
+748 184
+749 185
+750 179
+751 189
+752 187
+753 166
+754 179
+755 170
+756 181
+757 193
+758 185
+759 201
+760 202
+761 195
+762 176
+763 204
+764 201
+765 182
+766 183
+767 180
+768 161
+769 174
+770 173
+771 185
+772 160
+773 180
+774 170
+775 167
+776 187
+777 167
+778 179
+779 187
+780 157
+781 176
+782 162
+783 158
+784 161
+785 160
+786 177
+787 161
+788 174
+789 145
+790 143
+791 148
+792 162
+793 170
+794 145
+795 157
+796 132
+797 150
+798 149
+799 131
+800 158
+801 132
+802 128
+803 118
+804 107
+805 120
+806 132
+807 122
+808 108
+809 116
+810 133
+811 112
+812 125
+813 93
+814 94
+815 94
+816 101
+817 91
+818 94
+819 98
+820 82
+821 73
+822 87
+823 69
+824 84
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/MarkDuplicates_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/MarkDuplicates_data.txt Thu May 25 17:51:17 2017 -0400
[
@@ -0,0 +1,112 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.sam.markduplicates.MarkDuplicates INPUT=[/omaha-beach/cloud_26/files/000/dataset_114.dat] OUTPUT=/omaha-beach/cloud_26/files/000/dataset_197.dat METRICS_FILE=/omaha-beach/cloud_26/files/000/dataset_196.dat REMOVE_DUPLICATES=false ASSUME_SORTED=true DUPLICATE_SCORING_STRATEGY=SUM_OF_BASE_QUALITIES READ_NAME_REGEX=[a-zA-Z0-9]+:[0-9]:([0-9]+):([0-9]+):([0-9]+).*. OPTICAL_DUPLICATE_PIXEL_DISTANCE=100 VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT    MAX_SEQUENCES_FOR_DISK_READ_ENDS_MAP=50000 MAX_FILE_HANDLES_FOR_READ_ENDS_MAP=8000 SORTING_COLLECTION_SIZE_RATIO=0.25 PROGRAM_RECORD_ID=MarkDuplicates PROGRAM_GROUP_NAME=MarkDuplicates COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Mon May 23 09:32:41 UTC 2016
+
+## METRICS CLASS picard.sam.DuplicationMetrics
+LIBRARY UNPAIRED_READS_EXAMINED READ_PAIRS_EXAMINED UNMAPPED_READS UNPAIRED_READ_DUPLICATES READ_PAIR_DUPLICATES READ_PAIR_OPTICAL_DUPLICATES PERCENT_DUPLICATION ESTIMATED_LIBRARY_SIZE
+Unknown Library 2900 313405 0 2257 629 0 0.005582 77973949
+
+## HISTOGRAM java.lang.Double
+BIN VALUE
+1.0 1
+2.0 1.995989
+3.0 2.987982
+4.0 3.975997
+5.0 4.960048
+6.0 5.940152
+7.0 6.916324
+8.0 7.88858
+9.0 8.856937
+10.0 9.821409
+11.0 10.782013
+12.0 11.738763
+13.0 12.691676
+14.0 13.640766
+15.0 14.586049
+16.0 15.52754
+17.0 16.465254
+18.0 17.399207
+19.0 18.329414
+20.0 19.25589
+21.0 20.178649
+22.0 21.097706
+23.0 22.013077
+24.0 22.924776
+25.0 23.832819
+26.0 24.737218
+27.0 25.63799
+28.0 26.535149
+29.0 27.428709
+30.0 28.318684
+31.0 29.20509
+32.0 30.08794
+33.0 30.967248
+34.0 31.84303
+35.0 32.715298
+36.0 33.584068
+37.0 34.449352
+38.0 35.311166
+39.0 36.169523
+40.0 37.024436
+41.0 37.875921
+42.0 38.723989
+43.0 39.568656
+44.0 40.409935
+45.0 41.247839
+46.0 42.082382
+47.0 42.913578
+48.0 43.741439
+49.0 44.565979
+50.0 45.387212
+51.0 46.205151
+52.0 47.019809
+53.0 47.831199
+54.0 48.639334
+55.0 49.444228
+56.0 50.245893
+57.0 51.044342
+58.0 51.839588
+59.0 52.631645
+60.0 53.420524
+61.0 54.206239
+62.0 54.988802
+63.0 55.768226
+64.0 56.544524
+65.0 57.317707
+66.0 58.087789
+67.0 58.854783
+68.0 59.618699
+69.0 60.379551
+70.0 61.137352
+71.0 61.892112
+72.0 62.643845
+73.0 63.392562
+74.0 64.138276
+75.0 64.880999
+76.0 65.620743
+77.0 66.357519
+78.0 67.09134
+79.0 67.822217
+80.0 68.550163
+81.0 69.275188
+82.0 69.997306
+83.0 70.716526
+84.0 71.432862
+85.0 72.146324
+86.0 72.856924
+87.0 73.564674
+88.0 74.269585
+89.0 74.971668
+90.0 75.670935
+91.0 76.367397
+92.0 77.061066
+93.0 77.751952
+94.0 78.440066
+95.0 79.12542
+96.0 79.808025
+97.0 80.487892
+98.0 81.165032
+99.0 81.839456
+100.0 82.511174
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/bismark_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bismark_data.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,39 @@
+Bismark report for: /omaha-beach/cloud_26/files/000/dataset_33.dat (version: v0.10.0)
+Option '--directional' specified: alignments to complementary strands will be ignored (i.e. not performed!)
+Bowtie was run against the bisulfite genome of /root/galaxy/database/tmp/tmpvNBPSF/ with the specified options: -q -L 20 -D 15 -R 2 --score-min L,0,-0.2 --ignore-quals --quiet
+
+Final Alignment report
+======================
+Sequences analysed in total: 316390
+Number of alignments with a unique best hit from the different alignments: 220558
+Mapping efficiency: 69.7%
+Sequences with no alignments under any condition: 93928
+Sequences did not map uniquely: 1904
+Sequences which were discarded because genomic sequence could not be extracted: 0
+
+Number of sequences with unique best (first) alignment came from the bowtie output:
+CT/CT: 108352 ((converted) top strand)
+CT/GA: 112206 ((converted) bottom strand)
+GA/CT: 0 (complementary to (converted) top strand)
+GA/GA: 0 (complementary to (converted) bottom strand)
+
+Number of alignments to (merely theoretical) complementary strands being rejected in total: 0
+
+Final Cytosine Methylation Report
+=================================
+Total number of C's analysed: 5291918
+
+Total methylated C's in CpG context: 465068
+Total methylated C's in CHG context: 1358074
+Total methylated C's in CHH context: 3449120
+Total methylated C's in Unknown context: 1499
+
+Total unmethylated C's in CpG context: 6399
+Total unmethylated C's in CHG context: 2988
+Total unmethylated C's in CHH context: 10269
+Total unmethylated C's in Unknown context: 454
+
+C methylated in CpG context: 98.6%
+C methylated in CHG context: 99.8%
+C methylated in CHH context: 99.7%
+C methylated in Unknown context (CN or CHN): 76.8%
b
diff -r 4612d775965f -r c503e1c1fbad test-data/bowtie2SE1.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie2SE1.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,6 @@
+21040602 reads; of these:
+  21040602 (100.00%) were unpaired; of these:
+    351563 (1.67%) aligned 0 times
+    13299463 (63.21%) aligned exactly 1 time
+    7389576 (35.12%) aligned >1 times
+98.33% overall alignment rate
b
diff -r 4612d775965f -r c503e1c1fbad test-data/bowtie2SE2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/bowtie2SE2.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,6 @@
+16199126 reads; of these:
+  16199126 (100.00%) were unpaired; of these:
+    274008 (1.69%) aligned 0 times
+    10087714 (62.27%) aligned exactly 1 time
+    5837404 (36.04%) aligned >1 times
+98.31% overall alignment rate
b
diff -r 4612d775965f -r c503e1c1fbad test-data/collectGcBias_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/collectGcBias_data.txt Thu May 25 17:51:17 2017 -0400
[
@@ -0,0 +1,110 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.analysis.CollectGcBiasMetrics CHART_OUTPUT=/omaha-beach/cloud_26/files/000/dataset_195.dat SUMMARY_OUTPUT=/omaha-beach/cloud_26/files/000/dataset_193.dat WINDOW_SIZE=100 MINIMUM_GENOME_FRACTION=5.0E-5 IS_BISULFITE_SEQUENCED=true INPUT=/omaha-beach/cloud_26/files/000/dataset_114.dat OUTPUT=/omaha-beach/cloud_26/files/000/dataset_194.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    METRIC_ACCUMULATION_LEVEL=[ALL_READS] STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Mon May 23 09:32:30 UTC 2016
+
+## METRICS CLASS picard.analysis.GcBiasDetailMetrics
+ACCUMULATION_LEVEL GC WINDOWS READ_STARTS MEAN_BASE_QUALITY NORMALIZED_COVERAGE ERROR_BAR_WIDTH SAMPLE LIBRARY READ_GROUP
+All Reads 0 0 0 0 0 0
+All Reads 1 0 0 0 0 0
+All Reads 2 0 0 0 0 0
+All Reads 3 10 0 0 0 0
+All Reads 4 7 0 0 0 0
+All Reads 5 6 0 0 0 0
+All Reads 6 4 0 0 0 0
+All Reads 7 9 0 0 0 0
+All Reads 8 22 0 0 0 0
+All Reads 9 15 0 0 0 0
+All Reads 10 20 0 0 0 0
+All Reads 11 18 0 0 0 0
+All Reads 12 101 0 0 0 0
+All Reads 13 118 0 0 0 0
+All Reads 14 137 1 20 0.110575 0.110575
+All Reads 15 243 4 19 0.249362 0.124681
+All Reads 16 366 10 21 0.4139 0.130887
+All Reads 17 468 9 24 0.291322 0.097107
+All Reads 18 689 25 24 0.549664 0.109933
+All Reads 19 1087 40 26 0.557451 0.088141
+All Reads 20 2152 95 25 0.668741 0.068611
+All Reads 21 3279 127 23 0.586731 0.052064
+All Reads 22 5106 178 23 0.528099 0.039583
+All Reads 23 7817 319 23 0.618197 0.034612
+All Reads 24 11933 630 24 0.799774 0.031864
+All Reads 25 17449 759 25 0.658943 0.023918
+All Reads 26 25272 1414 26 0.847591 0.02254
+All Reads 27 34926 1806 25 0.783331 0.018433
+All Reads 28 48489 2889 26 0.90257 0.016792
+All Reads 29 64950 4285 26 0.99942 0.015268
+All Reads 30 84452 5453 26 0.978142 0.013246
+All Reads 31 107535 6476 26 0.912291 0.011337
+All Reads 32 134982 7953 26 0.892548 0.010008
+All Reads 33 165941 9475 26 0.864972 0.008886
+All Reads 34 199087 11437 26 0.870253 0.008137
+All Reads 35 233144 12856 26 0.83533 0.007367
+All Reads 36 266049 14918 26 0.849426 0.006955
+All Reads 37 298999 17019 26 0.862265 0.00661
+All Reads 38 327958 20230 26 0.934446 0.00657
+All Reads 39 350801 22684 26 0.97957 0.006504
+All Reads 40 369841 23670 26 0.969527 0.006302
+All Reads 41 383262 25527 26 1.008975 0.006315
+All Reads 42 392470 26131 25 1.008617 0.006239
+All Reads 43 395234 25603 25 0.981326 0.006133
+All Reads 44 392428 26425 25 1.020074 0.006275
+All Reads 45 386569 25213 25 0.988039 0.006222
+All Reads 46 376763 25980 25 1.044594 0.006481
+All Reads 47 363422 24801 25 1.033795 0.006564
+All Reads 48 348339 24838 25 1.080167 0.006854
+All Reads 49 331960 24992 24 1.140491 0.007214
+All Reads 50 315781 23793 24 1.141405 0.0074
+All Reads 51 297249 22601 24 1.151818 0.007662
+All Reads 52 278159 19653 24 1.070317 0.007635
+All Reads 53 263713 19395 24 1.114127 0.008
+All Reads 54 247317 19047 24 1.166673 0.008453
+All Reads 55 230663 17922 23 1.177023 0.008792
+All Reads 56 215458 16244 23 1.142107 0.008961
+All Reads 57 198515 14904 23 1.137329 0.009316
+All Reads 58 180718 13720 23 1.150083 0.009819
+All Reads 59 165914 11940 23 1.090179 0.009977
+All Reads 60 152561 10775 23 1.069917 0.010307
+All Reads 61 138857 9746 23 1.063249 0.01077
+All Reads 62 125804 9067 22 1.091807 0.011466
+All Reads 63 112222 7148 22 0.964902 0.011413
+All Reads 64 99218 6056 23 0.924638 0.011882
+All Reads 65 85414 5612 24 0.995326 0.013286
+All Reads 66 72999 4286 23 0.88943 0.013586
+All Reads 67 61396 3631 23 0.895907 0.014868
+All Reads 68 52109 3341 22 0.971271 0.016804
+All Reads 69 45121 2735 21 0.918238 0.017558
+All Reads 70 38925 1675 21 0.651873 0.015928
+All Reads 71 32225 1053 22 0.495008 0.015254
+All Reads 72 27537 721 22 0.396639 0.014772
+All Reads 73 23481 483 22 0.311607 0.014179
+All Reads 74 20300 423 22 0.315661 0.015348
+All Reads 75 17785 245 22 0.208684 0.013332
+All Reads 76 15846 236 22 0.225615 0.014686
+All Reads 77 13683 230 22 0.254638 0.01679
+All Reads 78 11733 217 23 0.280174 0.019019
+All Reads 79 10547 188 22 0.270026 0.019694
+All Reads 80 9314 151 22 0.245594 0.019986
+All Reads 81 7659 149 23 0.294707 0.024143
+All Reads 82 5813 56 25 0.145937 0.019502
+All Reads 83 4687 46 23 0.148676 0.021921
+All Reads 84 3505 18 23 0.077797 0.018337
+All Reads 85 2385 8 23 0.050813 0.017965
+All Reads 86 1424 5 21 0.053191 0.023788
+All Reads 87 859 3 20 0.052906 0.030545
+All Reads 88 529 0 0 0 0
+All Reads 89 411 0 0 0 0
+All Reads 90 348 0 0 0 0
+All Reads 91 138 0 0 0 0
+All Reads 92 40 0 0 0 0
+All Reads 93 7 0 0 0 0
+All Reads 94 7 0 0 0 0
+All Reads 95 12 0 0 0 0
+All Reads 96 17 0 0 0 0
+All Reads 97 8 0 0 0 0
+All Reads 98 9 0 0 0 0
+All Reads 99 5 0 0 0 0
+All Reads 100 30 0 0 0 0
+
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/cutadapt.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/cutadapt.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,129 @@
+You are running cutadapt 1.6 with Python 2.7.3
+Command line parameters: --format=fastq --anywhere=fakadaptater=CACG --error-rate=0.1 --times=1 --overlap=3 --output=/omaha-beach/cloud_26/files/000/dataset_82.dat /omaha-beach/cloud_26/files/000/dataset_33.dat
+Maximum error rate: 10.00%
+   No. of adapters: 1
+   Processed reads:       316390
+   Processed bases:     31955390 bp (32.0 Mbp)
+     Trimmed reads:        68795 (21.7%)
+     Trimmed bases:      3443775 bp (3.4 Mbp) (10.78% of total)
+   Too short reads:            0 (0.0% of processed reads)
+    Too long reads:            0 (0.0% of processed reads)
+        Total time:      5.28 s
+     Time per read:      0.017 ms
+
+=== Adapter 'fakadaptater' ===
+
+Sequence: CACG; Length: 4; Trimmed: 68795 times.
+2162 times, it overlapped the 5' end of a read
+66633 times, it overlapped the 3' end or was within the read
+
+No. of allowed errors:
+0-4 bp: 0
+
+Overview of removed sequences (5')
+length count expect max.err error counts
+3 357 4943.6 0 357
+4 1805 1235.9 0 1805
+
+
+Overview of removed sequences (3' or within)
+length count expect max.err error counts
+3 4175 4943.6 0 4175
+4 520 1235.9 0 520
+5 442 1235.9 0 442
+6 522 1235.9 0 522
+7 538 1235.9 0 538
+8 526 1235.9 0 526
+9 482 1235.9 0 482
+10 547 1235.9 0 547
+11 502 1235.9 0 502
+12 539 1235.9 0 539
+13 571 1235.9 0 571
+14 601 1235.9 0 601
+15 537 1235.9 0 537
+16 592 1235.9 0 592
+17 604 1235.9 0 604
+18 617 1235.9 0 617
+19 594 1235.9 0 594
+20 493 1235.9 0 493
+21 558 1235.9 0 558
+22 503 1235.9 0 503
+23 573 1235.9 0 573
+24 609 1235.9 0 609
+25 653 1235.9 0 653
+26 625 1235.9 0 625
+27 541 1235.9 0 541
+28 501 1235.9 0 501
+29 618 1235.9 0 618
+30 539 1235.9 0 539
+31 614 1235.9 0 614
+32 594 1235.9 0 594
+33 627 1235.9 0 627
+34 572 1235.9 0 572
+35 690 1235.9 0 690
+36 615 1235.9 0 615
+37 654 1235.9 0 654
+38 681 1235.9 0 681
+39 530 1235.9 0 530
+40 731 1235.9 0 731
+41 622 1235.9 0 622
+42 611 1235.9 0 611
+43 722 1235.9 0 722
+44 664 1235.9 0 664
+45 659 1235.9 0 659
+46 651 1235.9 0 651
+47 591 1235.9 0 591
+48 642 1235.9 0 642
+49 545 1235.9 0 545
+50 573 1235.9 0 573
+51 591 1235.9 0 591
+52 567 1235.9 0 567
+53 749 1235.9 0 749
+54 647 1235.9 0 647
+55 753 1235.9 0 753
+56 696 1235.9 0 696
+57 780 1235.9 0 780
+58 607 1235.9 0 607
+59 758 1235.9 0 758
+60 643 1235.9 0 643
+61 578 1235.9 0 578
+62 670 1235.9 0 670
+63 652 1235.9 0 652
+64 816 1235.9 0 816
+65 732 1235.9 0 732
+66 640 1235.9 0 640
+67 644 1235.9 0 644
+68 818 1235.9 0 818
+69 658 1235.9 0 658
+70 587 1235.9 0 587
+71 672 1235.9 0 672
+72 588 1235.9 0 588
+73 645 1235.9 0 645
+74 668 1235.9 0 668
+75 725 1235.9 0 725
+76 651 1235.9 0 651
+77 701 1235.9 0 701
+78 662 1235.9 0 662
+79 655 1235.9 0 655
+80 760 1235.9 0 760
+81 746 1235.9 0 746
+82 705 1235.9 0 705
+83 704 1235.9 0 704
+84 726 1235.9 0 726
+85 692 1235.9 0 692
+86 700 1235.9 0 700
+87 758 1235.9 0 758
+88 640 1235.9 0 640
+89 665 1235.9 0 665
+90 848 1235.9 0 848
+91 693 1235.9 0 693
+92 775 1235.9 0 775
+93 1237 1235.9 0 1237
+94 629 1235.9 0 629
+95 574 1235.9 0 574
+96 525 1235.9 0 525
+97 586 1235.9 0 586
+98 696 1235.9 0 696
+99 860 1235.9 0 860
+100 851 1235.9 0 851
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/fastqc_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data.txt Thu May 25 17:51:17 2017 -0400
b
b'@@ -0,0 +1,2181 @@\n+##FastQC\t0.11.4\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\tpoulet5_1\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t267849\n+Sequences flagged as poor quality\t0\n+Sequence length\t101\n+%GC\t48\n+>>END_MODULE\n+>>Per base sequence quality\twarn\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t20.91988023102569\t21.0\t21.0\t21.0\t21.0\t21.0\n+2\t20.71684045861661\t21.0\t20.0\t22.0\t19.0\t23.0\n+3\t20.351574954545285\t21.0\t20.0\t21.0\t18.0\t22.0\n+4\t22.531542025544244\t23.0\t22.0\t24.0\t20.0\t24.0\n+5\t24.673566076408722\t25.0\t24.0\t26.0\t24.0\t26.0\n+6\t25.813099918237516\t26.0\t25.0\t27.0\t25.0\t27.0\n+7\t27.587864804423386\t28.0\t27.0\t29.0\t26.0\t29.0\n+8\t27.598941941168345\t28.0\t27.0\t29.0\t26.0\t29.0\n+9\t27.07115949658203\t28.0\t26.0\t28.0\t26.0\t28.0\n+10-11\t27.129873548155864\t28.0\t26.0\t28.0\t25.5\t28.0\n+12-13\t27.009298149330405\t27.5\t26.0\t28.0\t25.5\t28.0\n+14-15\t27.123565889736383\t28.0\t26.5\t28.0\t26.0\t28.0\n+16-17\t27.086309823818645\t28.0\t26.0\t28.0\t26.0\t28.0\n+18-19\t27.07924614241606\t28.0\t26.0\t28.0\t25.5\t28.0\n+20-21\t27.082520375286073\t28.0\t26.0\t28.0\t26.0\t28.0\n+22-23\t27.054301117420636\t28.0\t26.0\t28.0\t25.0\t28.0\n+24-25\t27.06350966402712\t28.0\t26.0\t28.0\t25.0\t28.0\n+26-27\t27.082996389756914\t28.0\t26.0\t28.0\t26.0\t28.0\n+28-29\t27.065495857740743\t28.0\t26.0\t28.0\t25.5\t28.0\n+30-31\t27.09608772106672\t28.0\t26.0\t28.0\t26.0\t28.0\n+32-33\t27.087097581099798\t28.0\t26.0\t28.0\t26.0\t28.0\n+34-35\t27.098251253504774\t28.0\t26.5\t28.0\t26.0\t28.0\n+36-37\t27.05184077595959\t28.0\t26.0\t28.0\t25.5\t28.0\n+38-39\t27.06521958267531\t28.0\t26.0\t28.0\t26.0\t28.0\n+40-41\t27.072148859992012\t28.0\t26.0\t28.0\t26.0\t28.0\n+42-43\t27.065725464720796\t28.0\t26.0\t28.0\t25.5\t28.0\n+44-45\t27.07168031241483\t28.0\t26.5\t28.0\t25.5\t28.0\n+46-47\t27.048083061725073\t28.0\t26.0\t28.0\t25.5\t28.0\n+48-49\t27.04642354460909\t28.0\t26.0\t28.0\t25.5\t28.0\n+50-51\t27.062865644448927\t28.0\t26.0\t28.0\t25.5\t28.0\n+52-53\t27.01859629866081\t28.0\t26.0\t28.0\t25.0\t28.0\n+54-55\t26.994157155710866\t27.5\t26.0\t28.0\t25.0\t28.0\n+56-57\t27.110127347871376\t28.0\t27.0\t28.0\t26.0\t28.0\n+58-59\t26.995846540401494\t27.5\t26.0\t28.0\t25.0\t28.0\n+60-61\t27.00461640700544\t27.5\t26.0\t28.0\t25.0\t28.0\n+62-63\t26.981614641085088\t27.5\t26.5\t28.0\t25.5\t28.5\n+64-65\t26.98900313236189\t28.0\t26.0\t28.0\t25.0\t28.0\n+66-67\t27.001189102815392\t28.0\t26.0\t28.0\t25.0\t28.0\n+68-69\t26.917739099268616\t27.5\t26.0\t28.0\t25.0\t28.5\n+70-71\t26.98481793846533\t28.0\t27.0\t28.0\t25.0\t29.0\n+72-73\t26.89518908041471\t27.5\t26.5\t28.0\t25.0\t28.5\n+74-75\t26.93677034448514\t28.0\t27.0\t28.0\t25.0\t29.0\n+76-77\t26.87640237596556\t28.0\t26.5\t28.0\t25.0\t29.0\n+78-79\t26.906094478605482\t28.0\t27.0\t28.0\t25.0\t29.0\n+80-81\t26.80463992772047\t28.0\t26.5\t28.0\t25.0\t29.0\n+82-83\t26.717012197170796\t28.0\t26.5\t28.0\t25.0\t29.0\n+84-85\t26.46960974280285\t27.5\t26.5\t28.0\t25.0\t29.0\n+86-87\t26.442842795754324\t27.5\t26.5\t28.0\t25.0\t29.0\n+88-89\t26.34282375517549\t28.0\t26.0\t28.0\t25.0\t29.0\n+90-91\t26.03493946215965\t28.0\t26.0\t28.0\t24.5\t29.0\n+92-93\t25.833215729758187\t28.0\t26.0\t28.0\t24.0\t29.0\n+94-95\t25.503102494315826\t27.5\t26.0\t28.0\t22.5\t29.0\n+96-97\t24.52807178671565\t27.0\t25.5\t27.5\t21.0\t28.0\n+98-99\t23.202399486277717\t26.0\t24.5\t26.5\t10.0\t27.0\n+100-101\t23.72906749698524\t27.0\t26.0\t28.0\t2.0\t29.0\n+>>END_MODULE\n+>>Per tile sequence quality\tpass\n+#Tile\tBase\tMean\n+1101\t1\t0.017259946109469126\n+1101\t2\t-0.13408255940416325\n+1101\t3\t-0.11853598095770224\n+1101\t4\t0.015421063929771606\n+1101\t5\t-0.06886052494072459\n+1101\t6\t-0.15241701542762698\n+1101\t7\t-0.029853727500473326\n+1101\t8\t0.04533865186875374\n+1101\t9\t0.07102084333114078\n+1101\t10-11\t0.02726717483210095\n+1101\t12-13\t0.05147474989913192\n+1101\t14-15\t-0.006227419450461014\n+1101\t16-17\t0.051879075943595865\n+1101\t18-19\t0.03525737425918152\n+1101\t20-21\t0.012963832365290529\n+1101\t22-23\t0.02506089814612622\n+1101\t24-25\t0.07843149833360386\n+1101\t26-27\t0.02737786083297422\n+1101\t28-29\t0.005161107012540356\n+1101\t30-31\t-0.08720467946375265\n+1101\t32-33\t-0.017197404032327057\n+1101\t34-35\t0.05763469947927646\n+1101\t36-37\t-0.045600552109540615\n+1101\t38-39\t-0.01952943529413176\n+1101\t40-41\t0.007678874836642535\n+1101\t42-43\t-0.00844'..b'433.5\n+55\t9922.0\n+56\t8785.5\n+57\t7997.0\n+58\t6901.0\n+59\t5796.0\n+60\t4967.0\n+61\t4072.5\n+62\t3639.5\n+63\t3267.0\n+64\t2561.5\n+65\t2002.5\n+66\t1561.5\n+67\t1355.5\n+68\t1222.0\n+69\t1019.0\n+70\t803.0\n+71\t568.5\n+72\t371.5\n+73\t235.0\n+74\t164.5\n+75\t110.5\n+76\t70.5\n+77\t56.0\n+78\t39.5\n+79\t27.0\n+80\t18.0\n+81\t17.0\n+82\t15.5\n+83\t12.5\n+84\t6.5\n+85\t1.5\n+86\t0.0\n+87\t0.0\n+88\t0.0\n+89\t0.0\n+90\t0.0\n+91\t0.0\n+92\t0.0\n+93\t0.0\n+94\t0.0\n+95\t0.0\n+96\t0.0\n+97\t0.0\n+98\t0.0\n+99\t0.0\n+100\t0.0\n+>>END_MODULE\n+>>Per base N content\tpass\n+#Base\tN-Count\n+1\t0.029867574640935753\n+2\t0.0\n+3\t0.003733446830116969\n+4\t0.0\n+5\t3.733446830116969E-4\n+6\t0.0\n+7\t0.0\n+8\t0.0\n+9\t0.0\n+10-11\t0.0\n+12-13\t0.0\n+14-15\t0.0\n+16-17\t0.0\n+18-19\t0.0\n+20-21\t0.0\n+22-23\t0.0\n+24-25\t0.0\n+26-27\t0.0\n+28-29\t0.0\n+30-31\t0.0\n+32-33\t0.0\n+34-35\t0.0\n+36-37\t0.0\n+38-39\t0.0\n+40-41\t0.0\n+42-43\t0.0\n+44-45\t0.0\n+46-47\t0.0\n+48-49\t0.0\n+50-51\t0.0\n+52-53\t0.0\n+54-55\t0.0\n+56-57\t0.0\n+58-59\t0.0\n+60-61\t0.0\n+62-63\t0.0\n+64-65\t0.0\n+66-67\t0.0\n+68-69\t0.0\n+70-71\t0.0\n+72-73\t0.0\n+74-75\t0.0\n+76-77\t0.0\n+78-79\t0.0\n+80-81\t0.0\n+82-83\t0.0\n+84-85\t0.0\n+86-87\t0.0\n+88-89\t0.0\n+90-91\t0.0\n+92-93\t0.0\n+94-95\t0.0\n+96-97\t0.0\n+98-99\t0.0\n+100-101\t0.0\n+>>END_MODULE\n+>>Sequence Length Distribution\tpass\n+#Length\tCount\n+101\t267849.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\twarn\n+#Total Deduplicated Percentage\t63.69408840068983\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t81.5623716290639\t51.950409087115126\n+2\t9.995611185249079\t12.733226849043577\n+3\t3.1947144335386772\t6.104532706343167\n+4\t1.4905270052149588\t3.797510353351082\n+5\t0.8725392208870194\t2.778779513412342\n+6\t0.55360835935223\t2.115694786796508\n+7\t0.38537193434967776\t1.718213983752925\n+8\t0.314619574221819\t1.603152557845755\n+9\t0.2033036957962869\t1.1654319215012086\n+>10\t1.4223398099582591\t15.850860027094066\n+>50\t0.0049931523680946535\t0.18218821374420768\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\tpass\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.0\t0.0\t0.0\t0.0\n+3\t0.0\t0.0\t0.0\t0.0\n+4\t0.0\t0.0\t0.0\t0.0\n+5\t0.0\t0.0\t0.0\t0.0\n+6\t0.0\t0.0\t0.0\t0.0\n+7\t0.0\t0.0\t0.0\t0.0\n+8\t0.0\t0.0\t0.0\t0.0\n+9\t0.0\t0.0\t0.0\t0.0\n+10-11\t0.0\t0.0\t0.0\t0.0\n+12-13\t0.0\t0.0\t0.0\t0.0\n+14-15\t0.0\t0.0\t0.0\t0.0\n+16-17\t0.0\t0.0\t0.0\t0.0\n+18-19\t0.0\t0.0\t0.0\t0.0\n+20-21\t0.0\t0.0\t0.0\t0.0\n+22-23\t0.0\t0.0\t0.0\t0.0\n+24-25\t0.0\t0.0\t0.0\t0.0\n+26-27\t0.0\t0.0\t0.0\t0.0\n+28-29\t0.0\t0.0\t0.0\t0.0\n+30-31\t0.0\t0.0\t0.0\t0.0\n+32-33\t0.0\t0.0\t0.0\t0.0\n+34-35\t0.0\t0.0\t0.0\t0.0\n+36-37\t0.0\t0.0\t0.0\t0.0\n+38-39\t0.0\t0.0\t0.0\t0.0\n+40-41\t0.0\t0.0\t0.0\t0.0\n+42-43\t0.0\t0.0\t0.0\t0.0\n+44-45\t0.0\t0.0\t0.0\t0.0\n+46-47\t0.0\t0.0\t0.0\t0.0\n+48-49\t0.0\t0.0\t0.0\t0.0\n+50-51\t0.0\t0.0\t0.0\t0.0\n+52-53\t0.0\t0.0\t0.0\t0.0\n+54-55\t0.0\t0.0\t0.0\t0.0\n+56-57\t0.0\t0.0\t0.0\t0.0\n+58-59\t0.0\t0.0\t0.0\t0.0\n+60-61\t0.0\t0.0\t0.0\t0.0\n+62-63\t0.0\t0.0\t0.0\t0.0\n+64-65\t0.0\t0.0\t0.0\t0.0\n+66-67\t0.0\t0.0\t0.0\t0.0\n+68-69\t0.0\t0.0\t0.0\t0.0\n+70-71\t0.0\t0.0\t0.0\t0.0\n+72-73\t0.0\t0.0\t0.0\t0.0\n+74-75\t0.0\t0.0\t0.0\t0.0\n+76-77\t0.0\t0.0\t0.0\t0.0\n+78-79\t0.0\t0.0\t0.0\t0.0\n+80-81\t0.0\t0.0\t0.0\t0.0\n+82-83\t0.0\t0.0\t0.0\t0.0\n+84-85\t0.0\t0.0\t0.0\t0.0\n+86-87\t0.0\t0.0\t0.0\t0.0\n+88-89\t0.0\t0.0\t0.0\t0.0\n+>>END_MODULE\n+>>Kmer Content\twarn\n+#Sequence\tCount\tPValue\tObs/Exp Max\tMax Obs/Exp Position\n+TTAGTGG\t50\t0.0016122013\t38.00672\t3\n+CCGGGAA\t65\t0.0058204937\t29.246862\t1\n+CTCGCCA\t65\t0.0058204937\t29.246862\t1\n+CCCGCTT\t70\t0.008357804\t27.157803\t1\n+AACAATT\t125\t0.006013185\t19.00336\t2\n+CTGGGAT\t205\t3.3062082E-4\t16.228443\t1\n+AGTTCAA\t195\t0.0044498937\t14.615241\t5\n+GAGTAGT\t125\t0.0014974214\t13.29987\t30-31\n+AAGTTCA\t220\t0.009890434\t12.954418\t4\n+CTGAAAT\t275\t0.003044474\t12.097567\t1\n+CCCAGCT\t405\t3.2130985E-5\t11.734852\t1\n+AGGGTGT\t145\t0.0045575905\t11.465405\t66-67\n+CTGAATT\t335\t0.001024679\t11.349529\t1\n+CTTGAAT\t295\t0.0051441877\t11.277392\t1\n+GAATGTC\t425\t6.555659E-4\t10.058724\t4\n+GGTAGTA\t190\t0.002949709\t9.999902\t52-53\n+CTCTGCC\t390\t0.0036302158\t9.748955\t1\n+CTCCTTT\t535\t5.356131E-4\t8.883393\t1\n+CTTTGCT\t500\t0.0028739348\t8.5547085\t1\n+>>END_MODULE\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/fastqc_data_2.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_2.txt Thu May 25 17:51:17 2017 -0400
b
b'@@ -0,0 +1,2170 @@\n+##FastQC\t0.11.4\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\tpoulet5_2\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t267849\n+Sequences flagged as poor quality\t0\n+Sequence length\t101\n+%GC\t48\n+>>END_MODULE\n+>>Per base sequence quality\twarn\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t20.590586487162543\t21.0\t21.0\t21.0\t20.0\t21.0\n+2\t20.458478471078855\t21.0\t19.0\t22.0\t19.0\t22.0\n+3\t20.178608096352797\t21.0\t20.0\t21.0\t18.0\t22.0\n+4\t22.495204387546714\t23.0\t22.0\t24.0\t20.0\t24.0\n+5\t24.59397272343746\t25.0\t24.0\t26.0\t24.0\t26.0\n+6\t25.77560491172265\t26.0\t25.0\t27.0\t25.0\t27.0\n+7\t26.651378201897337\t27.0\t26.0\t28.0\t26.0\t28.0\n+8\t27.54968284369178\t28.0\t27.0\t29.0\t26.0\t29.0\n+9\t27.089005372429988\t28.0\t26.0\t28.0\t26.0\t28.0\n+10-11\t27.058984726469017\t28.0\t26.0\t28.0\t25.5\t28.0\n+12-13\t26.954911162632676\t27.5\t26.0\t28.0\t25.5\t28.0\n+14-15\t27.066410552214123\t28.0\t26.0\t28.0\t26.0\t28.0\n+16-17\t27.04552938409328\t28.0\t26.0\t28.0\t25.5\t28.0\n+18-19\t27.025118630273028\t28.0\t26.0\t28.0\t25.0\t28.0\n+20-21\t27.019042445557012\t28.0\t26.0\t28.0\t25.0\t28.0\n+22-23\t27.010315513591614\t28.0\t26.0\t28.0\t25.0\t28.0\n+24-25\t27.03931879529138\t28.0\t26.0\t28.0\t25.5\t28.0\n+26-27\t26.978450544896567\t28.0\t26.0\t28.0\t25.0\t28.0\n+28-29\t27.003714779595967\t28.0\t26.0\t28.0\t25.0\t28.0\n+30-31\t27.025971722873706\t28.0\t26.0\t28.0\t25.0\t28.0\n+32-33\t27.017791740868923\t28.0\t26.0\t28.0\t25.0\t28.0\n+34-35\t27.00628899118533\t28.0\t26.0\t28.0\t25.0\t28.0\n+36-37\t27.00906294218011\t28.0\t26.0\t28.0\t25.0\t28.0\n+38-39\t27.034922661648913\t28.0\t26.0\t28.0\t25.5\t28.0\n+40-41\t27.005346295860726\t28.0\t26.0\t28.0\t25.0\t28.0\n+42-43\t27.000909094303132\t28.0\t26.0\t28.0\t25.0\t28.0\n+44-45\t27.004913216028434\t28.0\t26.0\t28.0\t25.0\t28.0\n+46-47\t26.979999925331065\t28.0\t26.0\t28.0\t25.0\t28.0\n+48-49\t26.941037674211962\t27.5\t26.0\t28.0\t25.0\t28.0\n+50-51\t26.99995146519121\t27.5\t26.0\t28.0\t25.5\t28.0\n+52-53\t26.95084543903468\t27.5\t26.0\t28.0\t25.0\t28.0\n+54-55\t26.97609847339359\t28.0\t26.0\t28.0\t25.0\t28.0\n+56-57\t26.99262270906369\t27.5\t26.0\t28.0\t25.0\t28.0\n+58-59\t26.942271578389317\t27.0\t26.0\t28.0\t25.0\t28.0\n+60-61\t26.88024222603034\t27.0\t26.0\t28.0\t25.0\t28.0\n+62-63\t26.866450873439888\t27.0\t26.0\t28.0\t25.0\t28.0\n+64-65\t26.947610407356386\t28.0\t26.0\t28.0\t25.0\t28.0\n+66-67\t26.975012040366025\t28.0\t26.5\t28.0\t25.0\t28.5\n+68-69\t26.966286975124042\t28.0\t26.5\t28.0\t25.0\t29.0\n+70-71\t26.917634562757375\t28.0\t26.0\t28.0\t25.0\t29.0\n+72-73\t26.885127441207544\t28.0\t26.0\t28.0\t25.0\t29.0\n+74-75\t26.846286527110426\t28.0\t26.5\t28.0\t25.0\t29.0\n+76-77\t26.769134848366058\t28.0\t26.0\t28.0\t25.0\t29.0\n+78-79\t26.709703975000842\t28.0\t26.5\t28.0\t25.0\t29.0\n+80-81\t26.551336760637525\t27.5\t26.0\t28.0\t25.0\t28.5\n+82-83\t26.42626069165836\t27.5\t26.0\t28.0\t25.0\t28.5\n+84-85\t26.309463541024982\t27.5\t26.0\t28.0\t25.0\t29.0\n+86-87\t26.127226534353312\t27.5\t26.0\t28.0\t25.0\t29.0\n+88-89\t25.91885539987082\t27.5\t26.0\t28.0\t24.0\t29.0\n+90-91\t25.674260497519125\t27.0\t26.0\t28.0\t23.5\t29.0\n+92-93\t25.371903572535274\t27.0\t26.0\t28.0\t22.0\t29.0\n+94-95\t24.758753999454918\t27.0\t26.0\t28.0\t20.5\t28.5\n+96-97\t23.84710415196622\t26.5\t25.0\t27.5\t7.0\t28.0\n+98-99\t22.40618968149965\t25.5\t24.0\t26.5\t2.0\t27.0\n+100-101\t23.009550156991438\t27.0\t25.0\t28.0\t2.0\t29.0\n+>>END_MODULE\n+>>Per tile sequence quality\tpass\n+#Tile\tBase\tMean\n+1101\t1\t-0.1408369887985721\n+1101\t2\t-0.019030947201084558\n+1101\t3\t-0.060059442415557385\n+1101\t4\t0.004085939732711097\n+1101\t5\t-0.018429270835582656\n+1101\t6\t-0.10404524639907464\n+1101\t7\t0.05541229462318498\n+1101\t8\t0.06703529503928962\n+1101\t9\t0.0644374620344621\n+1101\t10-11\t0.06977859906234585\n+1101\t12-13\t0.048103685880093394\n+1101\t14-15\t0.0848396420659725\n+1101\t16-17\t0.030233298636137107\n+1101\t18-19\t0.05253119669850648\n+1101\t20-21\t0.08961672433820667\n+1101\t22-23\t0.014190195653434046\n+1101\t24-25\t-0.013817302849609803\n+1101\t26-27\t0.046003756870838686\n+1101\t28-29\t0.04599618351544166\n+1101\t30-31\t0.04851104267937956\n+1101\t32-33\t0.04656194043190354\n+1101\t34-35\t0.057517795385400916\n+1101\t36-37\t-0.00326392946157128\n+1101\t38-39\t0.0753296536157606\n+1101\t40-41\t0.005995075411309614\n+1101\t42-43\t-0.013913'..b'71.0\n+24\t130.0\n+25\t233.5\n+26\t389.5\n+27\t542.5\n+28\t724.5\n+29\t1063.0\n+30\t1433.0\n+31\t1683.5\n+32\t1996.0\n+33\t2367.5\n+34\t2840.5\n+35\t3318.0\n+36\t3924.5\n+37\t4721.0\n+38\t5510.0\n+39\t6259.0\n+40\t7364.0\n+41\t8736.0\n+42\t9608.5\n+43\t10256.0\n+44\t10928.5\n+45\t11153.5\n+46\t11271.5\n+47\t12042.0\n+48\t12804.5\n+49\t12874.0\n+50\t12482.5\n+51\t11758.0\n+52\t10827.0\n+53\t10433.0\n+54\t10615.0\n+55\t9955.0\n+56\t8760.0\n+57\t7986.5\n+58\t6982.5\n+59\t5802.5\n+60\t4913.5\n+61\t4177.5\n+62\t3751.5\n+63\t3282.0\n+64\t2533.0\n+65\t1954.0\n+66\t1513.0\n+67\t1247.5\n+68\t1102.0\n+69\t957.0\n+70\t777.0\n+71\t535.5\n+72\t361.5\n+73\t253.0\n+74\t157.0\n+75\t99.0\n+76\t60.0\n+77\t46.5\n+78\t37.0\n+79\t21.5\n+80\t13.5\n+81\t16.5\n+82\t19.5\n+83\t14.0\n+84\t6.5\n+85\t3.0\n+86\t0.5\n+87\t0.0\n+88\t0.0\n+89\t0.0\n+90\t0.0\n+91\t0.0\n+92\t0.0\n+93\t0.0\n+94\t0.0\n+95\t0.0\n+96\t0.0\n+97\t0.0\n+98\t0.0\n+99\t0.0\n+100\t0.0\n+>>END_MODULE\n+>>Per base N content\tpass\n+#Base\tN-Count\n+1\t0.11461681768459094\n+2\t0.003733446830116969\n+3\t0.0\n+4\t0.0\n+5\t0.0\n+6\t0.0\n+7\t0.0\n+8\t0.0\n+9\t0.0\n+10-11\t0.0\n+12-13\t0.0\n+14-15\t0.0\n+16-17\t0.0\n+18-19\t0.0\n+20-21\t0.0\n+22-23\t0.0\n+24-25\t0.0\n+26-27\t0.0\n+28-29\t0.0\n+30-31\t0.0\n+32-33\t0.0\n+34-35\t0.0\n+36-37\t0.0\n+38-39\t0.0\n+40-41\t0.0\n+42-43\t0.0\n+44-45\t0.0\n+46-47\t0.0\n+48-49\t0.0\n+50-51\t0.0\n+52-53\t0.0\n+54-55\t0.0\n+56-57\t0.0\n+58-59\t0.0\n+60-61\t0.0\n+62-63\t0.0\n+64-65\t0.0\n+66-67\t0.0\n+68-69\t0.0\n+70-71\t0.0\n+72-73\t0.0\n+74-75\t0.0\n+76-77\t0.0\n+78-79\t0.0\n+80-81\t0.0\n+82-83\t1.8667234150584845E-4\n+84-85\t0.0\n+86-87\t1.8667234150584845E-4\n+88-89\t0.0014933787320467876\n+90-91\t0.0\n+92-93\t0.0011200340490350907\n+94-95\t0.0\n+96-97\t0.0\n+98-99\t0.0\n+100-101\t0.01456044263745618\n+>>END_MODULE\n+>>Sequence Length Distribution\tpass\n+#Length\tCount\n+101\t267849.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\twarn\n+#Total Deduplicated Percentage\t63.826611251945884\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t81.66283073871745\t52.122617512935754\n+2\t9.894108596885154\t12.630148461958491\n+3\t3.18062640137576\t6.090258145748586\n+4\t1.5566170090070461\t3.974143548082379\n+5\t0.8538567368205473\t2.7249391002950074\n+6\t0.5533319107768025\t2.119038045746843\n+7\t0.3960736941041749\t1.7696029190496514\n+8\t0.2698969625036296\t1.3781286803040145\n+9\t0.23212846037984958\t1.3334375701059644\n+>10\t1.3969694370078172\t15.730893862039416\n+>50\t0.0035600524217624095\t0.12679215373389083\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\tpass\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.0\t0.0\t0.0\t0.0\n+3\t0.0\t0.0\t0.0\t0.0\n+4\t0.0\t0.0\t0.0\t0.0\n+5\t0.0\t0.0\t0.0\t0.0\n+6\t0.0\t0.0\t0.0\t0.0\n+7\t0.0\t0.0\t0.0\t0.0\n+8\t0.0\t0.0\t0.0\t0.0\n+9\t0.0\t0.0\t0.0\t0.0\n+10-11\t0.0\t0.0\t0.0\t0.0\n+12-13\t0.0\t0.0\t0.0\t0.0\n+14-15\t0.0\t0.0\t0.0\t0.0\n+16-17\t0.0\t0.0\t0.0\t0.0\n+18-19\t0.0\t0.0\t0.0\t0.0\n+20-21\t0.0\t0.0\t0.0\t0.0\n+22-23\t0.0\t0.0\t0.0\t0.0\n+24-25\t0.0\t0.0\t0.0\t0.0\n+26-27\t0.0\t0.0\t0.0\t0.0\n+28-29\t0.0\t0.0\t0.0\t0.0\n+30-31\t0.0\t0.0\t0.0\t0.0\n+32-33\t0.0\t0.0\t0.0\t0.0\n+34-35\t0.0\t0.0\t0.0\t0.0\n+36-37\t0.0\t0.0\t0.0\t0.0\n+38-39\t0.0\t0.0\t0.0\t0.0\n+40-41\t0.0\t0.0\t0.0\t0.0\n+42-43\t0.0\t0.0\t0.0\t0.0\n+44-45\t0.0\t0.0\t0.0\t0.0\n+46-47\t0.0\t0.0\t0.0\t0.0\n+48-49\t0.0\t0.0\t0.0\t0.0\n+50-51\t0.0\t0.0\t0.0\t0.0\n+52-53\t0.0\t0.0\t0.0\t0.0\n+54-55\t0.0\t0.0\t0.0\t0.0\n+56-57\t0.0\t0.0\t0.0\t0.0\n+58-59\t0.0\t0.0\t0.0\t0.0\n+60-61\t0.0\t0.0\t0.0\t0.0\n+62-63\t0.0\t0.0\t0.0\t0.0\n+64-65\t0.0\t0.0\t0.0\t0.0\n+66-67\t0.0\t0.0\t0.0\t0.0\n+68-69\t0.0\t0.0\t0.0\t0.0\n+70-71\t0.0\t0.0\t0.0\t0.0\n+72-73\t0.0\t0.0\t0.0\t0.0\n+74-75\t0.0\t0.0\t0.0\t0.0\n+76-77\t0.0\t0.0\t0.0\t0.0\n+78-79\t0.0\t0.0\t0.0\t0.0\n+80-81\t0.0\t0.0\t0.0\t0.0\n+82-83\t0.0\t0.0\t0.0\t0.0\n+84-85\t0.0\t0.0\t0.0\t0.0\n+86-87\t0.0\t0.0\t0.0\t0.0\n+88-89\t0.0\t0.0\t0.0\t0.0\n+>>END_MODULE\n+>>Kmer Content\twarn\n+#Sequence\tCount\tPValue\tObs/Exp Max\tMax Obs/Exp Position\n+TACGAGG\t60\t0.0039460836\t31.665857\t9\n+CCCAGAT\t105\t6.861368E-5\t27.157375\t1\n+AATCAAC\t70\t0.008381328\t27.142164\t5\n+CTTGTAT\t120\t0.004739449\t19.802252\t1\n+TCGCTCA\t130\t0.007549489\t18.268764\t2\n+CCCCACT\t195\t0.0044338168\t14.623201\t1\n+TTCAACA\t295\t0.005166332\t11.270898\t2\n+CTTGAAG\t305\t0.006593838\t10.90747\t1\n+>>END_MODULE\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/featurecounts_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/featurecounts_data.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,12 @@
+Status 70: TopHat on data 1, data 4, and data 3: accepted_hits 75: TopHat on data 1, data 6, and data 5: accepted_hits 80: TopHat on data 1, data 8, and data 7: accepted_hits 85: TopHat on data 1, data 10, and data 9: accepted_hits 90: TopHat on data 1, data 12, and data 11: accepted_hits 95: TopHat on data 1, data 14, and data 13: accepted_hits
+Assigned 321797 445012 394981 437485 388170 453929
+Unassigned_Ambiguity 2333 3424 3121 3692 2782 3554
+Unassigned_MultiMapping 19123 25293 22580 19907 21164 23533
+Unassigned_NoFeatures 111117 165786 129664 146327 132063 160805
+Unassigned_Unmapped 0 0 0 0 0 0
+Unassigned_MappingQuality 0 0 0 0 0 0
+Unassigned_FragmentLength 0 0 0 0 0 0
+Unassigned_Chimera 0 0 0 0 0 0
+Unassigned_Secondary 0 0 0 0 0 0
+Unassigned_Nonjunction 0 0 0 0 0 0
+Unassigned_Duplicate 0 0 0 0 0 0
b
diff -r 4612d775965f -r c503e1c1fbad test-data/htseq_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/htseq_data.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,5 @@
+__no_feature 19
+__ambiguous 0
+__too_low_aQual 0
+__not_aligned 1336
+__alignment_not_unique 0
b
diff -r 4612d775965f -r c503e1c1fbad test-data/log_fastqc.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/log_fastqc.txt Thu May 25 17:51:17 2017 -0400
[
b"@@ -0,0 +1,57 @@\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: /home/dpryan/miniconda2/lib/python2.7/site-packages/multiqc-1.0-py2.7.egg/multiqc_config.yaml\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: /home/dpryan/.multiqc_config.yaml\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  No MultiQC config found: multiqc_config.yaml\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Command used: /home/dpryan/miniconda2/bin/multiqc multiqc_WDir\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Could not connect to multiqc.info for version check\n+[2017-05-25 01:09:17,435] multiqc                                            [INFO   ]  This is MultiQC v1.0\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Command     : /home/dpryan/miniconda2/bin/multiqc multiqc_WDir\n+[2017-05-25 01:09:17,435] multiqc                                            [DEBUG  ]  Working dir : /tmp/tmptvpHhR/job_working_directory/000/2/working\n+[2017-05-25 01:09:17,435] multiqc                                            [INFO   ]  Template    : default\n+[2017-05-25 01:09:17,436] multiqc                                            [INFO   ]  Searching 'multiqc_WDir'\n+[2017-05-25 01:09:17,436] multiqc                                            [DEBUG  ]  Analysing modules: custom_content, peddy, methylQA, qualimap, preseq, quast, rna_seqc, rseqc, busco, goleft_indexcov, snpeff, gatk, htseq, bcftools, featureCounts, picard, prokka, samblaster, samtools, bamtools, bismark, hicup, salmon, kallisto, slamdunk, star, tophat, bowtie2, bowtie1, adapterRemoval, cutadapt, trimmomatic, skewer, sortmerna, fastq_screen, fastqc, clusterflow\n+[2017-05-25 01:09:17,436] multiqc                                            [DEBUG  ]  Using temporary directory for creating report: /tmp/tmpExYq9v\n+[2017-05-25 01:09:17,570] multiqc.modules.custom_content.custom_content      [DEBUG  ]  No custom content found\n+[2017-05-25 01:09:17,573] multiqc.modules.peddy.peddy                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,576] multiqc.modules.methylQA.methylQA                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,578] multiqc.modules.qualimap.QM_BamQC                  [DEBUG  ]  Using default Qualimap thresholds: 1, 5, 10, 30, 50\n+[2017-05-25 01:09:17,579] multiqc.modules.qualimap.qualimap                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,581] multiqc.modules.preseq.preseq                      [DEBUG  ]  Could not find any preseq data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,584] multiqc.modules.quast.quast                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,586] multiqc.modules.rna_seqc.rna_seqc                  [DEBUG  ]  Could not find any RNA-SeQC data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,589] multiqc.modules.rseqc.rseqc                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,591] multiqc.modules.busco.busco                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,594] multiqc.modules.goleft_indexcov.goleft_indexcov    [DEBUG  ]  Did not find goleft indexcov outputs in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,596] multiqc.modules.snpeff.snpeff                      [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,598] multiqc.modules.gatk.gatk                          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,601] multiqc.modules.htseq.htseq                        [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,6"..b",)\n+[2017-05-25 01:09:17,611] multiqc.modules.prokka.prokka                      [DEBUG  ]  Could not find any Prokka data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,614] multiqc.modules.samblaster.samblaster              [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,617] multiqc.modules.samtools.samtools                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,619] multiqc.modules.bamtools.bamtools                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,621] multiqc.modules.bismark.bismark                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,624] multiqc.modules.hicup.hicup                        [DEBUG  ]  Could not find any HiCUP data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,626] multiqc.modules.salmon.salmon                      [DEBUG  ]  Could not find any Salmon data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,629] multiqc.modules.kallisto.kallisto                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,631] multiqc.modules.slamdunk.slamdunk                  [DEBUG  ]  No slamdunk reports found.\n+[2017-05-25 01:09:17,633] multiqc.modules.star.star                          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,636] multiqc.modules.tophat.tophat                      [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,638] multiqc.modules.bowtie2.bowtie2                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,641] multiqc.modules.bowtie1.bowtie1                    [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,643] multiqc.modules.adapterRemoval.adapterRemoval      [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,645] multiqc.modules.cutadapt.cutadapt                  [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,648] multiqc.modules.trimmomatic.trimmomatic            [DEBUG  ]  Could not find any Trimmomatic data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,650] multiqc.modules.skewer.skewer                      [DEBUG  ]  Could not find any data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,652] multiqc.modules.sortmerna.sortmerna                [DEBUG  ]  Could not find any SortMeRNA data in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,655] multiqc.modules.fastq_screen.fastq_screen          [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,694] multiqc.modules.fastqc.fastqc                      [INFO   ]  Found 1 reports\n+[2017-05-25 01:09:17,748] multiqc.modules.clusterflow.clusterflow            [DEBUG  ]  Could not find any reports in ('multiqc_WDir',)\n+[2017-05-25 01:09:17,750] multiqc                                            [INFO   ]  Compressing plot data\n+[2017-05-25 01:09:17,802] multiqc                                            [INFO   ]  Report      : multiqc_report.html\n+[2017-05-25 01:09:17,802] multiqc                                            [INFO   ]  Data        : multiqc_data\n+[2017-05-25 01:09:17,802] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_general_stats.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n+[2017-05-25 01:09:17,803] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_fastqc.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n+[2017-05-25 01:09:17,803] multiqc                                            [DEBUG  ]  Moving data file from '/tmp/tmpExYq9v/multiqc_data/multiqc_sources.txt' to '/tmp/tmptvpHhR/job_working_directory/000/2/working/multiqc_data'\n+[2017-05-25 01:09:17,900] multiqc                                            [INFO   ]  MultiQC complete\n"
b
diff -r 4612d775965f -r c503e1c1fbad test-data/picard_CollectAlignmentSummaryMetrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/picard_CollectAlignmentSummaryMetrics.txt Thu May 25 17:51:17 2017 -0400
[
@@ -0,0 +1,10 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.analysis.CollectAlignmentSummaryMetrics MAX_INSERT_SIZE=100000 METRIC_ACCUMULATION_LEVEL=[ALL_READS] IS_BISULFITE_SEQUENCED=false REFERENCE_SEQUENCE=/data/repository/organisms/GRCm38_ensembl/genome_fasta/genome.fa INPUT=D11_H4K16ac_Rep1_R1_fastq_gz OUTPUT=/data/galaxy2/files/000/163/dataset_163662.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT    EXPECTED_PAIR_ORIENTATIONS=[FR] ADAPTER_SEQUENCE=[AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCTCGTATGCCGTCTTCTGCTTG, AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATCTCGTATGCCGTCTTCTGCTTG, AATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT, AGATCGGAAGAGCACACGTCTGAACTCCAGTCACNNNNNNNNATCTCGTATGCCGTCTTCTGCTTG] STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Fri Apr 21 14:00:55 CEST 2017
+
+## METRICS CLASS picard.analysis.AlignmentSummaryMetrics
+CATEGORY TOTAL_READS PF_READS PCT_PF_READS PF_NOISE_READS PF_READS_ALIGNED PCT_PF_READS_ALIGNED PF_ALIGNED_BASES PF_HQ_ALIGNED_READS PF_HQ_ALIGNED_BASES PF_HQ_ALIGNED_Q20_BASES PF_HQ_MEDIAN_MISMATCHES PF_MISMATCH_RATE PF_HQ_ERROR_RATE PF_INDEL_RATE MEAN_READ_LENGTH READS_ALIGNED_IN_PAIRS PCT_READS_ALIGNED_IN_PAIRS BAD_CYCLES STRAND_BALANCE PCT_CHIMERAS PCT_ADAPTER SAMPLE LIBRARY READ_GROUP
+UNPAIRED 16199126 16199126 1 112 15925118 0.983085 1189439864 11288718 843872901 802235299 0 0.011597 0.006165 0.000848 74.733459 0 0 0 0.494061 0 0.000014
+
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/picard_CollectBaseDistributionByCycle.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/picard_CollectBaseDistributionByCycle.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,84 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.analysis.CollectBaseDistributionByCycle CHART_OUTPUT=/data/galaxy2/files/000/163/dataset_163657.dat ALIGNED_READS_ONLY=true PF_READS_ONLY=true INPUT=D11_H4K16ac_Rep1_R1_fastq_gz OUTPUT=/data/galaxy2/files/000/163/dataset_163656.dat ASSUME_SORTED=true VERBOSITY=ERROR QUIET=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=/data/repository/organisms/GRCm38_ensembl/genome_fasta/genome.fa    STOP_AFTER=0 COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Fri Apr 21 13:59:56 CEST 2017
+
+## METRICS CLASS picard.analysis.BaseDistributionByCycleMetrics
+READ_END CYCLE PCT_A PCT_C PCT_G PCT_T PCT_N
+1 1 45.534532 6.100294 6.278409 41.942176 0.144589
+1 2 18.642016 31.079914 32.291905 17.974837 0.011328
+1 3 25.118841 24.321879 26.15791 24.401106 0.000264
+1 4 22.612561 27.464826 27.30928 22.606024 0.007309
+1 5 27.970543 22.96859 21.970694 27.090173 0
+1 6 28.405874 22.976144 21.741647 26.875952 0.000383
+1 7 31.150444 19.648545 20.094438 29.10656 0.000013
+1 8 31.215988 19.341113 20.496087 28.946812 0
+1 9 31.733121 18.755302 20.342562 29.169015 0
+1 10 31.51068 19.338274 20.26157 28.889475 0
+1 11 31.155932 19.344704 20.729096 28.770267 0
+1 12 28.641307 21.681095 22.115748 27.561843 0.000006
+1 13 28.644403 21.190688 21.233551 28.931359 0
+1 14 27.912176 22.509522 21.398893 28.179408 0
+1 15 29.987269 20.65125 20.583967 28.777514 0
+1 16 30.695446 20.751024 19.720664 28.832866 0
+1 17 32.301494 19.466964 19.056719 29.174754 0.000069
+1 18 31.991424 19.465319 19.428886 29.114371 0
+1 19 31.223398 19.283091 20.843846 28.649665 0
+1 20 30.001159 20.431045 21.682439 27.885357 0
+1 21 30.268972 20.128608 21.518529 28.08389 0
+1 22 29.507609 20.991486 21.551678 27.949227 0
+1 23 29.228924 20.961638 22.202396 27.607042 0
+1 24 28.895271 21.140428 22.773371 27.190931 0
+1 25 30.220087 20.183506 21.007244 28.589163 0
+1 26 30.747733 19.55149 20.989765 28.711005 0.000006
+1 27 30.618992 19.162575 20.686703 29.531698 0.000031
+1 28 31.561628 19.651299 20.291748 28.495305 0.000019
+1 29 31.889741 19.244628 20.387671 28.477401 0.000559
+1 30 30.01585 20.370968 21.669604 27.943339 0.000239
+1 31 29.948939 20.187892 21.74697 28.116198 0
+1 32 29.83526 20.721207 21.226889 28.216644 0
+1 33 28.951574 21.118594 21.807089 28.122743 0
+1 34 29.250508 21.589012 20.80903 28.351444 0.000006
+1 35 29.741069 20.846087 21.339816 28.073028 0
+1 36 29.685575 20.657699 21.409349 28.247377 0
+1 37 30.435943 19.845352 21.605325 28.11328 0.0001
+1 38 31.52442 19.566381 20.859275 28.049918 0.000006
+1 39 31.915805 19.322889 20.315213 28.445698 0.000396
+1 40 31.415236 19.831291 20.60081 28.152663 0
+1 41 31.151606 20.007274 19.953602 28.887329 0.000188
+1 42 29.605015 21.700164 21.132809 27.561943 0.000069
+1 43 28.856192 21.690732 21.620633 27.832141 0.000302
+1 44 28.354815 21.89939 21.789262 27.956319 0.000214
+1 45 28.785938 21.376155 22.083299 27.443347 0.311262
+1 46 30.020967 20.974608 20.997153 28.006939 0.000333
+1 47 30.905677 19.834877 21.050285 28.209156 0.000006
+1 48 31.123254 20.025503 20.781792 28.068879 0.000572
+1 49 32.061167 19.135286 20.210972 28.592399 0.000176
+1 50 31.368968 19.831498 20.33522 28.464018 0.000295
+1 51 30.241493 20.530902 21.628272 27.599157 0.000176
+1 52 29.272115 21.228524 22.138875 27.360278 0.000208
+1 53 28.876831 20.985166 22.109191 28.028328 0.000484
+1 54 28.25128 21.263287 22.617006 27.868106 0.000321
+1 55 29.677859 20.048159 21.516525 28.756368 0.001089
+1 56 31.025964 19.638994 21.162354 28.1717 0.000988
+1 57 32.3089 19.022943 19.727314 28.939987 0.000856
+1 58 33.069967 18.780516 19.315424 28.832859 0.001234
+1 59 32.5634 19.018873 19.681712 28.735624 0.000391
+1 60 31.033388 19.63991 20.28236 29.043106 0.001235
+1 61 28.877884 21.063797 22.54864 27.508242 0.001437
+1 62 28.206236 21.933072 21.756687 28.103248 0.000757
+1 63 28.076144 21.765468 22.13245 28.025345 0.000593
+1 64 28.444021 21.930975 21.519278 28.105031 0.000694
+1 65 30.427586 20.515343 21.251214 27.804511 0.001345
+1 66 30.96119 20.454946 20.819432 27.764078 0.000354
+1 67 31.55559 19.752271 19.98091 28.7104 0.000829
+1 68 30.884355 19.787006 21.169721 28.158438 0.000481
+1 69 29.915794 19.951388 21.827419 28.302832 0.002566
+1 70 29.720163 20.878848 21.185973 28.214947 0.00007
+1 71 28.563014 21.296438 21.558676 28.580233 0.001639
+1 72 27.775812 22.725309 21.897851 27.599987 0.001041
+1 73 28.801882 22.042398 21.835818 27.319535 0.000367
+1 74 29.842933 21.375107 20.192959 28.587638 0.001363
+1 75 28.875221 21.990286 22.042923 27.09157 0
+
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/picard_CollectRnaSeqMetrics.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/picard_CollectRnaSeqMetrics.txt Thu May 25 17:51:17 2017 -0400
[
@@ -0,0 +1,113 @@
+## htsjdk.samtools.metrics.StringHeader
+# picard.analysis.CollectRnaSeqMetrics REF_FLAT=refFlat.tab STRAND_SPECIFICITY=NONE MINIMUM_LENGTH=500 CHART_OUTPUT=/tmp/tmpRJquSu/files/000/dataset_14.dat RRNA_FRAGMENT_PERCENTAGE=0.8 METRIC_ACCUMULATION_LEVEL=[ALL_READS] INPUT=picard_CollectRnaSeqMetrics_bam OUTPUT=/tmp/tmpRJquSu/files/000/dataset_15.dat ASSUME_SORTED=true VALIDATION_STRINGENCY=LENIENT REFERENCE_SEQUENCE=localref.fa    STOP_AFTER=0 VERBOSITY=INFO QUIET=false COMPRESSION_LEVEL=5 MAX_RECORDS_IN_RAM=500000 CREATE_INDEX=false CREATE_MD5_FILE=false GA4GH_CLIENT_SECRETS=client_secrets.json
+## htsjdk.samtools.metrics.StringHeader
+# Started on: Thu Dec 08 10:55:06 CET 2016
+
+## METRICS CLASS picard.analysis.RnaSeqMetrics
+PF_BASES PF_ALIGNED_BASES RIBOSOMAL_BASES CODING_BASES UTR_BASES INTRONIC_BASES INTERGENIC_BASES IGNORED_READS CORRECT_STRAND_READS INCORRECT_STRAND_READS PCT_RIBOSOMAL_BASES PCT_CODING_BASES PCT_UTR_BASES PCT_INTRONIC_BASES PCT_INTERGENIC_BASES PCT_MRNA_BASES PCT_USABLE_BASES PCT_CORRECT_STRAND_READS MEDIAN_CV_COVERAGE MEDIAN_5PRIME_BIAS MEDIAN_3PRIME_BIAS MEDIAN_5PRIME_TO_3PRIME_BIAS SAMPLE LIBRARY READ_GROUP
+48870 48712 0 38786 0 9926 0 0 0 0 0.796231 0 0.203769 0.796231 0.793657 0 0.91593 0.430026 0.235755 1.402829
+
+## HISTOGRAM java.lang.Integer
+normalized_position All_Reads.normalized_coverage
+0 0.313906
+1 0.333933
+2 0.365536
+3 0.344525
+4 0.371353
+5 0.378606
+6 0.518015
+7 0.51266
+8 0.500497
+9 0.690539
+10 0.829611
+11 0.784227
+12 0.825037
+13 0.730533
+14 0.73133
+15 0.693057
+16 0.873759
+17 0.774195
+18 0.721989
+19 0.791727
+20 0.697702
+21 0.698451
+22 0.568885
+23 0.689955
+24 0.580475
+25 0.602348
+26 0.657286
+27 0.600594
+28 0.48185
+29 0.478605
+30 0.646053
+31 0.689366
+32 0.740073
+33 0.695415
+34 0.708419
+35 0.714707
+36 0.707421
+37 0.793703
+38 0.84384
+39 0.819497
+40 0.982412
+41 1.172387
+42 1.28116
+43 1.379184
+44 1.416285
+45 1.32892
+46 1.248258
+47 1.308676
+48 1.085518
+49 1.006687
+50 0.851309
+51 0.693805
+52 0.672921
+53 0.684999
+54 0.62579
+55 0.529832
+56 0.546564
+57 0.566014
+58 0.615824
+59 0.565042
+60 0.547677
+61 0.642067
+62 0.83636
+63 0.937071
+64 1.057465
+65 1.168829
+66 1.375228
+67 1.489487
+68 1.530099
+69 1.287542
+70 1.442585
+71 1.347823
+72 1.424913
+73 1.468345
+74 1.796846
+75 1.79639
+76 1.747908
+77 1.76867
+78 1.773528
+79 1.670178
+80 1.740083
+81 1.809632
+82 2.019967
+83 2.201517
+84 2.150455
+85 2.327367
+86 2.261259
+87 1.929731
+88 1.936627
+89 1.80697
+90 1.789004
+91 1.642341
+92 1.408203
+93 1.159737
+94 0.990047
+95 0.697842
+96 0.377809
+97 0.243433
+98 0.218816
+99 0.223665
+100 0.225079
+
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_all.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_all.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,5927 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_bismark.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_bismark.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4682 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgRglgzgtghgJwNYH04BsIHMB2MCmOALiAFwAEoADugPZEpECeV+Z54iKWCcVAFiAA0HACZwicKPiJR2AbXmgAxrToJ2IAMQAmAGYB2fKIAcwsRLgKdOgAwBWeyYB0tgLoiQOOAU0BBTFxjcgBVHAgARwBXfHQmEABfERU1Wg0KbQAWAE4dbINbcxBxSQUARmzbTNcPDm9fDIDsHGC/GEgsKNooqDjE5JBVdU0tW1EdAGYJq08Sqwp5bIncl3dPerYMgBEIUXIAOXpyJtxEt1rB2hw9bHZQJnQ4MBHyACV8OFE5T2UqKAB3CBEZT8FCqKLEKAoR5gWKafZRdr4BDkWh6N4fL5FXaaSCwRCoDDNAjEIpEIHoTYcABC0HgyGOgTwhCI5AAyqoEPg5EkOFAfDRuQp5OA6QSUHMQOdeaL8cgUFAiLwcKI0EySSQKNQ6AxmKxcVweHxBLNLNJZMLQJKFmUyjZbAA2GrrHxUkAAeQQ2Ag3nQ5DA9CItBg5EVytE/UoxUs5VsJgm9h0zrqrs0nu9vvIQaooaVcBVZwuqmuty1gz+gOBoPBkOhTzhGQRSJRaIxn2+HHJREp/nVLKztHIAEkVRAAG67KIYci0qBRdA3Ij4dl5lUdkCKuDKJA+rCaVgIZQsoq/AFAkFgtDKcljql6DDSTwPJ6aACkbaxnhxGTx9NQYfzVUiVwDVIw3AVKTkBYRV/cVJWlBIgAA==\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAA'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_bowtie2SE.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_bowtie2SE.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4645 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgRg9g7gLglgUwEwH0DOCUAcA2EYgBcABKLvijAJ5YJHHgCGATigObONYAWIANAwAmjGIwww09ANpTQAYwh5m9EAGIkABgCsANgAcAM35CRjaQEYAzEgCcNgCw7LAOg0DzGjXoDs38/dcAXQEQADtGAFs6EhAAZQBRYgiuWkFiAFdQuABHdIQcKhAAXwF5RQhlGNUDb0ZLLTljEGFRaW9LPRstbx1XAS09S297DQCNYIZwqJUEpPSceGSsVOLSkAUlFVUbPXMbPaaWsxIpevNdFzdiJGHPPSCQqeiGWdD8YkYcODZQhEFiwITdYQUIGb70UBUHCMMBbYgAJQQjEEkhC8BgOGeIAAQtB4AhrsRZgBBL4/KKhGBEhTMBCohhyLBoKBwGBybgoBSZCQoaFgfIqABy6Qi/OYxAgBgRSJRTTg/xikFgiFQGGweAIJQYaEiuDp0ik4DxKoS5iaSvxSASSBAgKKRSAAA=\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_cutadapt.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_cutadapt.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4650 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_fastqc.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_fastqc.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,5477 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_fastqc_2.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_fastqc_2.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,5477 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_featurecounts.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_featurecounts.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4656 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgZgpghgLgrgJwgYQPZwHYwM4H0rbYCWA5hgLYRa4AOANqjCAFwAEo9juMAnjRC1YgARlAS4SCKDQAWIADRCAJrAIQcggNqbQKmFC0BmAEwBGAOwBOcwDoADIoAsjgKx3Tx+4sOXHlgBymXqyOhuaO/i7Bhv6B5nbBrj7GlvYAuoogGFCUgiAAgoSkGBBKIAC+irqqWsaG9dGOxo7RHkEOrIYAbJaeHcbm/n3eLi4tdhlC2blsIACq2UVkpbj55MKkcES8FVUgegZsmqaWHobBxi4p5/2X/gkdJ5Z2tv2mpl3jinUuDROZ0wEswWBGIyyUuAAsnA6DAiJDpDQiBgSLt2Psakd3tjXooPi5Bl1gh5LF1PsTHF0TLjWKYTHYqcSunZ7lF/lMckChCCliUIQA5VAAMWg8CQ2AqaUmIAAxqgMGBSIJQDw6FBhHkAMSsABK0CUEsyMpo2AA7tsZTJcHLMDhcGrhBA6Hl+XB1hAEKxUGBdfrDUIiGVZpBYIgUOgsHhQcVKNROExMnCYHQueBRWG0LbsKxCmCKFQNJUhNgcvQIBKjpoQPE2AAVVA0AASsC9GFYB1pig7jkUUAwSnbqk6bCgMplEBoMBWMm2/urLjrDebMFbg/0nbXUFYXV7/c3rAXrFH48n09nCiE90XTZb8v3pi7Q/8u4HHfMI7HE6nEJnGkykWvZdVw7B97w6PtXyHSwPxPb9cF/OdnkA282xAx91w8F971MGCvzPP8hEsQ96xvFc7zQ+8eyPPcQMMXDTx/c8pXKcogAAA=\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGA'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_htseq.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_htseq.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4656 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgFgLgzgpgjgfQIZSgSwOYDsC2MsQIAOANgPYQgBcABKKRQhAJ5EzU0gBGSATghl5IiYEABpOAEyQQUMaBwDai0NNlKADADoNAXQkgsSPBxABBVJiwxJIAL4TVMpJp37ORk7XM4umAK5k/lD2jiBqLrSK2noGnuzeZiRWeAQ0AHIUNACqWGhw/uwOdOHOSgCMAJxuccYJnJk0AGIwMv68RWERrrEedaYAKmRkNAAyZADuNEgAiv5IJKEl3VHlAMxrAGw1fV4NWUlWNva67iAAxmRYAGaYHKDMJEhcpgDENABKrZIhBmBokhgCAAXjBeGQEOcZCFaNcFrADOciFAJmgIOcwJCggQoAgnlwYItvOl/L4wTQyNdPt9fpwAaZILBECh0NhUoQGJQDBA0SR6iAABIDADK8BoAGFsRAaBZWbh8ApiiAoMZSDAYTRlOBoPAEN1TnY7EAAAA==\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAs'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_picard.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_picard.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4826 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_rnastar_counts.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_rnastar_counts.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4586 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgzgLghgTg+gcwKYDslwMYHsCuKJggBcABKAA4A2WEcEAnuUsSSAEayIxTkAWIAGlYATKNDBICLANrTQ2ajBYgAxACYAZgHYkwgByCRYqDICcpgHQAGALpCQKKAFtmpEAHkAbkhiUe5AEsUBBIAcVQkQgBfIXksRWUVDTU9DQAWAGZDEFFoGQBGaztWRxdlAFkcSggAp38ghBAo4rkQBSwlN3VtXQN7XJNSaTS9IvtS11YvHz9yQOCwiOjYtviOxKthNQyMk37jGQBWQttx50mQADksEgAxJDEcGGYYslWEruTUzOyBgrGSucKlUanU5g0mi04h9WN0dPpfgchscAQ4gW5pr56gtwmhlm92p1YZttrtEXkhiNURNlNc7g8IE8XitCYkvuksvsKSRpCdimiym5KtVatjGs1+dgUBoAo1SKB6H42IkSAAlB7CQj2DDkMAAdwCEAwvEwuHwYDgSqQlFpOCcbB8JCwGjVGq1rACwmUkE4yDQprwUi5UEtUAdlEIQxAAFUUJBuChhLpsgBlc4kFMQBNJr32dXeGASDNZqCJ5P8moQSgXFMAFQAgqrFmgSABhM1SV7gZxUSIyaQgGCOH1KFqD4fQUdCAdDqAjkA2GxRKJAAA\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwA'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_rnastar_log.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_rnastar_log.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4658 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgzgLghgTg+lANgSwOYDsC2BTdE4AOiA9hCAFwAEoRpcEAngdhZSAEaxyoxQEAWIADRsAJlGhhsEMKwDac0AGNiJGKxABiACwBmAOzt2ARmFiJUeQA4AnADoADAF0RIdFBwaAqumQBHAFdsRAZKTD5mURAAXxFlVWJ1Ki19JXYAVmwlMxBxaHljRxc2d09kgFkI7FFKCGIwgMQIZCJsShIlZBi4kBU1DU0TByttbNc8yyo5Ywci11KWZJ9wgkiqOvqwfkSyaKdi3uJ0ADM0VlAGRCh2AcoAJWwoUVlXJQIwAHdkCCV+OBUAngwHAruxghoAHIBTBgmCUYjHe6PZ45ZBRZKQLhINBYXD4WhkVzNCCIRZsADKABUAIJ3SjUlAYHB4SjklQwbCyWJsMAeVqyKZyEAwdyY+AkVAgfbRaJAAA==\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAsJCROZVLF/ptNz3F/rgboy67oOZHp7z0T'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_samtools.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_samtools.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4747 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'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\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_samtools_idxstats.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_samtools_idxstats.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4605 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgzghgtgLg9nANmAtASwCYA8wwjVLATxQAdE4YQAuAAlHMoH0YjSBTG2kAIwgCcmAc34RSACxAAabhnwQw7AlwDaK0HLyqArAAYAbAA5dugHS6AujJAA7aJzogAwuP5wocMO/a0AGiABfGQ15VQBGAGYAJjCATjNLazsoB24XNw8vFNoATUCLK24AYzgbADM0IS5QItIwAHc0GCLxJhKAVxsCJkQIHnZELhAAOXaofv5aODLaACV2CAwwaW4YJsRUkABlaHgkMFpMHDwCWhRaFv5fHNooMQ4MWn4FpZXwPCKAazQbKscOfhFdhdN61BpNFpMAFAro9PoDIYABXYgOBMCmM18AGobvNFstrGDGs1WkUmBAimsAG6pMoQZDsaxEXo8JEomHo6Z+HFzF4E7iYIaQWAIZDobC4fCEEiMKhBbjC8jsZZ0NTgXaisBMI6S5QFeXqkX7cXHKUoO6kB4oZ74sgUKh0Bj2lhsTbEHo/TjWTQKJQq2hqEJaVUJfSRfS6CJh/T6KKx2OxfQyBIAFhMUW0kUzEW02gA7PoIrFk+Yc5GI7FDBE4voU4YMyXdJmY9oUxn9HoojEoinGxE8/2Iimwl204m273aAk82mq3mq4YjLE85XG1Fl1Xonm4sPDCmjJOElF64Y83H13G00Oh2u8/PDLFYkPC5GwmE82uO4ZvwWC0Z59oxZTuYYT6PEUYDsYhYDk2EQlmEdZ3ouYR6ChgGVkBCR6EWKYrghUTRLosS5o2+45nE0RVomhiRKBpG7v2hjaIWy76AOUSkfWw53nmraxChXYccBugphEkYEYmj5gcRzGNsxPbMW+KaxD2i5RLxjbbg+YE9kRYSLq22h9vpElpro77qREQ6HuYuhViYZ5DgRMRhE2SbCe+eiSbxA45iRwnmdEgG5oWNFifEGkBSOK5tto/YGLGp45oUtj2EKGr7NqEonMsASFOoIA+qoy7btuMjQWmRm0LmK6tjI9bqfOMjBe+7lviuK5wbQuGiZGMgpnouGGP1sWif1BGiWEMhxvxT7TVGT7vvVugZmNtCQaBugyHm5bRNtRjtuVTHru5D75vpMhKcpbHNQYxhbbQkQxPE033imk4uXRtBRJGvEpckmzCnsyBZaayh5SlJTlJU1QgFgLJDOk7ieN4tDDGl1hrDAGxDDsRrIIc2VSmctAALL3Owjw2kstAAhcpRrFU3ryHC/TIKooDMn0QwAGKiJSaClBitDwHgiD050VBJGljjDHA/B3IgaCKI8ThwJLuXBCAXOso4ADEtwU1TfJvADiPq10uUpTAMCswijgADy4G4vwAHzAKQcA/DAphFPg7BCPLRABNQDsAPTO6UQiu/Qnve6YRDUKYURlAEbw60MBsWg8Twm9YgqOEDmomrqqDZ5T1p8nalCgv7gf8GgyqqCAYRvK5bet9YI5txEbcpm32ht/obd5m3hht7EbxRG8vfWP31iD9Yw/WKP1jj9Yk/WP41h5NYABSAAS2h7mJKamJ33AAOIADIDSxUTn28N930W+iPxYASf0AAAA=\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgRQTFRFAAAAHR0bvhYi0QkfuRojAJZAAJY/IWzIHnC9HXG4HR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bHR0bvhYivhYivhYivhYivhYivhYivhYiwBUiwRQhwRQhwxIh3gEdyBAgQGs2KHs6KXo6KXo5JX06BZI/AJhAAJdAAJdAAJc/AJc+AJc+AJc+AJc8AJ0pBo9XFHyUFnqbFnqaGXemHXG5H2/AHXG5HXG5HXG5HXG4HXG4HXG4HXG4HXG4HXG4HXG4HR0b////FByqhAAAAKp0Uk5TAAAAAAAAAAAAAAESGBcRBgoJnNPQ0rQcWVoLwPtXAqFuv5Mk3NoibP79XQSo+vSbAyzj9+7H4Cl18s7wifFjB7C9nryjBTTpdJFQgOYvfe04Nexot6yXYrKrPeo2heIromkq4ZlrpbFRtW1k/MjUHbuY9ktSw8R673h3M2ETOj08FhiRvLi6aAIJMEtKSkkzBzyxurm6sTkBEj1JSUEeAmq9vL6UHQcWFwlLDobJAAAAAWJLR0SryQFnKAAAAAlwSFlzAAAuIwAALiMBeKU/dgAAAa5JREFUOMut0tdXE0EYBfD9QBRIIgkEDZDQhUBQAgGlBCIlSlGqSlFBVKoiSu8oHQWpIhaUpuD9K50JOXlgJm/cp2/u+Z3dnZ1RFApUqTUa9eVAUk5DQRoWtdaz1gWH6PWhV656CoOeJTTMsw6PAIvR5C4oMoqvEe0B2hhXEet+B8XFy8G1BDdINMtBUrKrIUsKJOD6DSDVyitKS4fZZj4LMjKBm7dcIAvIzhGekGvPgzmfVeS4DRQUCsBmKgKKnaTQnbtASakAjGXlwL37RFQBVFbFCiDJUF0D1BJpHwAPHY/EbdZZ6oEGBzVmcJcqglr+9Y+f0FOgqZmeiaCFnr9gZTibX1qtDSJoJWsb0N6RDaOBHJ0i6CJ69RqV3cCbHtK9lYKeEID9YjuRrkgK6B0/o94+b0ChfhsbBlTegWqQDUMkANeV44DswHAjG84Ap2FkdHSMn2Rz1sg4u8xkMbmb88nE5JSXvP/g48PA9MzsnDzzC4u+DFxY+vhpWZqVz6trfkz4rW9sbknzZfvrRQ52vn3/Ic/P3V+XmPD/vbd/IM/h0R++kYC/x95y8u8/kOgi2/X4mGIAAAAldEVYdGRhdGU'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/report_tophat.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/report_tophat.html Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,4656 @@\n+<!DOCTYPE html>\n+<html lang="en">\n+<head>\n+\n+  \n+\n+<meta charset="utf-8">\n+<meta http-equiv="X-UA-Compatible" content="IE=edge">\n+<meta name="viewport" content="width=device-width, initial-scale=1">\n+\n+<meta name="description" content="MultiQC: A modular tool to aggregate results from bioinformatics analyses across many samples into a single report">\n+<meta name="author" content="MultiQC">\n+<title>MultiQC Report</title>\n+\n+<!-- JSON plot data -->\n+<script type="text/javascript">\n+mqc_compressed_plotdata = \'N4IgLg9gDgFghmA+nANgSwOYDsC2BTLMEALgAJQoUIkwBPKPE0kAIzgCdEN25YQAaZgBMEcAM54wYpgG0ZoAMYQq7JiADEAFgDMAdhYsAjAOGjZ2gAy7d27QDoLAXUEgscfGoCC6bHiEgAX0FFZQhVMg0AM104bQBWBRMQETA4WTiANm0ADgdnZjcPCIBZAFcUMDQcXgZ/IPIQJRU1dTwszQBOYxcUtLIZbU08l0LGCIARNDEldhFCUmqoKDQsDGl6kOaI9V1Ii32LJN7ZACYO7Ljhgvcx5gA5alJUTCw/QMd8xogsSMwmUFoKDgLBapAASng4EJpC4FFAxAB3NBgBQwRBKUqEMSIIEsPAoNR3Uo4PHsUgQSLgyHQpJofwRSCwBDIHy4AhEFyVMAoW4gAAq0HgYFI3he+HmAGUZnh1i4xO5KDLZDJwILmccPgEAkAAA=\';\n+num_datasets_plot_limit = 50;\n+mqc_sample_names_rename = [];\n+</script>\n+\n+  \n+\n+<!-- Favicon includes -->\n+<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,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">\n+<link rel="icon" type="image/png" sizes="96x96" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAuIwAALiMBeKU/dgAACGNJREFUeNrtnUtsFVUYx3+37xYQ5VHlcbFURHwBPgqICBUkIXHtShcuNCZETdCFRo0LE92yMWiCCxfGLW5MatFaUBCQlJeIighSUeQRBMFSbtvr4ptpT2/vvfPNvTNzprfzS5q0tzPnzJn/fN85833nnAsJCROZVLF/ptN'..b'-6">\n+              <select id="tableScatter_col1" name="tableScatter_col1" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+            <div class="col-sm-6">\n+              <select id="tableScatter_col2" name="tableScatter_col2" class="form-control">\n+                <option value="">Select Column</option>\n+              </select>\n+            </div>\n+          </div>\n+          <div class="hc-plot-wrapper">\n+            <div id="tableScatterPlot" class="hc-plot not_rendered hc-scatter-plot no-handle" style="width:566px; height: 510px;">\n+              <small>Please select two table columns.</small>\n+            </div>\n+          </div>\n+        </form>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+\n+\n+<!-- Regex Help Modal -->\n+<div class="modal fade" id="regex_help_modal" tabindex="-1" role="dialog">\n+  <div class="modal-dialog" role="document">\n+    <div class="modal-content">\n+      <div class="modal-header">\n+        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\n+        <h3 class="modal-title">Regex Help</h3>\n+      </div>\n+      <div class="modal-body">\n+        <p>Toolbox search strings can behave as regular expressions (regexes). Click a button below to see an example of it in action. Try modifying them yourself in the text box.</p>\n+        <div class="row">\n+          <div class="col-sm-6 regex_example_buttons">\n+            <button class="btn btn-default" data-example="^samp_1"><code>^</code> (start of string)</button>\n+            <button class="btn btn-default" data-example="samp_1$"><code>$</code> (end of string)</button>\n+            <button class="btn btn-default" data-example="samp_[13]"><code>[]</code> (character choice)</button>\n+            <button class="btn btn-default" data-example="\\d$"><code>\\d</code> (shorthand for <code>[0-9]</code>)</button>\n+            <button class="btn btn-default" data-example="^\\w"><code>\\w</code> (shorthand for <code>[0-9a-zA-Z_]</code>)</button>\n+            <button class="btn btn-default" data-example="._samp"><code>.</code> (any character)</button>\n+            <button class="btn btn-default" data-example="\\."><code>\\.</code> (literal full stop)</button>\n+            <button class="btn btn-default" data-example="(tmp|prepended)_samp"><code>()</code> <code>|</code> (group / separator)</button>\n+            <button class="btn btn-default" data-example="tmpp*_"><code>*</code> (prev char 0 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp+_"><code>+</code> (prev char 1 or more)</button>\n+            <button class="btn btn-default" data-example="tmpp?_"><code>?</code> (prev char 0 or 1)</button>\n+            <button class="btn btn-default" data-example="_1{5}"><code>{}</code> (char num times)</button>\n+            <button class="btn btn-default" data-example="_1{2,5}"><code>{,}</code> (count range)</button>\n+          </div>\n+          <div class="col-sm-6 regex_example_demo">\n+            <input type="text" class="form-control" />\n+<pre>\n+<span>samp_1</span>\n+<span>samp_1_edited</span>\n+<span>samp_2</span>\n+<span>samp_2_edited</span>\n+<span>samp_3</span>\n+<span>samp_3_edited</span>\n+<span>prepended_samp_1</span>\n+<span>tmp_samp_1_edited</span>\n+<span>tmpp_samp_1_edited</span>\n+<span>tmppp_samp_1_edited</span>\n+<span>#samp_1_edited.tmp</span>\n+<span>samp_11</span>\n+<span>samp_11111</span>\n+</pre>\n+            <p>See <a href="https://regex101.com/" target="_blank">regex101.com</a> for a more heavy duty testing suite.</p>\n+          </div>\n+        </div>\n+      </div>\n+      <div class="modal-footer">\n+        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>\n+      </div>\n+    </div>\n+  </div>\n+</div>\n+\n+</body>\n+</html>\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/rnastar_counts.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rnastar_counts.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,5 @@
+N_unmapped 0 0 0
+N_multimapping 1 1 1
+N_noFeature 0 51 48
+N_ambiguous 0 0 0
+GENE1 99 48 51
b
diff -r 4612d775965f -r c503e1c1fbad test-data/rnastar_log.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/rnastar_log.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,34 @@
+                                 Started job on | Mar 01 15:53:05
+                             Started mapping on | Mar 01 15:53:08
+                                    Finished on | Mar 01 15:53:08
+       Mapping speed, Million of reads per hour | inf
+
+                          Number of input reads | 100
+                      Average input read length | 75
+                                    UNIQUE READS:
+                   Uniquely mapped reads number | 89
+                        Uniquely mapped reads % | 89.00%
+                          Average mapped length | 74.80
+                       Number of splices: Total | 47
+            Number of splices: Annotated (sjdb) | 0
+                       Number of splices: GT/AG | 47
+                       Number of splices: GC/AG | 0
+                       Number of splices: AT/AC | 0
+               Number of splices: Non-canonical | 0
+                      Mismatch rate per base, % | 1.73%
+                         Deletion rate per base | 0.00%
+                        Deletion average length | 0.00
+                        Insertion rate per base | 0.00%
+                       Insertion average length | 0.00
+                             MULTI-MAPPING READS:
+        Number of reads mapped to multiple loci | 1
+             % of reads mapped to multiple loci | 1.00%
+        Number of reads mapped to too many loci | 0
+             % of reads mapped to too many loci | 0.00%
+                                  UNMAPPED READS:
+       % of reads unmapped: too many mismatches | 0.00%
+                 % of reads unmapped: too short | 10.00%
+                     % of reads unmapped: other | 0.00%
+                                  CHIMERIC READS:
+                       Number of chimeric reads | 0
+                            % of chimeric reads | 0.00%
b
diff -r 4612d775965f -r c503e1c1fbad test-data/samtools_flagstat.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_flagstat.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,13 @@
+21040602 + 0 in total (QC-passed reads + QC-failed reads)
+0 + 0 secondary
+0 + 0 supplementary
+5448463 + 0 duplicates
+20689039 + 0 mapped (98.33%:-nan%)
+0 + 0 paired in sequencing
+0 + 0 read1
+0 + 0 read2
+0 + 0 properly paired (-nan%:-nan%)
+0 + 0 with itself and mate mapped
+0 + 0 singletons (-nan%:-nan%)
+0 + 0 with mate mapped to a different chr
+0 + 0 with mate mapped to a different chr (mapQ>=5)
b
diff -r 4612d775965f -r c503e1c1fbad test-data/samtools_idxstats.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_idxstats.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,67 @@
+1 195471971 977171 0
+10 130694993 637405 0
+11 122082543 557954 0
+12 120129022 822778 0
+13 120421639 595176 0
+14 124902244 1179793 0
+15 104043685 474303 0
+16 98207768 450478 0
+17 94987271 442543 0
+18 90702639 423431 0
+19 61431566 269193 0
+2 182113224 2369317 0
+3 160039680 802543 0
+4 156508116 738160 0
+5 151834684 703632 0
+6 149736546 768256 0
+7 145441459 685296 0
+8 129401213 895718 0
+9 124595110 1144967 0
+MT 16299 141 0
+X 171031299 506800 0
+Y 91744698 132190 0
+JH584299.1 953012 2185 0
+GL456233.1 336933 1053 0
+JH584301.1 259875 303 0
+GL456211.1 241735 2348 0
+GL456350.1 227966 283 0
+JH584293.1 207968 236 0
+GL456221.1 206961 2196 0
+JH584297.1 205776 366 0
+JH584296.1 199368 368 0
+GL456354.1 195993 591 0
+JH584294.1 191905 313 0
+JH584298.1 184189 277 0
+JH584300.1 182347 230 0
+GL456219.1 175968 622 0
+GL456210.1 169725 1661 0
+JH584303.1 158099 214 0
+JH584302.1 155838 185 0
+GL456212.1 153618 1979 0
+JH584304.1 114452 278844 0
+GL456379.1 72385 210 0
+GL456216.1 66673 341 0
+GL456393.1 55711 629 0
+GL456366.1 47073 244 0
+GL456367.1 42057 245 0
+GL456239.1 40056 214 0
+GL456213.1 39340 99 0
+GL456383.1 38659 848 0
+GL456385.1 35240 155 0
+GL456360.1 31704 165 0
+GL456378.1 31602 444 0
+GL456389.1 28772 6166 0
+GL456372.1 28664 211 0
+GL456370.1 26764 502 0
+GL456381.1 25871 55 0
+GL456387.1 24685 156 0
+GL456390.1 24668 780 0
+GL456394.1 24323 114 0
+GL456392.1 23629 21116 0
+GL456382.1 23158 57 0
+GL456359.1 22974 85 0
+GL456396.1 21240 20375 0
+GL456368.1 20208 319 0
+JH584292.1 14945 85 0
+JH584295.1 1976 4 0
+* 0 0 274008
b
diff -r 4612d775965f -r c503e1c1fbad test-data/samtools_stats.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/samtools_stats.txt Thu May 25 17:51:17 2017 -0400
[
b'@@ -0,0 +1,9736 @@\n+# This file was produced by samtools stats (1.2+htslib-1.2.1) and can be plotted using plot-bamstats\n+# The command line was:  stats --coverage 1,1000,1 --GC-depth 20000.0 --insert-size 8000 --most-inserts 0.99 --trim-quality 0 --ref-seq /omaha-beach/cloud_26/files/000/dataset_20.dat /omaha-beach/cloud_26/files/000/dataset_114.dat\n+# CHK, Checksum\t[2]Read Names\t[3]Sequences\t[4]Qualities\n+# CHK, CRC32 of reads which passed filtering followed by addition (32bit overflow)\n+CHK\t7742088d\t2cf80e59\t99341a6a\n+# Summary Numbers. Use `grep ^SN | cut -f 2-` to extract this part.\n+SN\traw total sequences:\t641821\n+SN\tfiltered sequences:\t0\n+SN\tsequences:\t641821\n+SN\tis sorted:\t1\n+SN\t1st fragments:\t320981\n+SN\tlast fragments:\t320840\n+SN\treads mapped:\t641821\n+SN\treads mapped and paired:\t638746\t# paired-end technology bit set + both mates mapped\n+SN\treads unmapped:\t0\n+SN\treads properly paired:\t635626\t# proper-pair bit set\n+SN\treads paired:\t641821\t# paired-end technology bit set\n+SN\treads duplicated:\t0\t# PCR or optical duplicate bit set\n+SN\treads MQ0:\t70\t# mapped and MQ=0\n+SN\treads QC failed:\t0\n+SN\tnon-primary alignments:\t12111\n+SN\ttotal length:\t64823921\t# ignores clipping\n+SN\tbases mapped:\t64823921\t# ignores clipping\n+SN\tbases mapped (cigar):\t64823921\t# more accurate\n+SN\tbases trimmed:\t0\n+SN\tbases duplicated:\t0\n+SN\tmismatches:\t275405\t# from NM fields\n+SN\terror rate:\t4.248509e-03\t# mismatches / bases mapped (cigar)\n+SN\taverage length:\t101\n+SN\tmaximum length:\t101\n+SN\taverage quality:\t26.0\n+SN\tinsert size average:\t719.7\n+SN\tinsert size standard deviation:\t1223.0\n+SN\tinward oriented pairs:\t317512\n+SN\toutward oriented pairs:\t1294\n+SN\tpairs with other orientation:\t30\n+SN\tpairs on different chromosomes:\t0\n+# First Fragment Qualitites. Use `grep ^FFQ | cut -f 2-` to extract this part.\n+# Columns correspond to qualities and rows to cycles. First column is the cycle number.\n+FFQ\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t113\t0\t0\t0\t0\t320725\t143\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t4\t320810\t71\t91\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t3\t320877\t25\t75\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t5\t320905\t26\t44\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t8\t320816\t67\t86\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t8\t320839\t42\t84\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t3\t0\t0\t0\t0\t6\t320867\t57\t47\t1\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t8\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t8\t320845\t59\t64\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t9\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t2\t320851\t46\t78\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t10\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t4\t320836\t57\t77\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t11\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t7\t0\t0\t0\t0\t7\t320849\t46\t67\t5\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t12\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t0\t0\t0\t0\t8\t320812\t80\t78\t2\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t13\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t9\t320826\t56\t82\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t14\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t1\t0\t0\t0\t10\t320774\t77\t107\t7\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t15\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t8\t0\t0\t0\t0\t7\t320808\t60\t95\t3\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t16\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t7\t1\t0\t0\t0\t12\t320786\t68\t101\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t17\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t4\t0\t0\t0\t0\t8\t320758\t89\t116\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t18\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t6\t0\t0\t0\t0\t9\t320768\t86\t106\t6\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t19\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t1\t1\t0\t0\t0\t12\t320795\t77\t91\t4\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t20\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t8\t0\t0\t0\t0\t11\t320739\t99\t110\t14\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t5\t0\t0\t0\t0\t16\t320681\t115\t143\t21\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\t0\n+FFQ\t22\t0\t0\t0\t0\t'..b'92-892]\t892\t9\n+COV\t[893-893]\t893\t9\n+COV\t[894-894]\t894\t12\n+COV\t[895-895]\t895\t16\n+COV\t[896-896]\t896\t10\n+COV\t[897-897]\t897\t8\n+COV\t[898-898]\t898\t8\n+COV\t[899-899]\t899\t11\n+COV\t[900-900]\t900\t7\n+COV\t[901-901]\t901\t15\n+COV\t[902-902]\t902\t13\n+COV\t[903-903]\t903\t17\n+COV\t[904-904]\t904\t9\n+COV\t[905-905]\t905\t8\n+COV\t[906-906]\t906\t13\n+COV\t[907-907]\t907\t10\n+COV\t[908-908]\t908\t8\n+COV\t[909-909]\t909\t13\n+COV\t[910-910]\t910\t7\n+COV\t[911-911]\t911\t9\n+COV\t[912-912]\t912\t8\n+COV\t[913-913]\t913\t9\n+COV\t[914-914]\t914\t8\n+COV\t[915-915]\t915\t9\n+COV\t[916-916]\t916\t6\n+COV\t[917-917]\t917\t9\n+COV\t[918-918]\t918\t7\n+COV\t[919-919]\t919\t9\n+COV\t[920-920]\t920\t8\n+COV\t[921-921]\t921\t13\n+COV\t[922-922]\t922\t5\n+COV\t[923-923]\t923\t5\n+COV\t[924-924]\t924\t5\n+COV\t[925-925]\t925\t7\n+COV\t[926-926]\t926\t10\n+COV\t[927-927]\t927\t6\n+COV\t[928-928]\t928\t21\n+COV\t[929-929]\t929\t10\n+COV\t[930-930]\t930\t10\n+COV\t[931-931]\t931\t7\n+COV\t[932-932]\t932\t12\n+COV\t[933-933]\t933\t14\n+COV\t[934-934]\t934\t14\n+COV\t[935-935]\t935\t7\n+COV\t[936-936]\t936\t12\n+COV\t[937-937]\t937\t13\n+COV\t[938-938]\t938\t10\n+COV\t[939-939]\t939\t12\n+COV\t[940-940]\t940\t18\n+COV\t[941-941]\t941\t11\n+COV\t[942-942]\t942\t10\n+COV\t[943-943]\t943\t6\n+COV\t[944-944]\t944\t12\n+COV\t[945-945]\t945\t12\n+COV\t[946-946]\t946\t8\n+COV\t[947-947]\t947\t12\n+COV\t[948-948]\t948\t10\n+COV\t[949-949]\t949\t5\n+COV\t[950-950]\t950\t9\n+COV\t[951-951]\t951\t16\n+COV\t[952-952]\t952\t13\n+COV\t[953-953]\t953\t15\n+COV\t[954-954]\t954\t15\n+COV\t[955-955]\t955\t8\n+COV\t[956-956]\t956\t15\n+COV\t[957-957]\t957\t18\n+COV\t[958-958]\t958\t9\n+COV\t[959-959]\t959\t21\n+COV\t[960-960]\t960\t14\n+COV\t[961-961]\t961\t17\n+COV\t[962-962]\t962\t9\n+COV\t[963-963]\t963\t14\n+COV\t[964-964]\t964\t6\n+COV\t[965-965]\t965\t5\n+COV\t[966-966]\t966\t13\n+COV\t[967-967]\t967\t12\n+COV\t[968-968]\t968\t13\n+COV\t[969-969]\t969\t10\n+COV\t[970-970]\t970\t13\n+COV\t[971-971]\t971\t8\n+COV\t[972-972]\t972\t13\n+COV\t[973-973]\t973\t12\n+COV\t[974-974]\t974\t14\n+COV\t[975-975]\t975\t9\n+COV\t[976-976]\t976\t12\n+COV\t[977-977]\t977\t4\n+COV\t[978-978]\t978\t14\n+COV\t[979-979]\t979\t6\n+COV\t[980-980]\t980\t12\n+COV\t[981-981]\t981\t5\n+COV\t[982-982]\t982\t8\n+COV\t[983-983]\t983\t4\n+COV\t[984-984]\t984\t9\n+COV\t[985-985]\t985\t9\n+COV\t[986-986]\t986\t10\n+COV\t[987-987]\t987\t8\n+COV\t[988-988]\t988\t4\n+COV\t[989-989]\t989\t6\n+COV\t[990-990]\t990\t3\n+COV\t[991-991]\t991\t5\n+COV\t[992-992]\t992\t2\n+COV\t[993-993]\t993\t6\n+COV\t[994-994]\t994\t6\n+COV\t[995-995]\t995\t7\n+COV\t[996-996]\t996\t14\n+COV\t[997-997]\t997\t12\n+COV\t[998-998]\t998\t7\n+COV\t[999-999]\t999\t8\n+COV\t[1000-1000]\t1000\t8\n+COV\t[1000<]\t1000\t5025\n+# GC-depth. Use `grep ^GCD | cut -f 2-` to extract this part. The columns are: GC%, unique sequence percentiles, 10th, 25th, 50th, 75th and 90th depth percentile\n+GCD\t0.0\t0.554\t0.000\t0.000\t0.000\t0.000\t0.000\n+GCD\t0.5\t0.831\t0.525\t0.525\t0.525\t0.525\t0.525\n+GCD\t36.0\t1.385\t0.954\t0.954\t0.954\t1.490\t1.490\n+GCD\t37.0\t2.216\t2.495\t2.495\t4.146\t6.560\t6.560\n+GCD\t38.0\t5.263\t0.247\t0.454\t3.520\t5.868\t9.883\n+GCD\t39.0\t9.141\t0.177\t0.303\t2.161\t8.777\t12.812\n+GCD\t40.0\t12.188\t0.020\t1.192\t9.060\t22.018\t27.371\n+GCD\t41.0\t16.343\t0.035\t0.550\t2.702\t11.469\t12.908\n+GCD\t42.0\t21.884\t0.010\t0.172\t2.121\t5.621\t17.094\n+GCD\t43.0\t28.255\t0.010\t0.328\t1.449\t4.277\t10.166\n+GCD\t44.0\t36.288\t0.162\t0.394\t5.484\t15.145\t50.490\n+GCD\t45.0\t42.105\t0.020\t0.131\t1.252\t7.009\t17.811\n+GCD\t46.0\t49.861\t0.015\t0.121\t0.636\t1.939\t37.506\n+GCD\t47.0\t56.510\t0.030\t0.141\t1.015\t4.500\t6.338\n+GCD\t48.0\t64.543\t0.010\t0.091\t2.565\t7.287\t21.872\n+GCD\t49.0\t68.975\t0.010\t0.333\t0.672\t10.751\t27.129\n+GCD\t50.0\t73.407\t0.010\t0.121\t1.358\t3.883\t6.615\n+GCD\t51.0\t77.008\t0.121\t0.576\t1.576\t4.363\t13.923\n+GCD\t52.0\t81.994\t0.010\t0.086\t1.560\t4.414\t109.383\n+GCD\t53.0\t84.488\t0.040\t0.071\t0.500\t3.025\t31.234\n+GCD\t54.0\t86.704\t0.020\t0.313\t9.332\t39.683\t203.959\n+GCD\t55.0\t89.197\t0.005\t0.051\t1.268\t5.045\t23.578\n+GCD\t56.0\t91.136\t0.071\t0.192\t1.566\t9.994\t33.315\n+GCD\t57.0\t94.460\t0.040\t0.348\t1.167\t5.050\t11.660\n+GCD\t58.0\t95.845\t0.131\t0.131\t1.899\t2.742\t4.929\n+GCD\t59.0\t96.399\t3.313\t3.313\t3.313\t3.666\t3.666\n+GCD\t60.0\t97.507\t0.995\t0.995\t5.176\t6.954\t33.234\n+GCD\t61.0\t98.338\t1.591\t1.591\t1.788\t4.848\t4.848\n+GCD\t62.0\t98.892\t3.171\t3.171\t3.171\t7.343\t7.343\n+GCD\t63.0\t99.446\t0.530\t0.530\t0.530\t6.403\t6.403\n+GCD\t64.0\t100.000\t1.025\t1.025\t1.025\t4.585\t4.585\n'
b
diff -r 4612d775965f -r c503e1c1fbad test-data/tophat_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/tophat_data.txt Thu May 25 17:51:17 2017 -0400
b
@@ -0,0 +1,14 @@
+Left reads:
+          Input     :    316390
+           Mapped   :    314921 (99.5% of input)
+            of these:      5715 ( 1.8%) have multiple alignments (0 have >20)
+Right reads:
+          Input     :    316390
+           Mapped   :    314789 (99.5% of input)
+            of these:      5707 ( 1.8%) have multiple alignments (0 have >20)
+99.5% overall read mapping rate.
+
+Aligned pairs:    313405
+     of these:      5638 ( 1.8%) have multiple alignments
+                      34 ( 0.0%) are discordant alignments
+99.0% concordant pair alignment rate.