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

Changeset 22:9a913cdee30e (2021-11-03)
Previous changeset 21:75c93c70d094 (2021-03-02) Next changeset 23:abfd8a6544d7 (2022-12-10)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/multiqc commit 57b36cfbdd1663aef43d03b76e37364cc5bdeef3"
modified:
multiqc.xml
test-data/deeptools_plotCoverageOutRawCounts.txt
added:
macros.xml
removed:
test-data/report_manual_custom_content.html
b
diff -r 75c93c70d094 -r 9a913cdee30e macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/macros.xml Wed Nov 03 15:17:39 2021 +0000
[
b'@@ -0,0 +1,377 @@\n+<macros>\n+    <token name="@TOOL_VERSION@">1.11</token>\n+    <token name="@VERSION_SUFFIX@">0</token>\n+    <xml name="bio_tools">\n+        <xrefs>\n+            <xref type="bio.tools">multiqc</xref>\n+        </xrefs>\n+    </xml>\n+    <xml name="requirements">\n+        <requirements>\n+            <requirement type="package" version="@TOOL_VERSION@">multiqc</requirement>\n+         </requirements>\n+    </xml>\n+\n+    <token name="@ESCAPE_IDENTIFIER@">\n+        <![CDATA[\n+        #set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n+    ]]></token>\n+\n+    <token name="@CHECK_LN_FILE@">\n+        <![CDATA[\n+        #if $file_path in $file_paths\n+            #set $file_path += \'_\' + str($file_paths.count($file_path))\n+        #end if\n+        #set $file_paths += [$file_path]\n+        grep -q \'$pattern\' $file || die "Module \'${repeat.software_cond.software}: \'$pattern\' not found in the file \'$identifier\'" &&\n+        ln -s \'$file\' \'$file_path\'  &&\n+    ]]></token>\n+        \n+    <token name="@CREATE_REPEAT_DIR_1@">\n+        <![CDATA[\n+        #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + \'_\' + str($j))\n+        mkdir \'$repeat_dir\' &&\n+    ]]></token>\n+\n+    <token name="@CREATE_REPEAT_DIR_1@">\n+        <![CDATA[\n+        #set repeat_dir = os.path.join($software_dir, str($repeat2.type) + \'_\' + str($j))\n+        mkdir \'$repeat_dir\' &&\n+                ]]></token>\n+                <token name="@CREATE_REPEAT_DIR_2@">\n+        <![CDATA[\n+        #set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + \'_\' + str($j))\n+        mkdir \'$repeat_dir\' &&\n+                ]]></token>\n+                <token name="@LN_FILES@">\n+        <![CDATA[\n+        #set file_paths = []\n+        #for $file in $repeat.software_cond.input\n+            @ESCAPE_IDENTIFIER@\n+            #set file_path = os.path.join($software_dir, str($identifier))\n+            @CHECK_LN_FILE@\n+        #end for\n+    ]]></token>\n+\n+    <token name="@LN_2_FILES@">\n+        <![CDATA[\n+        #set file_paths = []\n+        @CREATE_REPEAT_DIR_1@\n+        #for $file in $repeat2.input\n+            #set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n+            #set file_path = os.path.join($repeat_dir, str($identifier))\n+            @CHECK_LN_FILE@\n+        #end for\n+    ]]></token>\n+\n+    <token name="@LN_3_FILES@">\n+        <![CDATA[\n+        #set file_paths = []\n+        #for $file in $repeat2.type.input\n+            #set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n+            #set file_path = os.path.join($repeat_dir, str($identifier))\n+            @CHECK_LN_FILE@\n+        #end for\n+    ]]></token>\n+\n+    <token name="@BISMARK_INPUT@"><![CDATA[\n+        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )\n+            @CREATE_REPEAT_DIR_1@\n+            #if str($repeat2.type) == "align"\n+                #for $file in $repeat2.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_SE_report.txt\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type) == "dedup"\n+                #for $file in $repeat2.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_deduplication_report.txt\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type) == "meth_extract"\n+                #for $file in $repeat2.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_splitting_report.txt\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type) == "m_bias"\n+                #for $file in $repeat2.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_p'..b'ested_dir_name} &&\n+                filepath_2="\\${nested_dir_name}/coverage_histogram.txt" &&\n+                ln -sf \'$file\' \\${filepath_2} &&\n+            #elif re.search("gc-content_distribution", str($file.element_identifier))\n+                nested_dir_name="\\${dir_name}/raw_data_qualimapReport/" &&\n+                mkdir -p \\${nested_dir_name} &&\n+                filepath_3="\\${nested_dir_name}/mapped_reads_gc-content_distribution.txt" &&\n+                ln -sf \'$file\' \\${filepath_3} &&\n+            #else\n+                #pass\n+            #end if\n+        #end for\n+    ]]></token>\n+\n+    <token name="@SALMON_INPUT@"><![CDATA[\n+        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )\n+            @CREATE_REPEAT_DIR_2@\n+            #if str($repeat2.type.type) == "meta"\n+                #for $k, $file in enumerate($repeat2.type.input)\n+                    #set file_dir = os.path.join($repeat_dir, \'file_\' + str($k))\n+                    #set file_path = os.path.join($file_dir, \'meta_info.json\')\n+                    mkdir \'$file_dir\' &&\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type.type) == "fld"\n+                #for $k, $file in enumerate($repeat2.type.input)\n+                    #set file_dir = os.path.join($repeat_dir, \'file_\' + str($k))\n+                    #set file_path = os.path.join($file_dir,\'flenDist.txt\')\n+                    mkdir \'$file_dir\' &&\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #end if\n+        #end for\n+    ]]></token>\n+\n+    <token name="@SAMTOOLS_INPUT@"><![CDATA[\n+        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )\n+            @CREATE_REPEAT_DIR_2@\n+            #if str($repeat2.type.type) == "stats"\n+                #set $pattern = "This file was produced by samtools stats"\n+                @LN_3_FILES@\n+            #elif str($repeat2.type.type) == "flagstat"\n+                #set $pattern = "in total (QC-passed reads + QC-failed reads)"\n+                @LN_3_FILES@\n+            #elif str($repeat2.type.type) == "idxstats"\n+                #for $file in $repeat2.type.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_idxstat\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type.type) == "rmdup"\n+                #set $pattern = "[bam_rmdup"\n+                @LN_3_FILES@\n+            #end if\n+        #end for\n+    ]]></token>\n+\n+    <token name="@STAR_INPUT@"><![CDATA[\n+        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )\n+            @CREATE_REPEAT_DIR_2@\n+            #if str($repeat2.type.type) == "log"\n+                #for $file in $repeat2.type.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_Log.final.out\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #elif str($repeat2.type.type) == "genecounts"\n+                #for $file in $repeat2.type.input\n+                    @ESCAPE_IDENTIFIER@\n+                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_ReadsPerGene.out.tab\')\n+                    ln -s \'$file\' \'$file_path\' &&\n+                #end for\n+            #end if\n+        #end for\n+    ]]></token>\n+\n+    <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text="">\n+        <element name="@NAME@">\n+            <assert_contents>\n+                <has_n_columns n="@COLUMNS@"/>\n+                <has_n_lines n="@LINES@"/>\n+                <has_text text="@TEXT@"/>\n+                <yield/>\n+            </assert_contents>\n+        </element>\n+    </xml>\n+\n+    <xml name="citations">\n+        <citations>\n+            <citation type="doi">10.1101/gr.244293.118</citation>\n+        </citations>\n+    </xml>\n+</macros>\n'
b
diff -r 75c93c70d094 -r 9a913cdee30e multiqc.xml
--- a/multiqc.xml Tue Mar 02 21:08:49 2021 +0000
+++ b/multiqc.xml Wed Nov 03 15:17:39 2021 +0000
[
b'@@ -1,72 +1,11 @@\n-<tool id="multiqc" name="MultiQC" version="@WRAPPER_VERSION@+galaxy1">\n+<tool id="multiqc" name="MultiQC" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">\n     <description>aggregate results from bioinformatics analyses into a single report</description>\n+\n     <macros>\n-        <token name="@WRAPPER_VERSION@">1.9</token>\n-        <token name="@ESCAPE_IDENTIFIER@">\n-<![CDATA[\n-#set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n-        ]]></token>\n-        <token name="@CHECK_LN_FILE@">\n-<![CDATA[\n-#if $file_path in $file_paths\n-    #set $file_path += \'_\' + str($file_paths.count($file_path))\n-#end if\n-#set $file_paths += [$file_path]\n-grep -q \'$pattern\' $file || die "Module \'${repeat.software_cond.software}: \'$pattern\' not found in the file \'$identifier\'" &&\n-ln -s \'$file\' \'$file_path\'  &&\n-        ]]></token>\n-        <token name="@CREATE_REPEAT_DIR_1@">\n-<![CDATA[\n-#set repeat_dir = os.path.join($software_dir, str($repeat2.type) + \'_\' + str($j))\n-mkdir \'$repeat_dir\' &&\n-        ]]></token>\n-        <token name="@CREATE_REPEAT_DIR_2@">\n-<![CDATA[\n-#set repeat_dir = os.path.join($software_dir, str($repeat2.type.type) + \'_\' + str($j))\n-mkdir \'$repeat_dir\' &&\n-        ]]></token>\n-        <token name="@LN_FILES@">\n-<![CDATA[\n-#set file_paths = []\n-#for $file in $repeat.software_cond.input\n-    @ESCAPE_IDENTIFIER@\n-    #set file_path = os.path.join($software_dir, str($identifier))\n-    @CHECK_LN_FILE@\n-#end for\n-        ]]></token>\n-        <token name="@LN_2_FILES@">\n-<![CDATA[\n-#set file_paths = []\n-@CREATE_REPEAT_DIR_1@\n-#for $file in $repeat2.input\n-    #set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n-    #set file_path = os.path.join($repeat_dir, str($identifier))\n-    @CHECK_LN_FILE@\n-#end for\n-        ]]></token>\n-        <token name="@LN_3_FILES@">\n-<![CDATA[\n-#set file_paths = []\n-#for $file in $repeat2.type.input\n-    #set identifier = re.sub(\'[^\\s\\w\\-]\', \'_\', str($file.element_identifier))\n-    #set file_path = os.path.join($repeat_dir, str($identifier))\n-    @CHECK_LN_FILE@\n-#end for\n-        ]]></token>\n-        <xml name="element_assert" token_name="" token_lines="" token_columns="" token_text="">\n-            <element name="@NAME@">\n-                <assert_contents>\n-                    <has_n_columns n="@COLUMNS@"/>\n-                    <has_n_lines n="@LINES@"/>\n-                    <has_text text="@TEXT@"/>\n-                    <yield/>\n-                </assert_contents>\n-            </element>\n-        </xml>\n+        <import>macros.xml</import>\n     </macros>\n-    <requirements>\n-       <requirement type="package" version="@WRAPPER_VERSION@">multiqc</requirement>\n-    </requirements>\n+    <expand macro="bio_tools"/>\n+    <expand macro=\'requirements\' />\n     <version_command>multiqc --version</version_command>\n     <command detect_errors="aggressive">\n <![CDATA[\n@@ -82,7 +21,6 @@\n #for $i, $repeat in enumerate( $results )\n     #set software_dir = os.path.join(\'multiqc_WDir\', str($repeat.software_cond.software) + \'_\' + str($i))\n     mkdir $software_dir &&\n-\n     #if str($repeat.software_cond.software) == "bamtools"\n         #set $pattern = "Stats for BAM file(s)"\n         @LN_FILES@\n@@ -90,40 +28,7 @@\n         #set $pattern = "This file was produced by bcftools stats"\n         @LN_FILES@\n     #elif str($repeat.software_cond.software) == "bismark"\n-        #for $j, $repeat2 in enumerate( $repeat.software_cond.output )\n-            @CREATE_REPEAT_DIR_1@\n-            #if str($repeat2.type) == "align"\n-                #for $file in $repeat2.input\n-                    @ESCAPE_IDENTIFIER@\n-                    #set file_path = os.path.join($repeat_dir, str($identifier) + \'_SE_report.txt\')\n-                    ln -s \'$file\' \'$file_path\' &&\n-                #end for\n-            #elif str($repeat2.type) == "dedup"\n-                #for $file in $repeat2.input\n-                    @ESCAPE_IDENTIFIER@\n-                    #set file_path '..b' text="hicexplorer_3_hicexplorer2_log_small_test_rf"/>\n                 <expand macro="element_assert" name="hisat2" columns="6" lines="3" text="hisat2_2_txt"/>\n                 <expand macro="element_assert" name="kallisto" columns="6" lines="3" text="HS002-PE-R00059_BD0U5YACXX.RHM067_CAGATC_L002_R1_val_1"/>\n-                <expand macro="element_assert" name="macs" columns="11" lines="3" text="treat2"/>\n+                <expand macro="element_assert" name="macs" columns="12" lines="3" text="treat2"/>\n                 <expand macro="element_assert" name="sources" columns="4" lines="18" text="Cutadapt"/>\n                 <expand macro="element_assert" name="star" columns="27" lines="2" text="star_log_txt"/>\n                 <expand macro="element_assert" name="tophat.txt" columns="9" lines="2" text="tophat_txtalign"/>\n             </output_collection>\n         </test>\n+        <!--Test 03-->\n         <test expect_num_outputs="2">\n             <repeat name="results">\n                 <conditional name="software_cond">\n@@ -1215,7 +936,7 @@\n             <repeat name="results">\n                 <conditional name="software_cond">\n                     <param name="software" value="snpeff" />\n-                    <param name="input" value="snpeff.csv" />\n+                    <param name="input" value="snpeff.csv" ftype="csv" />\n                 </conditional>\n             </repeat>\n             <repeat name="results">\n@@ -1239,7 +960,7 @@\n                     <has_text text="featureCounts_assignment_plot" />\n                     <has_text text="gatk_varianteval_variant_plot" />\n                     <has_text text="htseq_assignment_plot" />\n-                    <has_text text="picard_aligned_reads" />\n+                    <has_text text="picard_alignment_readlength" />\n                     <has_text text="picard-rna-assignment" />\n                     <has_text text="picard-markduplicates" />\n                     <has_text text="picard-insertsize" />\n@@ -1280,6 +1001,7 @@\n                 <expand macro="element_assert" name="sources" columns="4" lines="33" text="Bamtools"/>\n             </output_collection>\n         </test>\n+        <!--Test 04-->\n         <test expect_num_outputs="2">\n             <repeat name="results">\n                 <conditional name="software_cond">\n@@ -1287,16 +1009,20 @@\n                     <param name="cc_select" value="manual" />\n                     <param name="plot_type" value="linegraph" />\n                     <param name="section_name" value="BPC" />\n-                    <param name="title" value="Base peak chromatogram" />\n                     <param name="description" value="Sum of intensity (Y) of the most intense peaks at each retention time(X)" />\n                     <param name="xlab" value="Retention Time" />\n                     <param name="ylab" value="Base Peak Intensity" />\n                     <param name="input" value="cc_ko15.bpc.tab,cc_wt15.bpc.tab" />\n                 </conditional>\n             </repeat>\n-            <output name="html_report" file="report_manual_custom_content.html" compare="sim_size"/>\n-\t    <output_collection name="stats" type="list" count="1"/>\n+            <output name="html_report" ftype="html">\n+                <assert_contents>\n+                    <has_size value="1110578" delta="500" />\n+                </assert_contents>\n+            </output>\n+\t        <output_collection name="stats" type="list" count="1"/>\n         </test>\n+        <!--Test 05-->\n         <test expect_num_outputs="3">\n             <repeat name="results">\n                 <conditional name="software_cond">\n@@ -1327,6 +1053,7 @@\n                 <element name="fastqc_per_base_sequence_quality_plot_1" file="mqc_fastqc_per_base_sequence_quality_plot_1.txt" compare="sim_size" delta="10"/>\n             </output_collection>\n         </test>\n+        <!--Test 06-->\n         <test expect_num_outputs="2">\n             <repeat name="results">\n                 <conditional name="software_cond">\n'
b
diff -r 75c93c70d094 -r 9a913cdee30e test-data/deeptools_plotCoverageOutRawCounts.txt
--- a/test-data/deeptools_plotCoverageOutRawCounts.txt Tue Mar 02 21:08:49 2021 +0000
+++ b/test-data/deeptools_plotCoverageOutRawCounts.txt Wed Nov 03 15:17:39 2021 +0000
b
b'@@ -14216,5785 +14216,4 @@\n 14\t39440973\t39440974\t7.0\t6.0\n 14\t39453369\t39453370\t1.0\t0.0\n 14\t39481260\t39481261\t1.0\t0.0\n-14\t39490557\t39490558\t1.0\t0.0\n-14\t39577329\t39577330\t1.0\t0.0\n-14\t39599022\t39599023\t12.0\t0.0\n-14\t39642408\t39642409\t26.0\t0.0\n-14\t39673398\t39673399\t11.0\t11.0\n-14\t39691992\t39691993\t2.0\t0.0\n-14\t39716784\t39716785\t1.0\t1.0\n-14\t39732279\t39732280\t7.0\t5.0\n-14\t39741576\t39741577\t5.0\t0.0\n-14\t39772566\t39772567\t5.0\t4.0\n-14\t39831447\t39831448\t3.0\t0.0\n-14\t39837645\t39837646\t1.0\t1.0\n-14\t39853140\t39853141\t1.0\t0.0\n-14\t39865536\t39865537\t1.0\t1.0\n-14\t39868635\t39868636\t1.0\t1.0\n-14\t39887229\t39887230\t1.0\t0.0\n-14\t39899625\t39899626\t1.0\t0.0\n-14\t39921318\t39921319\t6.0\t0.0\n-14\t39927516\t39927517\t1.0\t0.0\n-14\t40035981\t40035982\t1.0\t0.0\n-14\t40091763\t40091764\t1.0\t0.0\n-14\t40144446\t40144447\t11.0\t0.0\n-14\t40153743\t40153744\t1.0\t1.0\n-14\t40156842\t40156843\t1.0\t1.0\n-14\t40172337\t40172338\t1.0\t0.0\n-14\t40178535\t40178536\t1.0\t0.0\n-14\t40252911\t40252912\t1.0\t0.0\n-14\t40287000\t40287001\t3.0\t0.0\n-14\t40345881\t40345882\t1.0\t0.0\n-14\t40355178\t40355179\t2.0\t0.0\n-14\t40383069\t40383070\t3.0\t0.0\n-14\t40414059\t40414060\t1.0\t0.0\n-14\t40420257\t40420258\t10.0\t0.0\n-14\t40426455\t40426456\t1.0\t2.0\n-14\t40445049\t40445050\t1.0\t1.0\n-14\t40451247\t40451248\t3.0\t1.0\n-14\t40476039\t40476040\t3.0\t1.0\n-14\t40503930\t40503931\t1.0\t0.0\n-14\t40522524\t40522525\t5.0\t0.0\n-14\t40534920\t40534921\t1.0\t1.0\n-14\t40562811\t40562812\t1.0\t0.0\n-14\t40578306\t40578307\t1.0\t0.0\n-14\t40606197\t40606198\t2.0\t0.0\n-14\t40658880\t40658881\t2.0\t0.0\n-14\t40668177\t40668178\t1.0\t0.0\n-14\t40711563\t40711564\t1.0\t1.0\n-14\t40730157\t40730158\t1.0\t0.0\n-14\t40807632\t40807633\t1.0\t0.0\n-14\t40838622\t40838623\t2.0\t0.0\n-14\t40844820\t40844821\t1.0\t0.0\n-14\t40875810\t40875811\t24.0\t0.0\n-14\t40894404\t40894405\t5.0\t0.0\n-14\t40897503\t40897504\t1.0\t0.0\n-14\t40903701\t40903702\t1.0\t0.0\n-14\t40909899\t40909900\t2.0\t0.0\n-14\t40993572\t40993573\t1.0\t1.0\n-14\t40999770\t40999771\t7.0\t6.0\n-14\t41058651\t41058652\t3.0\t0.0\n-14\t41061750\t41061751\t5.0\t0.0\n-14\t41126829\t41126830\t1.0\t1.0\n-14\t41151621\t41151622\t1.0\t1.0\n-14\t41154720\t41154721\t1.0\t1.0\n-14\t41188809\t41188810\t1.0\t0.0\n-14\t41195007\t41195008\t1.0\t0.0\n-14\t41269383\t41269384\t1.0\t1.0\n-14\t41294175\t41294176\t1.0\t1.0\n-14\t41340660\t41340661\t5.0\t0.0\n-14\t41368551\t41368552\t3.0\t0.0\n-14\t41374749\t41374750\t1.0\t0.0\n-14\t41402640\t41402641\t1.0\t0.0\n-14\t41405739\t41405740\t1.0\t0.0\n-14\t41442927\t41442928\t4.0\t0.0\n-14\t41473917\t41473918\t10.0\t0.0\n-14\t41498709\t41498710\t1.0\t0.0\n-14\t41523501\t41523502\t1.0\t1.0\n-14\t41557590\t41557591\t1.0\t0.0\n-14\t41566887\t41566888\t1.0\t1.0\n-14\t41579283\t41579284\t2.0\t0.0\n-14\t41582382\t41582383\t1.0\t0.0\n-14\t41597877\t41597878\t2.0\t1.0\n-14\t41604075\t41604076\t7.0\t6.0\n-14\t41607174\t41607175\t17.0\t10.0\n-14\t41610273\t41610274\t12.0\t10.0\n-14\t41675352\t41675353\t0.0\t1.0\n-14\t41743530\t41743531\t4.0\t0.0\n-14\t41802411\t41802412\t1.0\t0.0\n-14\t41808609\t41808610\t5.0\t0.0\n-14\t41855094\t41855095\t1.0\t1.0\n-14\t41858193\t41858194\t1.0\t1.0\n-14\t41895381\t41895382\t1.0\t0.0\n-14\t41898480\t41898481\t1.0\t0.0\n-14\t41969757\t41969758\t35.0\t0.0\n-14\t41972856\t41972857\t1.0\t1.0\n-14\t42006945\t42006946\t1.0\t1.0\n-14\t42028638\t42028639\t1.0\t0.0\n-14\t42044133\t42044134\t2.0\t0.0\n-14\t42075123\t42075124\t8.0\t0.0\n-14\t42096816\t42096817\t1.0\t1.0\n-14\t42121608\t42121609\t1.0\t0.0\n-14\t42174291\t42174292\t1.0\t0.0\n-14\t42180489\t42180490\t1.0\t0.0\n-14\t42245568\t42245569\t3.0\t0.0\n-14\t42292053\t42292054\t22.0\t0.0\n-14\t42319944\t42319945\t1.0\t0.0\n-14\t42381924\t42381925\t1.0\t0.0\n-14\t42385023\t42385024\t1.0\t0.0\n-14\t42391221\t42391222\t49.0\t0.0\n-14\t42487290\t42487291\t1.0\t1.0\n-14\t42499686\t42499687\t4.0\t0.0\n-14\t42515181\t42515182\t2.0\t0.0\n-14\t42577161\t42577162\t1.0\t0.0\n-14\t42589557\t42589558\t1.0\t0.0\n-14\t42601953\t42601954\t2.0\t0.0\n-14\t42611250\t42611251\t1.0\t0.0\n-14\t42657735\t42657736\t1.0\t1.0\n-14\t42670131\t42670132\t2.0\t0.0\n-14\t42722814\t42722815\t1.0\t0.0\n-14\t42725913\t42725914\t3.0\t0.0\n-14\t42729012\t42729013\t2.0\t0.0\n-14\t42775497\t42775498\t2.0\t0.0\n-14\t42800289\t42800290\t1.0\t0.0\n-14\t42818883\t42818884\t1.0\t0.0\n-14\t42840576\t42840577\t1.0\t1.0\n-14\t42871566\t42871567\t1.0\t0.0\n-14\t42899457\t42899458\t2.0\t2.0\n-14\t42964536\t42964537\t6.0\t0.0\n-14\t42995526\t42995527\t1.0\t0.0\n-14\t43007922\t43007923\t1.0\t0.0\n-14\t43045110\t43045111\t2.0\t0'..b'0\t36878101\t150.0\t116.0\n-15\t36881199\t36881200\t35.0\t18.0\n-15\t36884298\t36884299\t81.0\t57.0\n-15\t36887397\t36887398\t66.0\t36.0\n-15\t36896694\t36896695\t34.0\t29.0\n-15\t36909090\t36909091\t1.0\t0.0\n-15\t36912189\t36912190\t9.0\t2.0\n-15\t36933882\t36933883\t3.0\t1.0\n-15\t36946278\t36946279\t3.0\t1.0\n-15\t36952476\t36952477\t1.0\t1.0\n-15\t36977268\t36977269\t1.0\t0.0\n-15\t36992763\t36992764\t2.0\t2.0\n-15\t36995862\t36995863\t1.0\t0.0\n-15\t37020654\t37020655\t1.0\t0.0\n-15\t37023753\t37023754\t14.0\t0.0\n-15\t37029951\t37029952\t3.0\t1.0\n-15\t37057842\t37057843\t108.0\t84.0\n-15\t37082634\t37082635\t119.0\t100.0\n-15\t37085733\t37085734\t1.0\t0.0\n-15\t37091931\t37091932\t29.0\t11.0\n-15\t37095030\t37095031\t91.0\t71.0\n-15\t37098129\t37098130\t28.0\t12.0\n-15\t37101228\t37101229\t35.0\t19.0\n-15\t37104327\t37104328\t129.0\t92.0\n-15\t37107426\t37107427\t14.0\t6.0\n-15\t37110525\t37110526\t84.0\t66.0\n-15\t37113624\t37113625\t17.0\t13.0\n-15\t37119822\t37119823\t2.0\t0.0\n-15\t37135317\t37135318\t84.0\t66.0\n-15\t37163208\t37163209\t1.0\t0.0\n-15\t37197297\t37197298\t14.0\t0.0\n-15\t37491702\t37491703\t1.0\t1.0\n-15\t37510296\t37510297\t0.0\t1.0\n-15\t37519593\t37519594\t1.0\t0.0\n-15\t37550583\t37550584\t1.0\t1.0\n-15\t37569177\t37569178\t1.0\t1.0\n-15\t37671444\t37671445\t1.0\t0.0\n-15\t37680741\t37680742\t5.0\t0.0\n-15\t37711731\t37711732\t11.0\t0.0\n-15\t37739622\t37739623\t3.0\t0.0\n-15\t37752018\t37752019\t1.0\t0.0\n-15\t37773711\t37773712\t4.0\t0.0\n-15\t37795404\t37795405\t1.0\t1.0\n-15\t37823295\t37823296\t1.0\t1.0\n-15\t37826394\t37826395\t1.0\t1.0\n-15\t37844988\t37844989\t1.0\t1.0\n-15\t37879077\t37879078\t5.0\t0.0\n-15\t37891473\t37891474\t3.0\t2.0\n-15\t37900770\t37900771\t42.0\t27.0\n-15\t37934859\t37934860\t40.0\t19.0\n-15\t37941057\t37941058\t43.0\t31.0\n-15\t37984443\t37984444\t16.0\t14.0\n-15\t38037126\t38037127\t1.0\t1.0\n-15\t38068116\t38068117\t1.0\t1.0\n-15\t38071215\t38071216\t1.0\t0.0\n-15\t38077413\t38077414\t1.0\t0.0\n-15\t38086710\t38086711\t1.0\t0.0\n-15\t38102205\t38102206\t1.0\t1.0\n-15\t38130096\t38130097\t52.0\t30.0\n-15\t38244759\t38244760\t0.0\t1.0\n-15\t38250957\t38250958\t92.0\t75.0\n-15\t38254056\t38254057\t6.0\t6.0\n-15\t38263353\t38263354\t3.0\t3.0\n-15\t38288145\t38288146\t1.0\t1.0\n-15\t38306739\t38306740\t1.0\t0.0\n-15\t38350125\t38350126\t1.0\t1.0\n-15\t38378016\t38378017\t40.0\t31.0\n-15\t38390412\t38390413\t1.0\t1.0\n-15\t38396610\t38396611\t11.0\t0.0\n-15\t38412105\t38412106\t1.0\t0.0\n-15\t38455491\t38455492\t27.0\t14.0\n-15\t38458590\t38458591\t13.0\t9.0\n-15\t38470986\t38470987\t2.0\t0.0\n-15\t38486481\t38486482\t1.0\t1.0\n-15\t38514372\t38514373\t1.0\t0.0\n-15\t38536065\t38536066\t25.0\t22.0\n-15\t38563956\t38563957\t96.0\t79.0\n-15\t38616639\t38616640\t1.0\t0.0\n-15\t38619738\t38619739\t7.0\t3.0\n-15\t38694114\t38694115\t1.0\t1.0\n-15\t38697213\t38697214\t80.0\t61.0\n-15\t38715807\t38715808\t1.0\t0.0\n-15\t38722005\t38722006\t2.0\t2.0\n-15\t38749896\t38749897\t3.0\t0.0\n-15\t38818074\t38818075\t13.0\t6.0\n-15\t38842866\t38842867\t3.0\t3.0\n-15\t38845965\t38845966\t3.0\t3.0\n-15\t38852163\t38852164\t1.0\t0.0\n-15\t38867658\t38867659\t0.0\t1.0\n-15\t38873856\t38873857\t2.0\t0.0\n-15\t38876955\t38876956\t19.0\t14.0\n-15\t38883153\t38883154\t9.0\t0.0\n-15\t38892450\t38892451\t7.0\t0.0\n-15\t38926539\t38926540\t1.0\t0.0\n-15\t38935836\t38935837\t1.0\t0.0\n-15\t38960628\t38960629\t1.0\t0.0\n-15\t38963727\t38963728\t1.0\t1.0\n-15\t38985420\t38985421\t1.0\t0.0\n-15\t38991618\t38991619\t7.0\t7.0\n-15\t38994717\t38994718\t7.0\t6.0\n-15\t39000915\t39000916\t1.0\t1.0\n-15\t39013311\t39013312\t2.0\t2.0\n-15\t39047400\t39047401\t1.0\t0.0\n-15\t39059796\t39059797\t1.0\t0.0\n-15\t39075291\t39075292\t1.0\t0.0\n-15\t39084588\t39084589\t1.0\t0.0\n-15\t39115578\t39115579\t2.0\t1.0\n-15\t39124875\t39124876\t10.0\t1.0\n-15\t39140370\t39140371\t11.0\t9.0\n-15\t39162063\t39162064\t1.0\t1.0\n-15\t39165162\t39165163\t12.0\t10.0\n-15\t39171360\t39171361\t1.0\t0.0\n-15\t39186855\t39186856\t3.0\t0.0\n-15\t39193053\t39193054\t5.0\t1.0\n-15\t39199251\t39199252\t2.0\t1.0\n-15\t39214746\t39214747\t1.0\t1.0\n-15\t39230241\t39230242\t4.0\t4.0\n-15\t39251934\t39251935\t44.0\t31.0\n-15\t39261231\t39261232\t10.0\t0.0\n-15\t39270528\t39270529\t5.0\t3.0\n-15\t39276726\t39276727\t37.0\t23.0\n-15\t39317013\t39317014\t61.0\t46.0\n-15\t39320112\t39320113\t1.0\t1.0\n-15\t39332508\t39332509\t23.0\t14.0\n-15\t39372795\t39372796\t1.0\t0.0\n-15\t39434775\t39434776\t18.0\t11.0\n-15\t39447171\t39447172\t1.0\t1.0\n-15\t39450270\t39450271\t1.0\t0.0\n-15\t39475062\t39475063\t4.0\t0.0\n+14\t39490557\t39490558\t1.0\t0.0\n\\ No newline at end of file\n'
b
diff -r 75c93c70d094 -r 9a913cdee30e test-data/report_manual_custom_content.html
--- a/test-data/report_manual_custom_content.html Tue Mar 02 21:08:49 2021 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,4823 +0,0 @@\n-<!DOCTYPE html>\n-<html lang="en">\n-<head>\n-<!--\n-  __  __       _ _   _  ___   ____\n- |  \\/  |_   _| | |_(_)/ _ \\ / ___|\n- | |\\/| | | | | | __| | | | | |\n- | |  | | |_| | | |_| | |_| | |___\n- |_|  |_|\\__,_|_|\\__|_|\\__\\_\\\\____|\n-\n-Abandon hope all ye who enter here..\n-http://multiqc.info\n--->\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'