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

Changeset 0:e462044ece67 (2024-06-04)
Next changeset 1:da336e3ead38 (2024-06-17)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/falco commit 8593dacde03b50726e9ca12fa15e4a104531708c
added:
falco.xml
test-data/1000trimmed.fastq
test-data/1000trimmed.fastq.bz2
test-data/1000trimmed.fastq.gz
test-data/adapter_list.txt
test-data/contaminant_list.txt
test-data/fastqc_adapters.txt
test-data/fastqc_contaminants.txt
test-data/fastqc_customlimits.txt
test-data/fastqc_data.txt
test-data/fastqc_data_adapters.txt
test-data/fastqc_data_adapters_summary.txt
test-data/fastqc_data_contaminant_summary.txt
test-data/fastqc_data_contaminants.txt
test-data/fastqc_data_customlimits.txt
test-data/fastqc_data_customlimits_summary.txt
test-data/fastqc_data_hisat.txt
test-data/fastqc_data_kmer.txt
test-data/fastqc_data_kmer_summary.txt
test-data/fastqc_data_min_length.txt
test-data/fastqc_data_min_length_summary.txt
test-data/fastqc_data_nogroup.txt
test-data/fastqc_data_nogroup_summary.txt
test-data/fastqc_report.html
test-data/fastqc_report_adapters.html
test-data/fastqc_report_bisulfite.html
test-data/fastqc_report_bisulfite.txt
test-data/fastqc_report_bisulfite_summary.txt
test-data/fastqc_report_contaminants.html
test-data/fastqc_report_customlimits.html
test-data/fastqc_report_hisat.html
test-data/fastqc_report_kmer.html
test-data/fastqc_report_min_length.html
test-data/fastqc_report_nogroup.html
test-data/fastqc_report_reverse_complement.html
test-data/fastqc_report_reverse_complement.txt
test-data/fastqc_report_reverse_complement_summary.txt
test-data/fastqc_report_subsample.html
test-data/fastqc_report_subsample.txt
test-data/fastqc_report_subsample_summary.txt
test-data/hisat_output_1.bam
test-data/limits.txt
test-data/summary.txt
b
diff -r 000000000000 -r e462044ece67 falco.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/falco.xml Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,219 @@\n+<tool id="falco" name="Falco" version="1.2.2+galaxy0" profile="21.05">\n+    <description>A high throughput sequence QC analysis tool</description>\n+    <xrefs>\n+        <xref type="bio.tools">falco</xref>\n+    </xrefs>\n+    <requirements>\n+        <requirement type="package" version="1.2.2">falco</requirement>\n+    </requirements>\n+    <command detect_errors="aggressive"><![CDATA[\n+        #import re\n+        #set input_name = re.sub(\'[^\\w\\-\\s]\', \'_\', str($input_file.element_identifier))\n+\n+        #if $input_file.ext.endswith(\'.gz\'):\n+            #set input_file_sl = $input_name + \'.gz\'\n+        #elif $input_file.ext.endswith(\'.bz2\'):\n+            #set input_file_sl = $input_name + \'.bz2\'\n+        #else\n+            #set input_file_sl = $input_name\n+        #end if\n+\n+        #if \'bam\' in $input_file.ext:\n+            #set format = \'bam\'\n+        #elif \'sam\' in $input_file.ext:\n+            #set format = \'sam\'\n+        #else\n+            #set format = \'fastq\'\n+        #end if\n+\n+        ln -s \'${input_file}\' \'${input_file_sl}\' &&\n+        falco\n+            #if $contaminants:\n+                --contaminants \'${contaminants}\'\n+            #end if\n+\n+            #if $adapters.dataset and str($adapters) > \'\'\n+                --adapters \'${adapters}\'\n+            #end if\n+\n+            #if $limits.dataset and str($limits) > \'\'\n+                --limits \'${limits}\'\n+            #end if\n+            --threads \\${GALAXY_SLOTS:-2}\n+            --quiet\n+            --extract\n+            ## #if $min_length:\n+            ##     --min_length $min_length\n+            ## #end if\n+            $nogroup\n+            ## --kmers $kmers\n+            -f \'${format}\'\n+            \'${input_file_sl}\'\n+            -subsample $subsample\n+            $bisulfite\n+            $reverse_complement\n+\n+    ]]></command>\n+    <inputs>\n+        <param format="fastq,fastq.gz,fastq.bz2,bam,sam" name="input_file" type="data" label="Raw read data from your current history"/>\n+        <param name="contaminants" type="data" format="tabular" optional="true" label="Contaminant list" help="tab delimited file with 2 columns: name and sequence.  For example: Illumina Small RNA RT Primer&#x9;CAAGCAGAAGACGGCATACGA"/>\n+        <param argument="--adapters" type="data" format="tabular" optional="true" label="Adapter list" help="List of adapters adapter sequences which will be explicity searched against the library. It should be a tab-delimited file with 2 columns: name and sequence."/>\n+        <param name="limits" type="data" format="txt" optional="true" label="Submodule and Limit specifing file" help="a file that specifies which submodules are to be executed (default=all) and also specifies the thresholds for the each submodules warning parameter."/>\n+        <param argument="--nogroup" type="boolean" truevalue="--nogroup" falsevalue="" checked="False" label="Disable grouping of bases for reads &gt;50bp" help=" Using this option, your plots may end up a ridiculous size. You have been warned!"/>\n+        <!-- Not implemented in falco yet <param argument="-min_length" type="integer" value="" optional="true" label="Lower limit on the length of the sequence to be shown in the report" help=" [NOT YET IMPLEMENTED IN FALCO]. Sets an artificial lower limit on the length of the sequence to be shown in the report. As long as you set this to a value greater or equal to your longest read length then this will be the sequence length used to create your read groups. This can be useful for making  directly comaparable statistics from datasets with somewhat variable read length."/> -->\n+        <!-- Ignored by falco and always set to 7 <param argument="-kmers" type="integer" value="7" min="2" max="10" label="Length of Kmer to look for" help="IGNORED BY FALCO AND ALWAYS SET TO 7. Specifies the length of Kmer to look for in the Kmer content module. Specified Kmer length must be between 2 and 10. Default length is 7 if not specified." /> -->\n+        <param argument="-subs'..b'ta_nogroup_summary.txt" ftype="txt"/>\n+            <assert_command>\n+                <has_text text="--nogroup"/>\n+            </assert_command>\n+        </test>\n+        <test>\n+            <param name="input_file" value="1000trimmed.fastq"/>\n+            <param name="subsample" value="10"/>\n+            <output name="html_file" file="fastqc_report_subsample.html" ftype="html" lines_diff="2"/>\n+            <output name="text_file" file="fastqc_report_subsample.txt" ftype="txt"/>\n+            <output name="summary_file" file="fastqc_report_subsample_summary.txt" ftype="txt"/>\n+        </test>\n+        <test>\n+            <param name="input_file" value="1000trimmed.fastq"/>\n+            <param name="bisulfite" value="-bisulfite"/>\n+            <output name="html_file" file="fastqc_report_bisulfite.html" ftype="html" lines_diff="2"/>\n+            <output name="text_file" file="fastqc_report_bisulfite.txt" ftype="txt"/>\n+            <output name="summary_file" file="fastqc_report_bisulfite_summary.txt" ftype="txt"/>\n+        </test>\n+        <test>\n+            <param name="input_file" value="1000trimmed.fastq"/>\n+            <param name="reverse_complement" value="-reverse-complement"/>\n+            <output name="html_file" file="fastqc_report_reverse_complement.html" ftype="html" lines_diff="2"/>\n+            <output name="text_file" file="fastqc_report_reverse_complement.txt" ftype="txt"/>\n+            <output name="summary_file" file="fastqc_report_reverse_complement_summary.txt" ftype="txt"/>\n+        </test>\n+    </tests>\n+    <help><![CDATA[\n+.. class:: infomark\n+\n+**Purpose**\n+\n+Falco is an emulation of the popular FastQC software to check large sequencing reads for common problems.\n+\n+The main functions of Falco are:\n+\n+- Import of data from BAM, SAM or FastQ/FastQ.gz files (any variant),\n+- Providing a quick overview to tell you in which areas there may be problems\n+- Summary graphs and tables to quickly assess your data\n+- Export of results to an HTML based permanent report\n+- Offline operation to allow automated generation of reports without running the interactive application\n+\n+-----\n+\n+.. class:: infomark\n+\n+**Inputs and outputs**\n+\n+Falco_ is the best place to look for documentation - it\'s very good.\n+A summary follows below for those in a tearing hurry.\n+\n+This wrapper will accept a Galaxy fastq, fastq.gz, sam or bam as the input read file to check.\n+It will also take an optional file containing a list of contaminants information, in the form of\n+a tab-delimited file with 2 columns, name and sequence. As another option the tool takes a custom\n+limits.txt file that allows setting the warning thresholds for the different modules and also specifies\n+which modules to include in the output.\n+\n+The tool produces a basic text and a HTML output file that contain all of the results, including the following:\n+\n+- Basic Statistics\n+- Per base sequence quality\n+- Per sequence quality scores\n+- Per base sequence content\n+- Per base GC content\n+- Per sequence GC content\n+- Per base N content\n+- Sequence Length Distribution\n+- Sequence Duplication Levels\n+- Overrepresented sequences\n+- Adapter Content\n+\n+All except Basic Statistics and Overrepresented sequences are plots.\n+ .. _Falco: https://github.com/smithlabcode/falco/\n+ .. _Picard-tools: https://broadinstitute.github.io/picard/\n+    ]]></help>\n+    <citations>\n+        <citation type="bibtex">\n+            @article{deSenaBrandine2021,\n+            author = {de Sena Brandine, Gabriel and Smith, Andrew D.},\n+            title = {Falco: high-speed FastQC emulation for quality control of sequencing data},\n+            journal = {F1000Research},\n+            year = {2021},\n+            volume = {8},\n+            pages = {1874},\n+            url = {https://doi.org/10.12688/f1000research.21142.2},\n+            doi = {10.12688/f1000research.21142.2},\n+            note = {Version 2; peer review: 2 approved},\n+          }\n+          \n+        </citation>\n+    </citations>\n+</tool>\n'
b
diff -r 000000000000 -r e462044ece67 test-data/1000trimmed.fastq
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/1000trimmed.fastq Tue Jun 04 14:14:49 2024 +0000
b
b"@@ -0,0 +1,19620 @@\n+@ERR005448.2 IL40_2446:5:1:0:451/2\n+ACACTCTTTCCCTACACGACGCTGTTCCATCTACACTCTTTCCCTACACGACGCTGTTCCATCT\n++\n+>?A?<8=AB?:<B<:9;ABB=<78458:?@<@>?A?<8=AB?:<B<:9;ABB=<78458:?@<@\n+@ERR005448.2 IL40_2446:5:1:0:451/2\n+ATAAAGACCAGCCTGGCCAATGTGGTGAAACCCTGTCTCTACTAAAAGTACAAAATAAAGACCAGCCTGGCCAATGTGGTGAAACCCTGTCTCTACTAAAAGTACAAA\n++\n+>?A?<8=AB?:<B<:9;ABB=<78458:?@<@@<68@@BA><>@@>8/3>9=;?>?A?<8=AB?:<B<:9;ABB=<78458:?@<@@<68@@BA><>@@>8/3>9=;?\n+@ERR005448.3 IL40_2446:5:1:0:1205/2\n+ATTCTACTCCAACT\n++\n+?:B7C;6<<;B6/7\n+@ERR005448.4 IL40_2446:5:1:0:17/2\n+CACTTCCAGATACTCCAAAAAGAGTGTTTCCAACCTGCTCTAGTAATGGGAATGCACTTCCAGATACTCCAAAAAGAGTGTTTCCAACCTGCTCTAGTAATGGGAATG\n++\n+BBBA=<=B6ABA<BB8>>@7=?>44>8;88=@=6B9??;B=6;8<:BB?@9=<ABBBA=<=B6ABA<BB8>>@7=?>44>8;88=@=6B9??;B=6;8<:BB?@9=<A\n+@ERR005448.5 IL40_2446:5:1:0:719/2\n+ATTCCATCCTT\n++\n+@>@>AA99975\n+@ERR005448.6 IL40_2446:5:1:0:156/2\n+CAGGAAAGGGCCTGGTGGGAGGTAATTGGATCATGGGGGTGGTTTCCTCCATGCCAGGAAAGGGCCTGGTGGGAGGTAATTGGATCATGGGGGTGGTTTCCTCCATGC\n++\n+<:<=;A=4=A?@?4>>?0=84=?AAA>@:8BB<;=09;?'?;4??:A@>@?A>;<:<=;A=4=A?@?4>>?0=84=?AAA>@:8BB<;=09;?'?;4??:A@>@?A>;\n+@ERR005448.8 IL40_2446:5:1:0:1162/2\n+GCTTATCAACAGAAAGCA\n++\n+0=;=;8*<;7;=8A8048\n+@ERR005448.10 IL40_2446:5:1:0:842/2\n+TGGATTCCACTCCATTCCATTGCAC\n++\n+>81>?>5>?=@?>@>?>=9;>79=6\n+@ERR005448.11 IL40_2446:5:1:0:947/2\n+AAAAAAAAAAAGCTGGGAG\n++\n+AAAAAAAA?=>:8?:;539\n+@ERR005448.12 IL40_2446:5:1:0:389/2\n+CAGAGATGTTTAATATGAGCCAGGAATTCTGCTAGGCACTTTGTGTATGTTTTACAGAGATGTTTAATATGAGCCAGGAATTCTGCTAGGCACTTTGTGTATGTTTTA\n++\n+@?559>@76>CCC@CC;A80=B>7?B?=<;><B?66;A=BC>>;>6A><;?B>>@?559>@76>CCC@CC;A80=B>7?B?=<;><B?66;A=BC>>;>6A><;?B>>\n+@ERR005448.13 IL40_2446:5:1:0:435/2\n+ACTGAATTTGGAA\n++\n+89=7)?>C;8997\n+@ERR005448.14 IL40_2446:5:1:0:552/2\n+CTTTGA\n++\n+AA?/*<\n+@ERR005448.15 IL40_2446:5:1:0:770/2\n+AAAA\n++\n+>>>6\n+@ERR005448.16 IL40_2446:5:1:0:788/2\n+AATGGCTTTGA\n++\n+>>>6;:AB8)6\n+@ERR005448.18 IL40_2446:5:1:0:1012/2\n+TGCCTACAATAGCAAATTTTGAAAAACATAGAG\n++\n+>;4?4=??@B7'8>AA>?@;8=C?C;;:>=,=5\n+@ERR005448.19 IL40_2446:5:1:0:1150/2\n+TTATATGCAAGCGAAGAAGGTAAGTA\n++\n+>=?AB8<:8438><=48;921<<00:\n+@ERR005448.20 IL40_2446:5:1:0:1254/2\n+TGTCTCTTCTCTCTTGAATTCCTGATCT\n++\n+95<AC=BB@C@AAC??<AAA:==8;?@:\n+@ERR005448.21 IL40_2446:5:1:0:1669/2\n+CAGCACCT\n++\n+8>3<A?36\n+@ERR005448.23 IL40_2446:5:1:0:57/2\n+ATGATGGTAGAGAGGACATTGTCAAAGATGCCAAAATTTTAGACTCATTGGG\n++\n+A:3??AA9>>>B99;>ABCC>>C?B=0:BA=:ABB>@99?B;39B?79;069\n+@ERR005448.24 IL40_2446:5:1:0:971/2\n+AAAATAATTCCCATTGCTATTTCTCGT\n++\n+AAB@>ACCCA>@B=<1:C>;=?>@=>6\n+@ERR005448.25 IL40_2446:5:1:0:685/2\n+TTCCATTCCACACGGGTTGGTTCCCTTGCATCCCTTTCCATTCCA\n++\n+:?A@@AAA?@@@95<:79393=:6<==4;<?7>0;9>973;4<35\n+@ERR005448.26 IL40_2446:5:1:0:311/2\n+GCTGACTGATAGGCCCCACTCGCGGTA\n++\n+=?99?=<><?>33==?=A@=<6@7475\n+@ERR005448.27 IL40_2446:5:1:0:528/2\n+AGACTGGATTAAGAAAATGTGGCACATATACACCATGGAATACTATGCA\n++\n+BACB<.;;?C@:=ABC@891:6<AAAB=3>@?8;<79=9>=<??<@9-7\n+@ERR005448.28 IL40_2446:5:1:0:315/2\n+AACTTTTACTATCTGTACCATTCCTGTACTCTGACATTACCTGGTTATGTCTGAAACTTTTACTATCTGTACCATTCCTGTACTCTGACATTACCTGGTTATGTCTG\n++\n+AAC?CA@?=ABB=A;>@><?B?;7;78C??C:6<A@B@;:@B>;6>>;53=854AAC?CA@?=ABB=A;>@><?B?;7;78C??C:6<A@B@;:@B>;6>>;53=85\n+@ERR005448.29 IL40_2446:5:1:0:1616/2\n+TATAATCTTAATGGGATCCATCATTGACCAAAATGCAGCCCATCATTGACCAAATATAATCTTAATGGGATCCATCATTGACCAAAATGCAGCCCATCATTGACCAAA\n++\n+C>:@ACCBCCC=8677B>?C?6>:@:@=;=@CC=6:>863:@<<=<609<;?;BC>:@ACCBCCC=8677B>?C?6>:@:@=;=@CC=6:>863:@<<=<609<;?;B\n+@ERR005448.30 IL40_2446:5:1:0:852/2\n+TGATGTGTG\n++\n+?6<?:9/75\n+@ERR005448.31 IL40_2446:5:1:0:1684/2\n+AGAAGGATACCGACTGGA\n++\n+=/;>85:A>;:4=<<446\n+@ERR005448.32 IL40_2446:5:1:1:881/2\n+GTCTAGGAATTTATTTATTTTCCCTATATTTTTCAGTTCACTAGCATATAGTTGGTCTAGGAATTTATTTATTTTCCCTATATTTTTCAGTTCACTAGCATATAGTTG\n++\n+C7?6>B@==8>>8@CCA@A=@<>>@@ACCACB:::;3A5=4?>3><8=CA=826C7?6>B@==8>>8@CCA@A=@<>>@@ACCACB:::;3A5=4?>3><8=CA=826\n+@ERR005448.33 IL40_2446:5:1:1:412/2\n+GTCCCAGGGCCCAGAAGAGCTTGTGGCCTCCTTGCAGACATCAGTAGTGGCCCCGTCCCAGGGCCCAGAAGAGCTTGTGGCCTCCTTGCAGACATCAGTAGTGGCCCC\n++\n+<8>A?=5929@@><=?7?9@A<4:49>A?>AA;289<?>:;9<:3?6969<<8<<8>A?=5929@@><=?7?9"..b"=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n+@CONTAMINATED-SEQ\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\n++\n+>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=AAAB<<B<=AAB@A;0?BBAB><'=A49@@@BB@A>@;;?A:7=\n"
b
diff -r 000000000000 -r e462044ece67 test-data/1000trimmed.fastq.bz2
b
Binary file test-data/1000trimmed.fastq.bz2 has changed
b
diff -r 000000000000 -r e462044ece67 test-data/1000trimmed.fastq.gz
b
Binary file test-data/1000trimmed.fastq.gz has changed
b
diff -r 000000000000 -r e462044ece67 test-data/adapter_list.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/adapter_list.txt Tue Jun 04 14:14:49 2024 +0000
[
@@ -0,0 +1,26 @@
+# This file contains a set of sequence fragments which will be explicitly
+# searched against your library.  The reporting will be similar to the 
+# Kmer plot, except that every sequence in this list will be shown so 
+# you can use this to judge the level of adapter read-through even if those
+# adapter sequences aren't picked out by the Kmer module.
+#
+# Since every sequence here will be analysed and the results plotted it 
+# doesn't make any sense to include duplicate sequences, or to add too
+# many sequences since your plot will end up a mess.
+#
+# You can add more sequences to the file by putting one line per entry
+# and specifying a name[tab]sequence.  If the contaminant you add is 
+# likely to be of use to others please consider sending it to the FastQ
+# authors, either via a bug report at www.bioinformatics.babraham.ac.uk/bugzilla/
+# or by directly emailing simon.andrews@babraham.ac.uk so other users of
+# the program can benefit.
+#
+# For the time being it's going to be easier to interpret this plot if all
+# of the sequences provided are the same length, so we've gone with 12bp
+# fragments for now.
+
+Illumina Universal Adapter AGATCGGAAGAG
+Illumina Small RNA 3 prime Adapter TGGAATTCTCGG
+Illumina Small RNA 5 prime Adapter GATCGTCGGACT
+Nextera Transposase Sequence CTGTCTCTTATA
+SOLID Small RNA Adapter CGCCTTGGCCGT
b
diff -r 000000000000 -r e462044ece67 test-data/contaminant_list.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/contaminant_list.txt Tue Jun 04 14:14:49 2024 +0000
[
b"@@ -0,0 +1,192 @@\n+# This file contains a list of potential contaminants which are\r\n+# frequently found in high throughput sequencing reactions.  These\r\n+# are mostly sequences of adapters / primers used in the various\r\n+# sequencing chemistries.\r\n+# \r\n+# Please DO NOT rely on these sequences to design your own oligos, some\r\n+# of them are truncated at ambiguous positions, and none of them are\r\n+# definitive sequences from the manufacturers so don't blame us if you\r\n+# try to use them and they don't work.\r\n+#\r\n+# You can add more sequences to the file by putting one line per entry\r\n+# and specifying a name[tab]sequence.  If the contaminant you add is \r\n+# likely to be of use to others please consider sending it to the FastQ\r\n+# authors, either via a bug report at www.bioinformatics.babraham.ac.uk/bugzilla/\r\n+# or by directly emailing simon.andrews@babraham.ac.uk so other users of\r\n+# the program can benefit.\r\n+\r\n+Illumina Single End Adapter 1\t\t\t\t\tGATCGGAAGAGCTCGTATGCCGTCTTCTGCTTG\r\n+Illumina Single End Adapter 2\t\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\r\n+Illumina Single End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Single End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\r\n+Illumina Single End Sequencing Primer\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+\r\n+Illumina Paired End Adapter 1\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Paired End Adapter 2\t\t\t\t\tGATCGGAAGAGCGGTTCAGCAGGAATGCCGAG\r\n+Illumina Paried End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Paired End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\r\n+Illumina Paried End Sequencing Primer 1\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Paired End Sequencing Primer 2\t\t\tCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\r\n+\r\n+Illumina DpnII expression Adapter 1\t\t\t\tACAGGTTCAGAGTTCTACAGTCCGAC\r\n+Illumina DpnII expression Adapter 2\t\t\t\tCAAGCAGAAGACGGCATACGA\r\n+Illumina DpnII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\r\n+Illumina DpnII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n+Illumina DpnII expression Sequencing Primer\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\r\n+\r\n+Illumina NlaIII expression Adapter 1\t\t\tACAGGTTCAGAGTTCTACAGTCCGACATG\r\n+Illumina NlaIII expression Adapter 2\t\t\tCAAGCAGAAGACGGCATACGA\r\n+Illumina NlaIII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\r\n+Illumina NlaIII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n+Illumina NlaIII expression Sequencing Primer\tCCGACAGGTTCAGAGTTCTACAGTCCGACATG\r\n+\r\n+Illumina Small RNA Adapter 1\t\t\t\t\tGTTCAGAGTTCTACAGTCCGACGATC\r\n+Illumina Small RNA Adapter 2\t\t\t\t\tTGGAATTCTCGGGTGCCAAGG\r\n+Illumina Small RNA RT Primer\t\t\t\t\tCAAGCAGAAGACGGCATACGA\r\n+Illumina Small RNA PCR Primer 2\t\t\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\r\n+Illumina Small RNA Sequencing Primer\t\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\r\n+\r\n+Illumina Multiplexing Adapter 1\t\t\t\t\tGATCGGAAGAGCACACGTCT\r\n+Illumina Multiplexing Adapter 2\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Multiplexing PCR Primer 1.01\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Multiplexing PCR Primer 2.01\t\t\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\r\n+Illumina Multiplexing Read1 Sequencing Primer\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\r\n+Illumina Multiplexing Index Sequencing Primer\tGATCGGAAGAGCACACGTCTGAACTCCAGTCAC\r\n+Illumina Multiplexing Read2 Sequencing Primer\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\r\n+\r\n+Illumina PCR Primer Index 1\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTGATGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 2\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATACATCGGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 3\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCTAAGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 4\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGGTCAGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 5\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCACTGTGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 6\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTGGCGTGACTGGAGTTC\r\n+Illumina PCR Primer Index 7\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGATCTGGTGACTGGAGTT"..b"CA\r\n+RNA PCR Primer, Index 21\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGAAACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 22\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTACGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 23\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCACTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 24\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTACCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 25\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCAGTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 26\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTCATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 27\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGGAATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 28\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 29\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTAGTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 30\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCGGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 31\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 32\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGAGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 33\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGCCTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 34\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 35\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAAAATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 36\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGTTGGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 37\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTCCGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 38\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGCTAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 39\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTATAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 40\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCTGAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 41\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTCGTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 42\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGATTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 43\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTGTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 44\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTATAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 45\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGAATGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 46\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCGGGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 47\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+RNA PCR Primer, Index 48\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGCCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\r\n+\r\n+ABI Dynabead EcoP Oligo\t\t\t\t\t\t\tCTGATCTAGAGGTACCGGATCCCAGCAGT\r\n+ABI Solid3 Adapter A\t\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCTCTCAGCAGCATG\r\n+ABI Solid3 Adapter B\t\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATGGGCAGTCGGTGAT\r\n+ABI Solid3 5' AMP Primer\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATG\r\n+ABI Solid3 3' AMP Primer\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCT\r\n+ABI Solid3 EF1 alpha Sense Primer\t\t\t\tCATGTGTGTTGAGAGCTTC\r\n+ABI Solid3 EF1 alpha Antisense Primer\t\t\tGAAAACCAAAGTGGTCCAC\r\n+ABI Solid3 GAPDH Forward Primer\t\t\t\t\tTTAGCACCCCTGGCCAAGG\r\n+ABI Solid3 GAPDH Reverse Primer\t\t\t\t\tCTTACTCCTTGGAGGCCATG\r\n+\r\n+\r\n+\r\n+Clontech Universal Primer Mix Short\t\t\t\tCTAATACGACTCACTATAGGGC\r\n+Clontech Universal Primer Mix Long\t\t\t\tCTAATACGACTCACTATAGGGCAAGCAGTGGTATCAACGCAGAGT\r\n+Clontech SMARTer II A Oligonucleotide\t\t\tAAGCAGTGGTATCAACGCAGAGTAC\r\n+Clontech SMART CDS Primer II A\t\t\t\t\tAAGCAGTGGTATCAACGCAGAGTACT\r\n+Clontech_Universal_Primer_Mix_Short CTAATACGACTCACTATAGGGC\r\n+Clontech_Universal_Primer_Mix_Long  CTAATACGACTCACTATAGGGCAAGCAGTGGTATCAACGCAGAGT\r\n+Clontech_SMARTer_II_A_Oligonucleotide AAGCAGTGGTATCAACGCAGAGTAC\r\n+Clontech_SMART_CDS_Primer_II_A  AAGCAGTGGTATCAACGCAGAGTACT\r\n+Clontech_SMART_CDS_Primer_II_A  ACGTACTCTGCGTTGATACCACTGCTTCCGCGGACAGGCGTGTAGATCTCGGTGGTCGC\r\n+Clontech_SMART_CDS_Primer_II_A  GAGTACGTACTCTGCGTTGATACCACTGCTTCCGCGGACAGGCGTGTAGATCTCGGTGGT\r\n+\r\n"
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_adapters.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_adapters.txt Tue Jun 04 14:14:49 2024 +0000
[
b"@@ -0,0 +1,170 @@\n+# This file contains a list of potential contaminants which are\n+# frequently found in high throughput sequencing reactions.  These\n+# are mostly sequences of adapters / primers used in the various\n+# sequencing chemistries.\n+# \n+# Please DO NOT rely on these sequences to design your own oligos, some\n+# of them are truncated at ambiguous positions, and none of them are\n+# definitive sequences from the manufacturers so don't blame us if you\n+# try to use them and they don't work.\n+#\n+# You can add more sequences to the file by putting one line per entry\n+# and specifying a name[tab]sequence.  If the contaminant you add is \n+# likely to be of use to others please consider sending it to the FastQ\n+# authors, either via a bug report at www.bioinformatics.bbsrc.ac.uk/bugzilla/\n+# or by directly emailing simon.andrews@bbsrc.ac.uk so other users of\n+# the program can benefit.\n+\n+Illumina Single End Apapter 1\t\t\t\t\tACACTCTTTCCCTACACGACGCTGTTCCATCT\n+Illumina Single End Apapter 2\t\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\n+Illumina Single End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Single End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGCTCTTCCGATCT\n+Illumina Single End Sequencing Primer\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+\n+Illumina Paired End Adapter 1\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Paired End Adapter 2\t\t\t\t\tCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\n+Illumina Paried End PCR Primer 1\t\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Paired End PCR Primer 2\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGGTCTCGGCATTCCTGCTGAACCGCTCTTCCGATCT\n+Illumina Paried End Sequencing Primer 1\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Paired End Sequencing Primer 2\t\t\tCGGTCTCGGCATTCCTACTGAACCGCTCTTCCGATCT\n+\n+Illumina DpnII expression Adapter 1\t\t\t\tACAGGTTCAGAGTTCTACAGTCCGAC\n+Illumina DpnII expression Adapter 2\t\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina DpnII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina DpnII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\n+Illumina DpnII expression Sequencing Primer\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\n+\n+Illumina NlaIII expression Adapter 1\t\t\tACAGGTTCAGAGTTCTACAGTCCGACATG\n+Illumina NlaIII expression Adapter 2\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina NlaIII expression PCR Primer 1\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina NlaIII expression PCR Primer 2\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\n+Illumina NlaIII expression Sequencing Primer\tCCGACAGGTTCAGAGTTCTACAGTCCGACATG\n+\n+Illumina Small RNA Adapter 1\t\t\t\t\tGTTCAGAGTTCTACAGTCCGACGATC\n+Illumina Small RNA Adapter 2\t\t\t\t\tTCGTATGCCGTCTTCTGCTTGT\n+Illumina Small RNA RT Primer\t\t\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina Small RNA PCR Primer 1\t\t\t\t\tCAAGCAGAAGACGGCATACGA\n+Illumina Small RNA PCR Primer 2\t\t\t\t\tAATGATACGGCGACCACCGACAGGTTCAGAGTTCTACAGTCCGA\n+Illumina Small RNA Sequencing Primer\t\t\tCGACAGGTTCAGAGTTCTACAGTCCGACGATC\n+\n+Illumina Multiplexing Adapter 1\t\t\t\t\tGATCGGAAGAGCACACGTCT\n+Illumina Multiplexing Adapter 2\t\t\t\t\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Multiplexing PCR Primer 1.01\t\t\tAATGATACGGCGACCACCGAGATCTACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Multiplexing PCR Primer 2.01\t\t\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\n+Illumina Multiplexing Read1 Sequencing Primer\tACACTCTTTCCCTACACGACGCTCTTCCGATCT\n+Illumina Multiplexing Index Sequencing Primer\tGATCGGAAGAGCACACGTCTGAACTCCAGTCAC\n+Illumina Multiplexing Read2 Sequencing Primer\tGTGACTGGAGTTCAGACGTGTGCTCTTCCGATCT\n+\n+Illumina PCR Primer Index 1\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTGATGTGACTGGAGTTC\n+Illumina PCR Primer Index 2\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATACATCGGTGACTGGAGTTC\n+Illumina PCR Primer Index 3\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCTAAGTGACTGGAGTTC\n+Illumina PCR Primer Index 4\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGGTCAGTGACTGGAGTTC\n+Illumina PCR Primer Index 5\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCACTGTGTGACTGGAGTTC\n+Illumina PCR Primer Index 6\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTGGCGTGACTGGAGTTC\n+Illumina PCR Primer Index 7\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGATCTGGTGACTGGAGTTC\n+Illum"..b"AAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 13\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTTGACTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 14\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGAACTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 15\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGACATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 16\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGACGGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 17\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTCTACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 18\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCGGACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 19\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTTTCACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 20\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGGCCACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 21\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGAAACGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 22\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGTACGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 23\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCACTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 24\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTACCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 25\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCAGTGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 26\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTCATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 27\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGGAATGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 28\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 29\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTAGTTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 30\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCCGGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 31\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATCGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 32\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGAGTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 33\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGCCTGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 34\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCCATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 35\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAAAATGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 36\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGTTGGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 37\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTCCGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 38\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATAGCTAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 39\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTATAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 40\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCTGAGGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 41\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGTCGTCGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 42\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCGATTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 43\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGCTGTAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 44\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATATTATAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 45\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATGAATGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 46\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTCGGGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 47\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATCTTCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+RNA PCR Primer, Index 48\t\t\t\t\t\tCAAGCAGAAGACGGCATACGAGATTGCCGAGTGACTGGAGTTCCTTGGCACCCGAGAATTCCA\n+\n+ABI Dynabead EcoP Oligo\t\t\t\t\t\t\tCTGATCTAGAGGTACCGGATCCCAGCAGT\n+ABI Solid3 Adapter A\t\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCTCTCAGCAGCATG\n+ABI Solid3 Adapter B\t\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATGGGCAGTCGGTGAT\n+ABI Solid3 5' AMP Primer\t\t\t\t\t\tCCACTACGCCTCCGCTTTCCTCTCTATG\n+ABI Solid3 3' AMP Primer\t\t\t\t\t\tCTGCCCCGGGTTCCTCATTCT\n+ABI Solid3 EF1 alpha Sense Primer\t\t\t\tCATGTGTGTTGAGAGCTTC\n+ABI Solid3 EF1 alpha Antisense Primer\t\t\tGAAAACCAAAGTGGTCCAC\n+ABI Solid3 GAPDH Forward Primer\t\t\t\t\tTTAGCACCCCTGGCCAAGG\n+ABI Solid3 GAPDH Reverse Primer\t\t\t\t\tCTTACTCCTTGGAGGCCATG\n"
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_contaminants.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_contaminants.txt Tue Jun 04 14:14:49 2024 +0000
[
@@ -0,0 +1,17 @@
+# This file contains a list of potential contaminants which are
+# frequently found in high throughput sequencing reactions.  These
+# are mostly sequences of adapters / primers used in the various
+# sequencing chemistries.
+# 
+# Please DO NOT rely on these sequences to design your own oligos, some
+# of them are truncated at ambiguous positions, and none of them are
+# definitive sequences from the manufacturers so don't blame us if you
+# try to use them and they don't work.
+#
+# You can add more sequences to the file by putting one line per entry
+# and specifying a name[tab]sequence.  If the contaminant you add is 
+# likely to be of use to others please consider sending it to the FastQ
+# authors, either via a bug report at www.bioinformatics.bbsrc.ac.uk/bugzilla/
+# or by directly emailing simon.andrews@bbsrc.ac.uk so other users of
+# the program can benefit.
+TestContaminant ATGCATGCATGCATGCATGCATGC
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_customlimits.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_customlimits.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,84 @@
+# For each of the modules you can choose to not run that
+# module at all by setting the value below to 1 for the
+# modules you want to remove.
+duplication  ignore  0
+kmer  ignore  0
+n_content  ignore  0
+overrepresented  ignore  0
+quality_base  ignore  0
+sequence  ignore  0
+gc_sequence ignore  0
+quality_sequence ignore 0
+tile ignore 0
+sequence_length ignore 0
+adapter ignore 0
+
+# For the duplication module the value is the percentage
+# remaining after deduplication.  Measured levels below
+# these limits trigger the warning / error.
+duplication warn 70
+duplication error 50
+
+# For the kmer module the filter is on the -log10 binomial
+# pvalue for the most significant Kmer, so 5 would be 
+# 10^-5 = p<0.00001
+kmer warn 2
+kmer error 5
+
+# For the N module the filter is on the percentage of Ns
+# at any position in the library
+n_content warn 5
+n_content error 20
+
+# For the overrepresented seqs the warn value sets the
+# threshold for the overrepresented sequences to be reported
+# at all as the proportion of the library which must be seen
+# as a single sequence
+overrepresented warn 0.1
+overrepresented error 1
+
+# The per base quality filter uses two values, one for the value
+# of the lower quartile, and the other for the value of the
+# median quality.  Failing either of these will trigger the alert
+quality_base_lower warn 10
+quality_base_lower error 5
+quality_base_median warn 25
+quality_base_median error 20
+
+# The per base sequence content module tests the maximum deviation
+# between A and T or C and G
+sequence warn 10
+sequence error 20
+
+# The per sequence GC content tests the maximum deviation between
+# the theoretical distribution and the real distribution
+gc_sequence warn 15
+gc_sequence error 30
+
+# The per sequence quality module tests the phred score which is
+# most frequently observed
+quality_sequence warn 27
+quality_sequence error 20
+
+# The per tile module tests the maximum phred score loss between 
+# and individual tile and the average for that base across all tiles
+tile warn 5
+tile error 10
+
+# The sequence length module tests are binary, so the values here
+# simply turn them on or off.  The actual tests warn if you have
+# sequences of different length, and error if you have sequences
+# of zero length.
+
+sequence_length warn 1
+sequence_length error 1
+
+# The adapter module's warnings and errors are based on the 
+# percentage of reads in the library which have been observed
+# to contain an adapter associated Kmer at any point
+
+adapter warn 5
+adapter error 10
+
+
+
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_adapters.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_adapters.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_adapters_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_adapters_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_contaminant_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_contaminant_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_contaminants.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_contaminants.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_customlimits.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_customlimits.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_customlimits_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_customlimits_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_hisat.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_hisat.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,448 @@\n+##FastQC\t0.12.1\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\thisat_output_1_bam\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t20\n+Total Bases\t1.4 kbp\n+Sequences flagged as poor quality\t0\n+Sequence length\t70\n+%GC\t43\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+2\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+3\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+4\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+5\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+6\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+7\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+8\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+9\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+10\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+11\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+12\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+13\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+14\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+15\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+16\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+17\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+18\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+19\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+20\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+21\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+22\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+23\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+24\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+25\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+26\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+27\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+28\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+29\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+30\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+31\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+32\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+33\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+34\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+35\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+36\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+37\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+38\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+39\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+40\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+41\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+42\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+43\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+44\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+45\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+46\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+47\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+48\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+49\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+50\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+51\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+52\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+53\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+54\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+55\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+56\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+57\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+58\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+59\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+60\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+61\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+62\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+63\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+64\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+65\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+66\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+67\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+68\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+69\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+70\t17.0\tNaN\tNaN\tNaN\tNaN\tNaN\n+>>END_MODULE\n+>>Per sequence quality scores\tfail\n+#Quality\tCount\n+17\t20.0\n+>>END_MODULE\n+>>Per base sequence content\tfail\n+#Base\tG\tA\tT\tC\n+1\t20.0\t5.0\t35.0\t40.0\n+2\t10.0\t10.0\t45.0\t35.0\n+3\t35.0\t20.0\t20.0\t25.0\n+4\t35.0\t30.0\t25.0\t10.0\n+5\t20.0\t20.0\t30.0\t30.0\n+6\t20.0\t35.0\t20.0\t25.0\n+7\t15.0\t40.0\t35.0\t10.0\n+8\t20.0\t15.0\t45.0\t20.0\n+9\t20.0\t25.0\t35.0\t20.0\n+10\t20.0\t20.0\t30.0\t30.0\n+11\t15.0\t20.0\t45.0\t20.0\n+12\t10.0\t40.0\t35.0\t15.0\n+13\t25.0\t35.0\t20.0\t20.0\n+14\t35.0\t20.0\t20.0\t25.0\n+15\t30.0\t35.0\t15.0\t20.0\n+16\t10.0\t45.0\t25.0\t20.0\n+17\t25.0\t25.0\t40.0\t10.0\n+18\t25.0\t35.0\t10.0\t30.0\n+19\t5.0\t30.0\t25.0\t40.0\n+20\t20.0\t15.0\t40.0\t25.0\n+21\t25.0\t25.0\t25.0\t25.0\n+22\t15.0\t30.0\t20.0\t35.0\n+23\t20.0\t5.0\t45.0\t30.0\n+24\t10.0\t30.0\t35.0\t25.0\n+25\t30.0\t40.0\t15.0\t15.0\n+26\t15.0\t35.0\t20.0\t30.0\n+27\t15.0\t35.0\t30.0\t20.0\n+28\t25.0\t25.0\t30.0\t20.0\n+29\t15.0\t30.0\t20.0\t35.0\n+30\t20.0\t35.0\t30.0\t15.0\n+31\t20.0\t35.0\t25.0\t20.0\n+32\t35.0\t15.0\t35.0\t15.0\n+33\t30.0\t35.0\t15.0\t20.0\n+34\t25.0\t25.0\t25.0\t25.0\n+35\t25.0\t20.0\t35.0\t20.0\n+36\t30.0\t25.0\t20.0\t25.0\n+37\t15.0\t45.0\t25.0\t15.0\n+38\t30.0\t25.0\t35.0\t10.0\n+39\t20.0\t45.0\t15.0\t20.0\n+40\t15.0\t35.0\t20.0\t30.0\n+41\t35.0\t25.0\t20.0\t20.0\n+42\t30.0\t30.0\t35.0\t5.0\n+43\t25.0\t15.0\t40.0\t20.0\n+44\t40.0\t20.0\t30.0\t10.0\n+45\t15.0\t35.0\t25.0\t25.0\n+46\t15.0\t30.0\t40.0\t15.0\n+47\t35.0\t15.0\t30.0\t20.0\n+48\t30.0\t35.0\t20.0\t15.0\n+49\t10.0\t55.00000000000001\t30.0\t5.0\n+50\t40.0\t25.0\t20.0\t15.0\n+51\t25.0\t35.0\t10.0\t30.0\n+52\t30.0\t25.0\t20.0\t25.0\n+53\t30.0\t10.0\t30.0\t30.0\n+54\t20.0\t40.0\t20.0\t20.0\n+55\t10.0\t35.0\t10.0\t45.0\n+56\t50.0\t10.0\t30.0\t10.0\n+57\t15.0\t45.0\t30.0\t10.0\n+58\t20.0\t35.0\t20.0\t25.0\n+59\t30.0\t35.0\t30.0\t5.0\n+60\t20.0\t35.0\t25.0\t'..b"6\t0.0\n+17\t0.0\n+18\t0.0\n+19\t0.0\n+20\t0.0\n+21\t0.0\n+22\t0.0\n+23\t0.0\n+24\t0.0\n+25\t0.0\n+26\t0.0\n+27\t0.0\n+28\t0.0\n+29\t0.0\n+30\t0.0\n+31\t0.0\n+32\t0.0\n+33\t0.0\n+34\t0.0\n+35\t0.0\n+36\t0.0\n+37\t0.0\n+38\t0.0\n+39\t0.0\n+40\t0.0\n+41\t0.0\n+42\t0.0\n+43\t0.0\n+44\t0.0\n+45\t0.0\n+46\t0.0\n+47\t0.0\n+48\t0.0\n+49\t0.0\n+50\t0.0\n+51\t0.0\n+52\t0.0\n+53\t0.0\n+54\t0.0\n+55\t0.0\n+56\t0.0\n+57\t0.0\n+58\t0.0\n+59\t0.0\n+60\t0.0\n+61\t0.0\n+62\t0.0\n+63\t0.0\n+64\t0.0\n+65\t0.0\n+66\t0.0\n+67\t0.0\n+68\t0.0\n+69\t0.0\n+70\t0.0\n+>>END_MODULE\n+>>Sequence Length Distribution\tpass\n+#Length\tCount\n+70\t20.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t100.0\n+#Duplication Level\tPercentage of total\n+1\t100.0\n+2\t0.0\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\t0.0\n+>50\t0.0\n+>100\t0.0\n+>500\t0.0\n+>1k\t0.0\n+>5k\t0.0\n+>10k+\t0.0\n+>>END_MODULE\n+>>Overrepresented sequences\tfail\n+#Sequence\tCount\tPercentage\tPossible Source\n+CCTTTCGCCATCAACTAACGATTCTGTCAAAAACTGACGCGTTGGATGAG\t1\t5.0\tNo Hit\n+TGGCGCTCTCCGTCTTTCTCCATTTCGTCGTGGCCTTGCTATTGACTCTA\t1\t5.0\tNo Hit\n+ACCATAAACGCAAGCCTCAACGCAGCGACGAGCACGAGAGCGGTCAGTAG\t1\t5.0\tNo Hit\n+TGTTTTCCGTAAATTCAGCGCCTTCCATGATGCGACAGGCCGTTTGAATG\t1\t5.0\tNo Hit\n+CTGGCACTTCTGCCGTTTCTGATAAGTTGCTTGATTTGGTTGGACTTGGT\t1\t5.0\tNo Hit\n+TCTGCGTTTGCTGATGAACTAAGTCAACCTCAGCACTAACCTTGCGAGTC\t1\t5.0\tNo Hit\n+CCATACAAAACAGGGTCGCCAGCAATATCGGTATAAGTCAAAGCACCTTT\t1\t5.0\tNo Hit\n+TAAGCATTTGTTTCAGGGTTATTTGAATATCTATAACAACTATTTTCAAG\t1\t5.0\tNo Hit\n+CAAATTAGCATAAGCAGCTTGCAGACCCATAATGTCAATAGATGTGGTAG\t1\t5.0\tNo Hit\n+GCGTTAAGGTACTGAATCTCTTTAGTCGCAGTAGGCGGAAAACGAACAAG\t1\t5.0\tNo Hit\n+CTGAATGGAATTAAGAAAACCACCAATACCAGCATTAACCTTCAAACTAT\t1\t5.0\tNo Hit\n+GCGACCATTCAAAGGATAAACATCATAGGCAGTCGGGAGGGTAGTCGGAA\t1\t5.0\tNo Hit\n+GTGAAATTTCTAGGAAGGATGTTTTCCGTTCTGGTGATTCGTCTAAGAAG\t1\t5.0\tNo Hit\n+CTCAAATCCGGCGTCAACCATACCAGCATAGGAAGCATCAGCACCAGCAC\t1\t5.0\tNo Hit\n+TTCTGGTGATTTGCAAGAACGCGTACTTATTCGCCACCATGATTATGACC\t1\t5.0\tNo Hit\n+CTCGCGATTCAATCATGACTTCGTGATAAAAGATTGAGTGTGAGGTTATA\t1\t5.0\tNo Hit\n+TTAGGTGTGTGTAAAACAGGTGCCGAAGAAGCTGGATTAACAGAATTGAG\t1\t5.0\tNo Hit\n+GCGGTATTGCTTCTGCTCTTGCTGGTGGCGCCATGTCTAAATTGTTTGGA\t1\t5.0\tNo Hit\n+TTTCGGATATTTCTGATGAGTCGAAAAATTATCTTGATAAAGCAGTAATT\t1\t5.0\tNo Hit\n+CTCGCCAAATGACGACTTCTACCACATCTATTGACATTATGGGTCTGCAA\t1\t5.0\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3' Adapter\tIllumina Small RNA 5' Adapter\tNextera Transposase Sequence\tPolyA\tPolyG\n+1\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+2\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+3\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+4\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+5\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+6\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+7\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+8\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+9\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+10\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+11\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+12\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+13\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+14\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+15\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+16\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+17\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+18\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+19\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+20\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+21\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+22\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+23\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+24\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+25\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+26\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+27\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+28\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+29\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+30\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+31\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+32\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+33\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+34\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+35\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+36\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+37\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+38\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+39\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+40\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+41\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+42\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+43\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+44\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+45\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+46\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+47\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+48\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+49\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+50\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+51\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+52\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+53\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+54\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+55\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+56\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+57\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+58\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+59\t0.0\t0.0\t0.0\t0.0\t0.0\t0.0\n+>>END_MODULE\n"
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_kmer.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_kmer.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_kmer_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_kmer_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_min_length.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_min_length.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_min_length_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_min_length_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_nogroup.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_nogroup.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1857 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10\t28.7413\t30\t27\t32\t22\t33\n+11\t28.9029\t30\t27\t32\t23\t33\n+12\t28.8793\t30\t27\t32\t22\t33\n+13\t28.6187\t30\t26\t32\t22\t33\n+14\t28.6381\t30\t26\t32\t22\t34\n+15\t28.4293\t30\t26\t32\t22\t33\n+16\t28.5692\t30\t26\t32\t22\t33\n+17\t28.484\t30\t26\t32\t22\t33\n+18\t28.6611\t30\t26\t32\t22\t33\n+19\t28.7058\t30\t26\t32\t23\t33\n+20\t28.3636\t30\t26\t32\t22\t33\n+21\t28.3767\t29\t26\t32\t22\t33\n+22\t28.165\t29\t26\t32\t22\t33\n+23\t28.2069\t29\t26\t32\t22\t33\n+24\t28.2375\t29\t26\t32\t22\t33\n+25\t28.0227\t29\t26\t32\t21\t33\n+26\t28.1444\t29\t26\t32\t22\t33\n+27\t28.0071\t29\t26\t32\t21\t33\n+28\t27.8097\t29\t25\t32\t21\t33\n+29\t27.8464\t29\t25\t32\t21\t33\n+30\t27.8357\t29\t25\t32\t21\t33\n+31\t27.75\t29\t25\t31\t21\t33\n+32\t27.618\t28\t25\t31\t21\t33\n+33\t27.364\t28\t25\t31\t21\t33\n+34\t27.4264\t28\t25\t31\t21\t33\n+35\t27.288\t28\t24\t31\t21\t33\n+36\t27.099\t28\t24\t31\t20\t33\n+37\t27.0253\t28\t24\t31\t21\t33\n+38\t27.2932\t28\t24\t31\t21\t33\n+39\t27.1829\t28\t24\t31\t21\t33\n+40\t26.9911\t28\t24\t31\t20\t33\n+41\t27.0668\t28\t24\t31\t21\t33\n+42\t27.0341\t27\t24\t31\t21\t33\n+43\t26.7831\t27\t24\t31\t20\t33\n+44\t26.6236\t27\t24\t30\t20\t32\n+45\t26.6404\t27\t24\t30\t20\t32\n+46\t26.9469\t28\t24\t31\t21\t32\n+47\t26.714\t27\t24\t31\t20\t32\n+48\t26.4617\t27\t24\t30\t20\t32\n+49\t26.4017\t27\t23\t30\t20\t32\n+50\t26.2447\t27\t23\t30\t20\t32\n+51\t26.1933\t27\t23\t30\t20\t32\n+52\t26.4316\t27\t23\t30\t20\t32\n+53\t25.4198\t26\t22\t29\t19\t31\n+54\t25.7478\t27\t22\t30\t17\t32\n+55\t30.2427\t32\t29\t33\t24\t34\n+56\t30.2882\t31\t28\t33\t25\t34\n+57\t30.5335\t32\t29\t33\t26\t34\n+58\t30.4879\t32\t29\t33\t26\t34\n+59\t30.3289\t31\t28\t33\t26\t34\n+60\t30.4893\t32\t29\t33\t26\t34\n+61\t30.4003\t31\t29\t33\t26\t34\n+62\t30.4621\t31\t29\t33\t26\t34\n+63\t30.4187\t32\t29\t33\t25\t34\n+64\t30.3083\t31\t29\t33\t25\t34\n+65\t30.5751\t32\t29\t33\t26\t34\n+66\t30.5405\t32\t29\t33\t26\t34\n+67\t30.4823\t32\t29\t33\t25\t34\n+68\t30.2761\t31\t28\t33\t25\t34\n+69\t29.8262\t31\t28\t33\t24\t34\n+70\t30.3446\t31\t29\t33\t25\t34\n+71\t30.2077\t31\t29\t33\t25\t34\n+72\t30.4043\t32\t29\t33\t25\t34\n+73\t30.3667\t31\t29\t33\t26\t34\n+74\t30.3122\t31\t29\t33\t26\t34\n+75\t30.1149\t31\t28\t33\t25\t34\n+76\t30.011\t31\t28\t33\t25\t34\n+77\t29.3468\t31\t28\t33\t24\t34\n+78\t30.0795\t31\t28\t33\t25\t34\n+79\t29.9588\t31\t28\t33\t24\t34\n+80\t29.6797\t31\t28\t33\t24\t34\n+81\t29.6487\t31\t27\t33\t24\t34\n+82\t29.6591\t31\t28\t33\t24\t34\n+83\t29.648\t31\t28\t32\t25\t34\n+84\t29.5434\t31\t27\t32\t24\t34\n+85\t29.3078\t30\t27\t32\t24\t34\n+86\t29.3807\t30\t27\t33\t24\t34\n+87\t29.3004\t30\t27\t32\t24\t34\n+88\t28.9146\t30\t27\t32\t23\t34\n+89\t28.6568\t30\t27\t32\t22\t33\n+90\t28.7378\t30\t26\t32\t23\t33\n+91\t28.5972\t29\t26\t32\t23\t33\n+92\t28.6267\t29\t26\t32\t23\t33\n+93\t28.5052\t29\t26\t32\t23\t33\n+94\t28.4124\t29\t26\t32\t23\t33\n+95\t28.1311\t29\t26\t32\t22\t33\n+96\t27.9249\t29\t25\t31\t22\t33\n+97\t27.9742\t29\t26\t31\t22\t33\n+98\t26.9919\t28\t25\t31\t21\t33\n+99\t27.6385\t28\t25\t31\t22\t33\n+100\t27.7238\t28\t25\t31\t22\t33\n+101\t27.5057\t28\t25\t31\t21\t33\n+102\t27.3208\t28\t25\t31\t21\t33\n+103\t27.0717\t28\t24\t31\t21\t33\n+104\t26.84\t27\t24\t31\t20\t32\n+105\t26.9019\t28\t24\t31\t20\t33\n+106\t27.0257\t28\t24\t31\t21\t33\n+107\t25.7095\t26\t23\t29\t20\t31\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6'..b'\n+25\t0\n+26\t0\n+27\t0\n+28\t0\n+29\t0\n+30\t0\n+31\t0\n+32\t0\n+33\t0\n+34\t0\n+35\t0\n+36\t0\n+37\t0\n+38\t0\n+39\t0\n+40\t0\n+41\t0\n+42\t0\n+43\t0\n+44\t0\n+45\t0\n+46\t0\n+47\t0\n+48\t0\n+49\t0\n+50\t0\n+51\t0\n+52\t0\n+53\t0\n+54\t0\n+55\t0\n+56\t0\n+57\t0\n+58\t0\n+59\t0\n+60\t0\n+61\t0\n+62\t0\n+63\t0\n+64\t0\n+65\t0\n+66\t0\n+67\t0\n+68\t0\n+69\t0\n+70\t0\n+71\t0\n+72\t0\n+73\t0\n+74\t0\n+75\t0\n+76\t0\n+77\t0\n+78\t0\n+79\t0\n+80\t0\n+81\t0\n+82\t0\n+83\t0\n+84\t0\n+85\t0\n+86\t0\n+87\t0\n+88\t0\n+89\t0\n+90\t0\n+91\t0\n+92\t0\n+93\t0\n+94\t0\n+95\t0\n+96\t0\n+97\t0\n+98\t0\n+99\t0\n+100\t0\n+101\t0\n+102\t0\n+103\t0\n+104\t0\n+105\t0\n+106\t0\n+107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_data_nogroup_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_data_nogroup_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 16:50:45 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_adapters.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_adapters.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 16:55:06 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_bisulfite.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_bisulfite.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 17:08:30 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="warn" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_bisulfite.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_bisulfite.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_bisulfite_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_bisulfite_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+WARN Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_contaminants.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_contaminants.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 16:52:55 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_customlimits.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_customlimits.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 16:57:19 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_hisat.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_hisat.html Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,187 @@\n+<!DOCTYPE html><html><head><title>hisat_output_1_bam FastQC Report</title><style type="text/css">\n+ @media screen {\n+  div.summary {\n+    width: 18em;\n+    position:fixed;\n+    top: 3em;\n+    margin:1em 0 0 1em;\n+  }\n+  \n+  div.main {\n+    display:block;\n+    position:absolute;\n+    overflow:auto;\n+    height:auto;\n+    width:auto;\n+    top:4.5em;\n+    bottom:2.3em;\n+    left:18em;\n+    right:0;\n+    border-left: 1px solid #CCC;\n+    padding:0 0 0 1em;\n+    background-color: white;\n+    z-index:1;\n+  }\n+  \n+  div.header {\n+    background-color: #EEE;\n+    border:0;\n+    margin:0;\n+    padding: 0.5em;\n+    font-size: 200%;\n+    font-weight: bold;\n+    position:fixed;\n+    width:100%;\n+    top:0;\n+    left:0;\n+    z-index:2;\n+  }\n+\n+  div.footer {\n+    background-color: #EEE;\n+    border:0;\n+    margin:0;\n+\tpadding:0.5em;\n+    height: 1.3em;\n+\toverflow:hidden;\n+    font-size: 100%;\n+    font-weight: bold;\n+    position:fixed;\n+    bottom:0;\n+    width:100%;\n+    z-index:2;\n+  }\n+  \n+  img.indented {\n+    margin-left: 3em;\n+  }\n+ }\n+ \n+ @media print {\n+\timg {\n+\t\tmax-width:100% !important;\n+\t\tpage-break-inside: avoid;\n+\t}\n+\th2, h3 {\n+\t\tpage-break-after: avoid;\n+\t}\n+\tdiv.header {\n+      background-color: #FFF;\n+    }\n+\t\n+ }\n+ \n+ body {    \n+  font-family: sans-serif;   \n+  color: #000;   \n+  background-color: #FFF;\n+  border: 0;\n+  margin: 0;\n+  padding: 0;\n+  }\n+  \n+  div.header {\n+  border:0;\n+  margin:0;\n+  padding: 0.5em;\n+  font-size: 200%;\n+  font-weight: bold;\n+  width:100%;\n+  }    \n+  \n+  #header_title {\n+  display:inline-block;\n+  float:left;\n+  clear:left;\n+  }\n+  #header_filename {\n+  display:inline-block;\n+  float:right;\n+  clear:right;\n+  font-size: 50%;\n+  margin-right:2em;\n+  text-align: right;\n+  }\n+\n+  div.header h3 {\n+  font-size: 50%;\n+  margin-bottom: 0;\n+  }\n+  \n+  div.summary ul {\n+  padding-left:0;\n+  list-style-type:none;\n+  }\n+  \n+  div.summary ul li img {\n+  margin-bottom:-0.5em;\n+  margin-top:0.5em;\n+  }\n+\t  \n+  div.main {\n+  background-color: white;\n+  }\n+      \n+  div.module {\n+  padding-bottom:1.5em;\n+  padding-top:1.5em;\n+  }\n+\t  \n+  div.footer {\n+  background-color: #EEE;\n+  border:0;\n+  margin:0;\n+  padding: 0.5em;\n+  font-size: 100%;\n+  font-weight: bold;\n+  width:100%;\n+  }\n+\n+\n+  a {\n+  color: #000080;\n+  }\n+\n+  a:hover {\n+  color: #800000;\n+  }\n+      \n+  h2 {\n+  color: #800000;\n+  padding-bottom: 0;\n+  margin-bottom: 0;\n+  clear:left;\n+  }\n+\n+  table { \n+  margin-left: 3em;\n+  text-align: center;\n+  }\n+  \n+  th { \n+  text-align: center;\n+  background-color: #000080;\n+  color: #FFF;\n+  padding: 0.4em;\n+  }      \n+  \n+  td { \n+  font-family: monospace; \n+  text-align: left;\n+  background-color: #EEE;\n+  color: #000;\n+  padding: 0.4em;\n+  }\n+\n+  img {\n+  padding-top: 0;\n+  margin-top: 0;\n+  border-top: 0;\n+  }\n+\n+  \n+  p {\n+  padding-top: 0;\n+  margin-top: 0;\n+  }\n+</style></head><body><div class="header"><div id="header_title"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAD0klEQVR4Xq2XS2xNURiFV0u1qFdTtNGiidfAox7xCPEaEIQQDRWlJSkJUSRFPMK5WlQiIcJAJIJIBCGRIB4DjUkHJkSkQxEGmDBQxOtY/9n33O77n937aDT57m3P+f+11t3de5994fs+usMJYFAMWOUBp8kt8pQ8IdfJCbKUFOo+TeRCOihaQs6S78RPwxdy9CTQT+uERC6kgmJzyAeHUTram4CxWi8RgD8DyUhSSeaTlaSO7LLMp5Mflmi2fCRl3QrQAgxg8/u4kOauzIVmoFw+JX9fz2svHHVCG91yIgHSQdGDDjGhRQsKvF5I7jvqfWotyyoAm3I9M3xa7JXL3OobQr45+h7YdZFGzVFgskNEqNG1Gtacc/R1XADywhrzAvQnI8gkMg/WHOCQbXeICCXaUMOaFY4+YVrGAVgccwj8TDX8VoBKR6/Mg+VJAVLhmU1Hi7zVdYEYbvbgvjMD8PaSK4VofOToFeqyCXDKIfAp2fhCHgdqO03fED9kAHbrvoCpWP6S9cFqiBhqulqCZ4F8Y95cTrM22zhkODZH+oRhqJf7rYkASDEHGGCdFhC46YwGjpVS6J02DqnEykifwH9N5gGOAaVaQDiCXN7ynmvTOB2kaQ/6vtZ9DSj6Hq/pDJAONrZpoUPo+TUf+7WxwFBNo1kzV/cIh5G7gzVV5HzGAWTZaCFhK0qDiWaZfyNlvLeIfNb1nnk897e1I2ZdwcbbDkF/H3r71Rjnz8MCeZeRekZ+6zry117/SQFg5sAwMo5MJwth5sEGsk1q5FBBkecO4Uw5oM3tAINIBZmMzsdxLdlJjlijUEAukr+WcDrkALNGGycFyJZRqLm2CpP8Rh75HIY2n0ix7reJXMgETrST4cQrQoNfgVp/Aqrk0dviCBHM9q6IXMgEGjc6lp8gZwA5ESeFkN1UayS0jCD6kmLCbRVjYDakmWQBWUpWkxpSHw+wwmEuLORLDk2vhuYWm7W5HaAI5'..b'7W7Dm6a/XKHZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls3yrXbXwU2zX+6wbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslm+1e46uGn2yx2WzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNsu32l0HN81+ucOyWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZvlWv1oHv/zsOHzKfutvpVk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZvtUv6+BxNdxfE7Ef+ltpls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJbNslk2y2bZLJtls2yWzbJZNstm2SybZbNsls2yWTbLZtksm2WzbJZvtd4p99dEnMPf//t//ss//cfi6ze/5et3f//7P/7tH3/393/w0an95eTcOXfOnXPn3Dl3zp1z59y5uvP29Yd/+yO72Xew3inPa+KmP5388z/+9n/+5r/na77ma77ma77ma77m6/t//fNv/t3l7JO4BR6sd8qX98uz/9ua//Wffrvz9bt/+P1//d1//t//PT+ak3NyTs7J86M5OSfn5Jw8P5qTfP01/PfLMcYYY4zx/9x6p5z9cowxxhhjvGa9U85+OcYYY4wxXvOrPfLLz47DMcYYY4wx9n2PVXJnYb2vtg8P75+8e3jyeOfDw1/3FvHDfQ9Oft278Gb/5EPLS5bDfeT3d/uRay/ufPna73DnbfLyhb+8m1N+nmxa3rkc7lvmx+FxvmnZHofH+aZql8NNhyvNz5NNyzuXw33L/Dg8zjct2+PwON9U7XL4rHN+njzreMP9TX7w2rrzI9d+6ztv37584S/v5nTDaxd+jTvPk6cc8/sNy+G+Zb4c7qv8PPnWvvlP2vw8/BYOT7R/8mbnDTw8cLdz29l1sv+J9k8+tPwgy+G+c/7xN3x952vOdx5dPLpwvvODn73y8w/at7xzOdy3zF+452h559FyeG1553K4r/IvP7l/+5TlncvhvmX+wj1HyzuPlsNryzuXw2f9+e/x6/Y8eRY31OunXNz5sotPWvOHLt7nC3dWcvHOH1qG3+J9Lof7HuYPD5wtkw9+9td82x9z+xjPfpj98zsn//z/oY+OPTxwt3/y7uEb2P/D75+8dmu5YTnc9zC/eFSWd75wz9HyzrsvP3H6yPLO47cv3Hl0z5c/6DXLS5bDfbzPT3G+6rW/0dHyfX7unR+87WZ5yXK4b/nZP+h81Y/2N+L93F6/fNvNxWes+UPL9/lB9T5rvuPifb5w5zK5DZePdjwMHx44WybL4b7rnN/zpmXywb/Ra77Hj3n2w2ye3/nV3w7sHLvz2a/tn7x7ePJ+287J5evXLG9YDvdV/tRvDIS3qz5y4dfTnXc133F+n8vXL7i4+WXnSz74K/16uPN21ccv/Brvk8mzju/zPHzB+ZN+5Lab85013HfMb68/eOHXeEvnyVOOdx6veu3aW3Vuz5N9dedtuJw/dL7zdtXLF35d3Xm3HO4431mvNx0+pe15sunizvtTp48s71wO913ny+FDyzvr9Tf1PX7MUx9m5/D5d7d0P/Dw5NH14Rf+SDvHnv1EvH7N8oblcN853/xoFy7ai0fXKqz5Dtrjt5947XLyrPNbvTkOn1V5zXcs2+VwX/1dXru2fnXnyb7lncvhvuu85tcu7lwOd5zvrNeb7sm5PU821Z3nN7+v7ryr+YXrO5fDh5Z31usXkH/wthve3s3h+SuWNyyH+875efKs+w38Eu6vv6nv8WP2P8z+yZvr88vf7EPXh5/9Iz175uH5Lwc+e9LyhuVw30V+8ejaRXjx6NoyXA73nfP7X+r8aNMyXA73XeQXj65dhBePri3D5XDfOb//gc6PnkL+wdtulpcsh/uW+XK471t/9vsf6IWb78m5PU82Xdx5U/ML3/nO82RT3fnnv83PjvNnna89fvua5SXL4b5lvhzu+9af/f4H+pSbd3yPH7P5YTaPHV0kx1/lnYdWro8dn16fvHn2zM75m/2TZXnDcrjvIr94dO0ivHh0bRkuh/su8otHF6qq+Y7r9vppua6un5aqar7jur1++hD5B2+7WV6yHO5b5svhvh/2s39ZOT49nN3ldT85n2Fyzet+cj7D5JrX/eT49HB2l9f95HyGyVPIP3jbzfKS5XDfMl8O9/2lfPZ93+PH7HyYnTNnm9XDY8cD14f3T37dOHDz1J03m8euLS9ZDvdd5BePrhG+8Os6O4fnybPqhppfu6guHl17GD48cLZMPvg3qqTmO67b66c7uOHjF36NS5bDfff8g3+jo0+86u58z3nylHN+njyrbqj5jvplftad529fs7xkOXzo4mO+duHXyzsvhteWdy6H+yp/4aq763vOk2/ne/yknc/z5dd8fLB57OjhyafufOqko5Vffvaj85vHNi3vWQ73kd/f8Eeu/Q53LifPqvd5HO675+dLPvfO8+Qpx/x+w3nylGN+vOG1226Wd/Ltsw73ecN5sml553K4b5kvh/sqf+22m+Wd58lrzjecJ89avs8PXvut7zx/+5rl+zw8f8I9P99wnmxa3rkc7lvmy+G+yl+77WZ553nyHXzXHzbGGGOMMf7qzX45xhhjjDE+0+yXY4wxxhjjM81+OcYYY4wxPtPsl2OMMcYY4zPNfjnGGGOMMT7T7JdjjDHGGOMzzX45xhhjjDE+0+yXY4wxxhjjM81+OcYYY4wxPtPsl2OMv3jL/92z5XDTR9pnXf+s66djjPFjmn+5xhg/hPv/Qu6Nj/e8HL7R8j3fh8unZx/5pY0xxqebf4/GGD+E43r08qr0cvhG5/f82q9i/+QYY3xr8+/RGOOHwHp0/A94/Me5++Q+vL1gfn96fHScLOfHp/cX18eOj84n75Pj8GJ+e8RrTi6H9/kYY7zd/GM0xvghLPekh0MmD88fh8sDTB4eW17O6/Pw+iRPz9VyyOsxxnij+cdojPFDuO1Mx83pNuQAw/sjXlwMz5c8e2FNrg8fh9cnL56e3/zx2/NVY4zxFvOP0Rjjh7DcjS4WqeUS9nB4/3Z58jzZPHb/9uh6eKzur2/fXj+t4Xk+xhjvMv8YjTF+CMvdiE3r4V613MyWlyxPniebx5bfnocvXLv8EcvheT7GGO8y/xiNMX4Iy93oYtM6Ts4vXhueJ5vHlt8y/PIThrw+T5bVcsjrMcZ4o/nHaIzxQ6jd6LZLsUUxPD9dDpksXzPZPHac8LOO396Hy5PHR7zm5HJ4n48xxtvNP0ZjjPFjebgmLg8sh2OM8Rbz79EYY/xwrpfF81P+Q+YYY7zX/Hs0xhh/YWaVHGP84OYfqTHGGGOM8ZlmvxxjjDHGGJ/pfwGzayGt8XDB7QAAAABJRU5ErkJg" alt="Adapter graph"/></p></div></div><div class="footer">Produced by <a href="http://www.bioinformatics.babraham.ac.uk/projects/fastqc/">FastQC</a>  (version 0.12.1)</div></body></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_kmer.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_kmer.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 16:59:30 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_min_length.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_min_length.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 17:01:42 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_nogroup.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_nogroup.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 17:04:08 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_reverse_complement.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_reverse_complement.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 17:10:44 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.142712,0.183486,0.224261,0.224261,0.224261,0.224261,0.224261,0.224261,0.265036,0.285423,0.326198,0.407747,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.468909,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.489297,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.509684,0.570846,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008,0.632008], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_reverse_complement.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_reverse_complement.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1710 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.2828\t31\t27\t33\t23\t34\n+2\t28.8329\t30\t27\t32\t22\t33\n+3\t28.897\t30\t27\t32\t23\t34\n+4\t29.0068\t30\t27\t32\t23\t34\n+5\t28.9378\t30\t27\t32\t22\t34\n+6\t29.0029\t30\t27\t32\t23\t34\n+7\t28.8998\t30\t27\t32\t22\t34\n+8\t28.9007\t30\t27\t32\t22\t33\n+9\t28.7546\t30\t27\t32\t22\t34\n+10-11\t28.8221\t30\t27\t32\t22.5\t33\n+12-13\t28.749\t30\t26.5\t32\t22\t33\n+14-15\t28.5337\t30\t26\t32\t22\t33.5\n+16-17\t28.5266\t30\t26\t32\t22\t33\n+18-19\t28.6834\t30\t26\t32\t22.5\t33\n+20-21\t28.3701\t29.5\t26\t32\t22\t33\n+22-23\t28.1859\t29\t26\t32\t22\t33\n+24-25\t28.1301\t29\t26\t32\t21.5\t33\n+26-27\t28.0758\t29\t26\t32\t21.5\t33\n+28-29\t27.828\t29\t25\t32\t21\t33\n+30-31\t27.7928\t29\t25\t31.5\t21\t33\n+32-33\t27.491\t28\t25\t31\t21\t33\n+34-35\t27.3572\t28\t24.5\t31\t21\t33\n+36-37\t27.0622\t28\t24\t31\t20.5\t33\n+38-39\t27.238\t28\t24\t31\t21\t33\n+40-41\t27.029\t28\t24\t31\t20.5\t33\n+42-43\t26.9086\t27\t24\t31\t20.5\t33\n+44-45\t26.632\t27\t24\t30\t20\t32\n+46-47\t26.8304\t27.5\t24\t31\t20.5\t32\n+48-49\t26.4317\t27\t23.5\t30\t20\t32\n+50-51\t26.219\t27\t23\t30\t20\t32\n+52-53\t25.9257\t26.5\t22.5\t29.5\t19.5\t31.5\n+54-55\t27.9952\t29.5\t25.5\t31.5\t20.5\t33\n+56-57\t30.4109\t31.5\t28.5\t33\t25.5\t34\n+58-59\t30.4084\t31.5\t28.5\t33\t26\t34\n+60-61\t30.4448\t31.5\t29\t33\t26\t34\n+62-63\t30.4404\t31.5\t29\t33\t25.5\t34\n+64-65\t30.4417\t31.5\t29\t33\t25.5\t34\n+66-67\t30.5114\t32\t29\t33\t25.5\t34\n+68-69\t30.0512\t31\t28\t33\t24.5\t34\n+70-71\t30.2761\t31\t29\t33\t25\t34\n+72-73\t30.3855\t31.5\t29\t33\t25.5\t34\n+74-75\t30.2135\t31\t28.5\t33\t25.5\t34\n+76-77\t29.6789\t31\t28\t33\t24.5\t34\n+78-79\t30.0191\t31\t28\t33\t24.5\t34\n+80-81\t29.6642\t31\t27.5\t33\t24\t34\n+82-83\t29.6535\t31\t28\t32.5\t24.5\t34\n+84-85\t29.4256\t30.5\t27\t32\t24\t34\n+86-87\t29.3406\t30\t27\t32.5\t24\t34\n+88-89\t28.7857\t30\t27\t32\t22.5\t33.5\n+90-91\t28.6675\t29.5\t26\t32\t23\t33\n+92-93\t28.5659\t29\t26\t32\t23\t33\n+94-95\t28.2717\t29\t26\t32\t22.5\t33\n+96-97\t27.9496\t29\t25.5\t31\t22\t33\n+98-99\t27.3152\t28\t25\t31\t21.5\t33\n+100-101\t27.6147\t28\t25\t31\t21.5\t33\n+102-103\t27.1962\t28\t24.5\t31\t21\t33\n+104-105\t26.8709\t27.5\t24\t31\t20\t32.5\n+106-107\t26.3676\t27\t23.5\t30\t20.5\t32\n+108\t27.5651\t28\t24\t31\t22\t33\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969\n+1\t2\t0.618551\n+1\t3\t0.463713\n+1\t4\t-0.165716\n+1\t5\t-0.0790766\n+1\t6\t0.136407\n+'..b'Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t3.0\n+2\t11.0\n+3\t28.0\n+4\t56.0\n+5\t43.0\n+6\t52.0\n+7\t39.0\n+8\t56.0\n+9\t60.0\n+10\t57.0\n+11\t43.0\n+12\t46.0\n+13\t45.0\n+14\t66.0\n+15\t59.0\n+16\t49.0\n+17\t73.0\n+18\t54.0\n+19\t44.0\n+20\t52.0\n+21\t73.0\n+22\t72.0\n+23\t68.0\n+24\t56.0\n+25\t86.0\n+26\t92.0\n+27\t75.0\n+28\t69.0\n+29\t74.0\n+30\t96.0\n+31\t72.0\n+32\t81.0\n+33\t65.0\n+34\t87.0\n+35\t86.0\n+36\t87.0\n+37\t100.0\n+38\t82.0\n+39\t78.0\n+40\t76.0\n+41\t79.0\n+42\t88.0\n+43\t83.0\n+44\t75.0\n+45\t74.0\n+46\t72.0\n+47\t84.0\n+48\t74.0\n+49\t81.0\n+50\t91.0\n+51\t80.0\n+52\t98.0\n+53\t43.0\n+54\t8.0\n+55\t4.0\n+56\t1.0\n+64\t1.0\n+97\t1.0\n+98\t32.0\n+106\t34.0\n+107\t169.0\n+108\t1122.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t98.736\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.4425\t98.1855\n+2\t0.474912\t0.937819\n+3\t0.0412967\t0.122324\n+4\t0.0206484\t0.0815494\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0.0206484\t0.672783\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\twarn\n+#Sequence\tCount\tPercentage\tPossible Source\n+ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT\t33\t0.672783\tNo Hit\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.122324\t0\t0\t0\t0\n+21\t0.122324\t0\t0\t0\t0\n+22\t0.122324\t0\t0\t0\t0\n+23\t0.122324\t0\t0\t0\t0\n+24\t0.122324\t0\t0\t0\t0\n+25\t0.122324\t0\t0\t0\t0\n+26\t0.122324\t0\t0\t0\t0\n+27\t0.142712\t0\t0\t0\t0\n+28\t0.183486\t0\t0\t0\t0\n+29\t0.224261\t0\t0\t0\t0\n+30\t0.224261\t0\t0\t0\t0\n+31\t0.224261\t0\t0\t0\t0\n+32\t0.224261\t0\t0\t0\t0\n+33\t0.224261\t0\t0\t0\t0\n+34\t0.224261\t0\t0\t0\t0\n+35\t0.265036\t0\t0\t0\t0\n+36\t0.285423\t0\t0\t0\t0\n+37\t0.326198\t0\t0\t0\t0\n+38\t0.407747\t0\t0\t0\t0\n+39\t0.468909\t0\t0\t0\t0\n+40\t0.468909\t0\t0\t0\t0\n+41\t0.468909\t0\t0\t0\t0\n+42\t0.468909\t0\t0\t0\t0\n+43\t0.468909\t0\t0\t0\t0\n+44\t0.468909\t0\t0\t0\t0\n+45\t0.468909\t0\t0\t0\t0\n+46\t0.468909\t0\t0\t0\t0\n+47\t0.468909\t0\t0\t0\t0\n+48\t0.468909\t0\t0\t0\t0\n+49\t0.468909\t0\t0\t0\t0\n+50\t0.468909\t0\t0\t0\t0\n+51\t0.468909\t0\t0\t0\t0\n+52\t0.468909\t0\t0\t0\t0\n+53\t0.468909\t0\t0\t0\t0\n+54\t0.468909\t0\t0\t0\t0\n+55\t0.468909\t0\t0\t0\t0\n+56\t0.468909\t0\t0\t0\t0\n+57\t0.468909\t0\t0\t0\t0\n+58\t0.468909\t0\t0\t0\t0\n+59\t0.468909\t0\t0\t0\t0\n+60\t0.468909\t0\t0\t0\t0\n+61\t0.468909\t0\t0\t0\t0\n+62\t0.468909\t0\t0\t0\t0\n+63\t0.468909\t0\t0\t0\t0\n+64\t0.468909\t0\t0\t0\t0\n+65\t0.468909\t0\t0\t0\t0\n+66\t0.468909\t0\t0\t0\t0\n+67\t0.468909\t0\t0\t0\t0\n+68\t0.468909\t0\t0\t0\t0\n+69\t0.468909\t0\t0\t0\t0\n+70\t0.468909\t0\t0\t0\t0\n+71\t0.468909\t0\t0\t0\t0\n+72\t0.468909\t0\t0\t0\t0\n+73\t0.468909\t0\t0\t0\t0\n+74\t0.489297\t0\t0\t0\t0\n+75\t0.489297\t0\t0\t0\t0\n+76\t0.489297\t0\t0\t0\t0\n+77\t0.489297\t0\t0\t0\t0\n+78\t0.489297\t0\t0\t0\t0\n+79\t0.489297\t0\t0\t0\t0\n+80\t0.489297\t0\t0\t0\t0\n+81\t0.489297\t0\t0\t0\t0\n+82\t0.489297\t0\t0\t0\t0\n+83\t0.509684\t0\t0\t0\t0\n+84\t0.509684\t0\t0\t0\t0\n+85\t0.509684\t0\t0\t0\t0\n+86\t0.509684\t0\t0\t0\t0\n+87\t0.509684\t0\t0\t0\t0\n+88\t0.509684\t0\t0\t0\t0\n+89\t0.509684\t0\t0\t0\t0\n+90\t0.509684\t0\t0\t0\t0\n+91\t0.509684\t0\t0\t0\t0\n+92\t0.570846\t0\t0\t0\t0\n+93\t0.632008\t0\t0\t0\t0\n+94\t0.632008\t0\t0\t0\t0\n+95\t0.632008\t0\t0\t0\t0\n+96\t0.632008\t0\t0\t0\t0\n+97\t0.632008\t0\t0\t0\t0\n+98\t0.632008\t0\t0\t0\t0\n+99\t0.632008\t0\t0\t0\t0\n+100\t0.632008\t0\t0\t0\t0\n+101\t0.632008\t0\t0\t0\t0\n+102\t0.632008\t0\t0\t0\t0\n+103\t0.632008\t0\t0\t0\t0\n+104\t0.632008\t0\t0\t0\t0\n+105\t0.632008\t0\t0\t0\t0\n+106\t0.632008\t0\t0\t0\t0\n+107\t0.632008\t0\t0\t0\t0\n+108\t0.632008\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_reverse_complement_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_reverse_complement_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_subsample.html
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_subsample.html Tue Jun 04 14:14:49 2024 +0000
[
b'@@ -0,0 +1,2 @@\n+<html><head>    <meta charset="utf-8">    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">\t<title>     1000trimmed_fastq - report\t</title><link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"><link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous"><style type="text/css"> @media screen {  div.summary {    width: 18em;    position:fixed;    top: 4em;    margin:1em 0 0 1em;  }    div.main {    display:block;    position:absolute;    overflow:auto;    height:auto;    width:auto;    top:4.5em;    bottom:2.3em;    left:18em;    right:0;    border-left: 1px solid #CCC;    padding:0 0 0 1em;    background-color: white;    z-index:1;  }    div.header {    background-color: #EEE;    border:0;    margin:0;    padding: 0.2em;    font-size: 200%;    position:fixed;    width:100%;    top:0;    left:0;    z-index:2;  }  div.footer {    background-color: #EEE;    border:0;    margin:0;\tpadding:0.5em;    height: 2.5em;\toverflow:hidden;    font-size: 100%;    position:fixed;    bottom:0;    width:100%;    z-index:2;  }    img.indented {    margin-left: 3em;  } }  @media print {\timg {\t\tmax-width:100% !important;\t\tpage-break-inside: avoid;\t}\th2, h3 {\t\tpage-break-after: avoid;\t}\tdiv.header {      background-color: #FFF;    }\t }  body {      color: #000;     background-color: #FFF;  border: 0;  margin: 0;  padding: 0;  }    div.header {  border:0;  margin:0;  padding: 0.5em;  font-size: 200%;  width:100%;  }        #header_title {  display:inline-block;  float:left;  clear:left;  }  #header_filename {  display:inline-block;  float:right;  clear:right;  font-size: 50%;  margin-right:2em;  text-align: right;  }  div.header h3 {  font-size: 50%;  margin-bottom: 0;  }    div.summary ul {  padding-left:0;  list-style-type:none;  }    div.summary ul li img {  margin-bottom:-0.5em;  margin-top:0.5em;  }\t    div.main {  background-color: white;  }        div.module {  padding-bottom:3em;  padding-top:3em;  border-bottom: 1px solid #990000  }\t    div.footer {  background-color: #EEE;  border:0;  margin:0;  padding: 0.5em;  font-size: 100%;  width:100%;  }  h2 {  color: #2a5e8c;  padding-bottom: 0;  margin-bottom: 0;  clear:left;  }table {  margin-left: 3em;  text-align: center;  }  th {  text-align: center;  background-color: #000080;  color: #FFF;  padding: 0.4em;}  td {  font-family: monospace;  text-align: left;  background-color: #EEE;  color: #000;  padding: 0.4em;}img {  padding-top: 0;  margin-top: 0;  border-top: 0;}  p {  padding-top: 0;  margin-top: 0;}.pass {  color : #009900;}.warn {  color : #999900;}.fail {  color : #990000;}</style><script src="https://cdn.plot.ly/plotly-latest.min.js"></script></head><body><div class="header">\t<div id="header_title">Report</div>  <div id="header_filename">Mon May 27 17:06:18 2024\n+<br/> 1000trimmed_fastq\t</div></div><div class="summary"><h2>Summary</h2><ul>    <li><a class="pass" href="#basicstatistics">    Basic Statistics  </a></li>    \t<li><a class="pass" href="#perbasesequencequality">    Per base sequence quality</a></li>    \t<li><a class="fail" href="#pertilesequencequality">Per tile sequence quality</a></li>    \t<li><a class="pass" href="#persequencequalityscores">Per sequence quality scores</a></li>    \t<li><a class="fail" href="#perbasesequencecontent">Per base sequence content</a></li>    \t<li><a class="warn" href="#persequencegccontent">Per sequence GC content</a></li>    \t<li><a class="pass" href="#perbasencontent">Per base N content</a></li>    \t<li><a class="warn" href="#sequencelengthdistribution">Sequence Length Distribution</a></li>    \t<li><a class="pass" href="#sequenceduplicationlevels">Sequence Duplication Levels</a></li'..b',61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0203874,0.0407747,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0611621,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.0815494,0.101937,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324,0.122324], type : \'line\', name : "Illumina Universal Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 3 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Illumina Small RNA 5 prime Adapter"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "Nextera Transposase Sequence"},{x : [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108], y : [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0], type : \'line\', name : "SOLID Small RNA Adapter"}  ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'% sequences with adapter before position\'}  } );}if (document.getElementById(\'kmerlineplot\') !== null) {  Plotly.newPlot(\'kmerlineplot\', [     ], {    margin: { t: 0 },     showlegend: true,    xaxis : {title : \'Base position\'},    yaxis : {title : \'log2(obs/ exp max)\'}  } );}</script></html>\n\\ No newline at end of file\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_subsample.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_subsample.txt Tue Jun 04 14:14:49 2024 +0000
b
b'@@ -0,0 +1,1702 @@\n+##Falco\t1.2.2\n+>>Basic Statistics\tpass\n+#Measure\tValue\n+Filename\t1000trimmed_fastq\n+File type\tConventional base calls\n+Encoding\tSanger / Illumina 1.9\n+Total Sequences\t4905\n+Sequences flagged as poor quality\t0\n+Sequence length\t1-108\n+%GC\t41\n+>>END_MODULE\n+>>Per base sequence quality\tpass\n+#Base\tMean\tMedian\tLower Quartile\tUpper Quartile\t10th Percentile\t90th Percentile\n+1\t29.4827\t31\t28\t33\t24\t34\n+2\t28.7857\t30\t27\t32\t23\t33\n+3\t28.5673\t30\t26\t32\t22\t34\n+4\t28.7113\t30\t27\t32\t22\t33\n+5\t28.9727\t30\t27\t32\t22\t33\n+6\t28.9958\t30\t27\t32\t23\t33\n+7\t29.0064\t30\t27\t32\t23\t33\n+8\t28.9111\t30\t26\t32\t22\t34\n+9\t28.4449\t30\t26\t32\t22\t33\n+10-11\t28.4839\t30\t26\t32\t22.5\t33\n+12-13\t28.6404\t30\t26.5\t32\t22.5\t33.5\n+14-15\t28.3061\t30\t26\t32\t22\t33.5\n+16-17\t28.475\t30\t26\t32\t21.5\t33.5\n+18-19\t28.6173\t30\t26.5\t32\t22\t33.5\n+20-21\t28.2003\t29\t25.5\t32\t21.5\t33\n+22-23\t28.2737\t29.5\t26\t32\t22\t33\n+24-25\t27.9832\t29\t25\t32\t21\t33\n+26-27\t28.0618\t29\t25.5\t32\t22\t33\n+28-29\t27.7414\t28.5\t25.5\t31.5\t21.5\t33\n+30-31\t27.7052\t29\t24.5\t31.5\t21.5\t33\n+32-33\t27.6112\t29\t25\t31\t21\t33\n+34-35\t27.4184\t28\t24\t31\t21\t33\n+36-37\t27.1797\t28\t24.5\t31\t20.5\t33\n+38-39\t27.0806\t28\t24\t31\t21\t32\n+40-41\t27.1123\t28\t24.5\t31\t20.5\t32.5\n+42-43\t26.7373\t27.5\t24\t30.5\t21\t32.5\n+44-45\t26.64\t27\t24\t30\t20.5\t32\n+46-47\t26.5893\t27\t23.5\t30.5\t20.5\t32\n+48-49\t26.033\t26.5\t22.5\t30\t20\t32\n+50-51\t26.26\t26.5\t23\t30\t20.5\t32\n+52-53\t25.3328\t26\t22\t29\t18.5\t31.5\n+54-55\t28.2884\t29.5\t25.5\t31.5\t21.5\t33\n+56-57\t30.3321\t31.5\t28.5\t33\t25\t34\n+58-59\t29.8107\t31\t27.5\t33\t24\t34\n+60-61\t30.3107\t31\t29\t33\t26\t34\n+62-63\t30.475\t31.5\t29\t33\t25.5\t34\n+64-65\t29.8684\t30.5\t28\t33\t23.5\t34\n+66-67\t30.2842\t31.5\t28.5\t33\t25.5\t34\n+68-69\t29.8453\t31\t28\t33\t24\t34\n+70-71\t30.2878\t31.5\t28.5\t33\t25.5\t34\n+72-73\t30.2662\t31.5\t28\t33\t25\t34\n+74-75\t29.2986\t30.5\t27.5\t32.5\t23.5\t34\n+76-77\t29.4748\t30\t27.5\t32\t24.5\t34\n+78-79\t29.7374\t31\t28\t33\t24\t34\n+80-81\t29.3453\t30.5\t27.5\t33\t23.5\t34\n+82-83\t29.4137\t30\t27\t32.5\t23.5\t34\n+84-85\t29.4424\t30.5\t27\t32.5\t24.5\t34\n+86-87\t29.1691\t30\t28\t32.5\t23.5\t33\n+88-89\t28.6295\t29.5\t26.5\t32\t22\t33\n+90-91\t28.4568\t29\t26\t32\t22\t33.5\n+92-93\t28.3669\t29\t26\t31.5\t22.5\t33\n+94-95\t27.9604\t29\t25.5\t31.5\t22\t33\n+96-97\t27.8345\t28.5\t25\t31\t21.5\t33\n+98-99\t27.2099\t28\t25\t31\t21.5\t33\n+100-101\t27.1654\t27.5\t24\t31\t20.5\t32.5\n+102-103\t26.9007\t27.5\t23.5\t30.5\t21\t32.5\n+104-105\t26.5735\t26.5\t23.5\t30\t20.5\t32\n+106-107\t25.5966\t26.5\t22.5\t29\t19.5\t31.5\n+108\t27.2314\t27\t24\t30\t22\t32\n+>>END_MODULE\n+>>Per tile sequence quality\tfail\n+#Tile\tBase\tMean\n+0\t1\t-29.4857\n+0\t2\t-28.7721\n+0\t3\t-28.5832\n+0\t4\t-28.7282\n+0\t5\t-28.9662\n+0\t6\t-28.9765\n+0\t7\t-29.0324\n+0\t8\t-28.9563\n+0\t9\t-28.4479\n+0\t10\t-28.2935\n+0\t11\t-28.6264\n+0\t12\t-28.711\n+0\t13\t-28.5163\n+0\t14\t-28.3915\n+0\t15\t-28.2392\n+0\t16\t-28.5304\n+0\t17\t-28.3975\n+0\t18\t-28.5859\n+0\t19\t-28.6272\n+0\t20\t-28.1273\n+0\t21\t-28.2058\n+0\t22\t-28.1046\n+0\t23\t-28.3908\n+0\t24\t-28.0801\n+0\t25\t-28.0111\n+0\t26\t-27.9571\n+0\t27\t-28.1062\n+0\t28\t-27.7915\n+0\t29\t-27.6043\n+0\t30\t-27.7709\n+0\t31\t-27.5781\n+0\t32\t-27.8211\n+0\t33\t-27.6197\n+0\t34\t-27.447\n+0\t35\t-27.3368\n+0\t36\t-27.2226\n+0\t37\t-27.2582\n+0\t38\t-27.2825\n+0\t39\t-26.7901\n+0\t40\t-26.9377\n+0\t41\t-27.17\n+0\t42\t-27.1488\n+0\t43\t-26.1931\n+0\t44\t-26.6119\n+0\t45\t-26.5613\n+0\t46\t-26.7864\n+0\t47\t-26.3367\n+0\t48\t-26.2903\n+0\t49\t-25.7095\n+0\t50\t-26.3457\n+0\t51\t-26.0927\n+0\t52\t-25.7055\n+0\t53\t-24.9716\n+0\t54\t-26\n+0\t55\t-30.4161\n+0\t56\t-30.3869\n+0\t57\t-30.1825\n+0\t58\t-29.6569\n+0\t59\t-30.0876\n+0\t60\t-30.146\n+0\t61\t-30.4891\n+0\t62\t-30.9197\n+0\t63\t-30.0511\n+0\t64\t-29.5255\n+0\t65\t-30.0956\n+0\t66\t-30.4559\n+0\t67\t-30.0588\n+0\t68\t-30.1176\n+0\t69\t-29.9853\n+0\t70\t-30.4191\n+0\t71\t-30.1029\n+0\t72\t-30.2206\n+0\t73\t-30.2132\n+0\t74\t-29.2721\n+0\t75\t-29.25\n+0\t76\t-29.7206\n+0\t77\t-29.8015\n+0\t78\t-29.7794\n+0\t79\t-29.6838\n+0\t80\t-29.5956\n+0\t81\t-29.4412\n+0\t82\t-29.3824\n+0\t83\t-29.375\n+0\t84\t-29.6176\n+0\t85\t-29.1544\n+0\t86\t-29.2059\n+0\t87\t-29.0074\n+0\t88\t-28.8162\n+0\t89\t-28.3603\n+0\t90\t-28.0809\n+0\t91\t-28.8309\n+0\t92\t-28.5882\n+0\t93\t-28.1618\n+0\t94\t-27.8897\n+0\t95\t-28.0074\n+0\t96\t-28.1471\n+0\t97\t-27.6471\n+0\t98\t-27.5662\n+0\t99\t-27.4485\n+0\t100\t-27.4044\n+0\t101\t-26.9265\n+0\t102\t-27.2132\n+0\t103\t-26.5882\n+0\t104\t-26.8603\n+0\t105\t-26.2868\n+0\t106\t-26.0588\n+0\t107\t-25.1343\n+0\t108\t-27.2314\n+1\t1\t0.904969'..b'5\n+82\t6\n+83\t5\n+84\t4\n+85\t4.5\n+86\t4.5\n+87\t4\n+88\t3.5\n+89\t3\n+90\t3\n+91\t3\n+92\t3\n+93\t3\n+94\t3.5\n+95\t4.5\n+96\t5\n+97\t4\n+98\t3\n+99\t3\n+100\t3\n+>>END_MODULE\n+>>Per base N content\tpass\n+#Base\tN-Count\n+1\t0\n+2\t0\n+3\t0\n+4\t0\n+5\t0\n+6\t0\n+7\t0\n+8\t0\n+9\t0\n+10-11\t0\n+12-13\t0\n+14-15\t0\n+16-17\t0\n+18-19\t0\n+20-21\t0\n+22-23\t0\n+24-25\t0\n+26-27\t0\n+28-29\t0\n+30-31\t0\n+32-33\t0\n+34-35\t0\n+36-37\t0\n+38-39\t0\n+40-41\t0\n+42-43\t0\n+44-45\t0\n+46-47\t0\n+48-49\t0\n+50-51\t0\n+52-53\t0\n+54-55\t0\n+56-57\t0\n+58-59\t0\n+60-61\t0\n+62-63\t0\n+64-65\t0\n+66-67\t0\n+68-69\t0\n+70-71\t0\n+72-73\t0\n+74-75\t0\n+76-77\t0\n+78-79\t0\n+80-81\t0\n+82-83\t0\n+84-85\t0\n+86-87\t0\n+88-89\t0\n+90-91\t0\n+92-93\t0\n+94-95\t0\n+96-97\t0\n+98-99\t0\n+100-101\t0\n+102-103\t0\n+104-105\t0\n+106-107\t0\n+108\t0\n+>>END_MODULE\n+>>Sequence Length Distribution\twarn\n+#Length\tCount\n+1\t1.0\n+3\t5.0\n+4\t9.0\n+5\t5.0\n+6\t5.0\n+7\t5.0\n+8\t7.0\n+9\t8.0\n+10\t4.0\n+11\t3.0\n+12\t6.0\n+13\t6.0\n+14\t6.0\n+15\t7.0\n+16\t6.0\n+17\t9.0\n+18\t7.0\n+19\t4.0\n+20\t6.0\n+21\t6.0\n+22\t2.0\n+23\t9.0\n+24\t3.0\n+25\t9.0\n+26\t11.0\n+27\t8.0\n+28\t5.0\n+29\t3.0\n+30\t3.0\n+31\t7.0\n+32\t8.0\n+33\t3.0\n+34\t11.0\n+35\t8.0\n+36\t8.0\n+37\t6.0\n+38\t7.0\n+39\t5.0\n+40\t10.0\n+41\t5.0\n+42\t9.0\n+43\t14.0\n+44\t7.0\n+45\t6.0\n+46\t7.0\n+47\t13.0\n+48\t7.0\n+49\t17.0\n+50\t11.0\n+51\t5.0\n+52\t5.0\n+53\t2.0\n+54\t2.0\n+64\t1.0\n+98\t3.0\n+106\t2.0\n+107\t13.0\n+108\t121.0\n+>>END_MODULE\n+>>Sequence Duplication Levels\tpass\n+#Total Deduplicated Percentage\t99.5927\n+#Duplication Level\tPercentage of deduplicated\tPercentage of total\n+1\t99.7955\t99.389\n+2\t0\t0\n+3\t0.204499\t0.610998\n+4\t0\t0\n+5\t0\t0\n+6\t0\t0\n+7\t0\t0\n+8\t0\t0\n+9\t0\t0\n+>10\t0\t0\n+>50\t0\t0\n+>100\t0\t0\n+>500\t0\t0\n+>1k\t0\t0\n+>5k\t0\t0\n+>10k+\t0\t0\n+>>END_MODULE\n+>>Overrepresented sequences\tpass\n+>>END_MODULE\n+>>Adapter Content\tpass\n+#Position\tIllumina Universal Adapter\tIllumina Small RNA 3 prime Adapter\tIllumina Small RNA 5 prime Adapter\tNextera Transposase Sequence\tSOLID Small RNA Adapter\n+1\t0\t0\t0\t0\t0\n+2\t0\t0\t0\t0\t0\n+3\t0\t0\t0\t0\t0\n+4\t0\t0\t0\t0\t0\n+5\t0\t0\t0\t0\t0\n+6\t0\t0\t0\t0\t0\n+7\t0\t0\t0\t0\t0\n+8\t0\t0\t0\t0\t0\n+9\t0\t0\t0\t0\t0\n+10\t0\t0\t0\t0\t0\n+11\t0\t0\t0\t0\t0\n+12\t0\t0\t0\t0\t0\n+13\t0\t0\t0\t0\t0\n+14\t0\t0\t0\t0\t0\n+15\t0\t0\t0\t0\t0\n+16\t0\t0\t0\t0\t0\n+17\t0\t0\t0\t0\t0\n+18\t0\t0\t0\t0\t0\n+19\t0\t0\t0\t0\t0\n+20\t0.0203874\t0\t0\t0\t0\n+21\t0.0203874\t0\t0\t0\t0\n+22\t0.0203874\t0\t0\t0\t0\n+23\t0.0203874\t0\t0\t0\t0\n+24\t0.0203874\t0\t0\t0\t0\n+25\t0.0203874\t0\t0\t0\t0\n+26\t0.0203874\t0\t0\t0\t0\n+27\t0.0203874\t0\t0\t0\t0\n+28\t0.0203874\t0\t0\t0\t0\n+29\t0.0203874\t0\t0\t0\t0\n+30\t0.0203874\t0\t0\t0\t0\n+31\t0.0203874\t0\t0\t0\t0\n+32\t0.0203874\t0\t0\t0\t0\n+33\t0.0203874\t0\t0\t0\t0\n+34\t0.0203874\t0\t0\t0\t0\n+35\t0.0203874\t0\t0\t0\t0\n+36\t0.0203874\t0\t0\t0\t0\n+37\t0.0203874\t0\t0\t0\t0\n+38\t0.0407747\t0\t0\t0\t0\n+39\t0.0611621\t0\t0\t0\t0\n+40\t0.0611621\t0\t0\t0\t0\n+41\t0.0611621\t0\t0\t0\t0\n+42\t0.0611621\t0\t0\t0\t0\n+43\t0.0611621\t0\t0\t0\t0\n+44\t0.0611621\t0\t0\t0\t0\n+45\t0.0611621\t0\t0\t0\t0\n+46\t0.0611621\t0\t0\t0\t0\n+47\t0.0611621\t0\t0\t0\t0\n+48\t0.0611621\t0\t0\t0\t0\n+49\t0.0611621\t0\t0\t0\t0\n+50\t0.0611621\t0\t0\t0\t0\n+51\t0.0611621\t0\t0\t0\t0\n+52\t0.0611621\t0\t0\t0\t0\n+53\t0.0611621\t0\t0\t0\t0\n+54\t0.0611621\t0\t0\t0\t0\n+55\t0.0611621\t0\t0\t0\t0\n+56\t0.0611621\t0\t0\t0\t0\n+57\t0.0611621\t0\t0\t0\t0\n+58\t0.0611621\t0\t0\t0\t0\n+59\t0.0611621\t0\t0\t0\t0\n+60\t0.0611621\t0\t0\t0\t0\n+61\t0.0611621\t0\t0\t0\t0\n+62\t0.0611621\t0\t0\t0\t0\n+63\t0.0611621\t0\t0\t0\t0\n+64\t0.0611621\t0\t0\t0\t0\n+65\t0.0611621\t0\t0\t0\t0\n+66\t0.0611621\t0\t0\t0\t0\n+67\t0.0611621\t0\t0\t0\t0\n+68\t0.0611621\t0\t0\t0\t0\n+69\t0.0611621\t0\t0\t0\t0\n+70\t0.0611621\t0\t0\t0\t0\n+71\t0.0611621\t0\t0\t0\t0\n+72\t0.0611621\t0\t0\t0\t0\n+73\t0.0611621\t0\t0\t0\t0\n+74\t0.0815494\t0\t0\t0\t0\n+75\t0.0815494\t0\t0\t0\t0\n+76\t0.0815494\t0\t0\t0\t0\n+77\t0.0815494\t0\t0\t0\t0\n+78\t0.0815494\t0\t0\t0\t0\n+79\t0.0815494\t0\t0\t0\t0\n+80\t0.0815494\t0\t0\t0\t0\n+81\t0.0815494\t0\t0\t0\t0\n+82\t0.0815494\t0\t0\t0\t0\n+83\t0.0815494\t0\t0\t0\t0\n+84\t0.0815494\t0\t0\t0\t0\n+85\t0.0815494\t0\t0\t0\t0\n+86\t0.0815494\t0\t0\t0\t0\n+87\t0.0815494\t0\t0\t0\t0\n+88\t0.0815494\t0\t0\t0\t0\n+89\t0.0815494\t0\t0\t0\t0\n+90\t0.0815494\t0\t0\t0\t0\n+91\t0.0815494\t0\t0\t0\t0\n+92\t0.101937\t0\t0\t0\t0\n+93\t0.122324\t0\t0\t0\t0\n+94\t0.122324\t0\t0\t0\t0\n+95\t0.122324\t0\t0\t0\t0\n+96\t0.122324\t0\t0\t0\t0\n+97\t0.122324\t0\t0\t0\t0\n+98\t0.122324\t0\t0\t0\t0\n+99\t0.122324\t0\t0\t0\t0\n+100\t0.122324\t0\t0\t0\t0\n+101\t0.122324\t0\t0\t0\t0\n+102\t0.122324\t0\t0\t0\t0\n+103\t0.122324\t0\t0\t0\t0\n+104\t0.122324\t0\t0\t0\t0\n+105\t0.122324\t0\t0\t0\t0\n+106\t0.122324\t0\t0\t0\t0\n+107\t0.122324\t0\t0\t0\t0\n+108\t0.122324\t0\t0\t0\t0\n+>>END_MODULE\n'
b
diff -r 000000000000 -r e462044ece67 test-data/fastqc_report_subsample_summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/fastqc_report_subsample_summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+PASS Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq
b
diff -r 000000000000 -r e462044ece67 test-data/hisat_output_1.bam
b
Binary file test-data/hisat_output_1.bam has changed
b
diff -r 000000000000 -r e462044ece67 test-data/limits.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/limits.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,81 @@
+# For each of the modules you can choose to not run that
+# module at all by setting the value below to 1 for the
+# modules you want to remove.
+duplication  ignore  0
+kmer  ignore  1
+n_content  ignore  0
+overrepresented  ignore  0
+quality_base  ignore  0
+sequence  ignore  0
+gc_sequence ignore  0
+quality_sequence ignore 0
+tile ignore 0
+sequence_length ignore 0
+adapter ignore 0
+
+# For the duplication module the value is the percentage
+# remaining after deduplication.  Measured levels below
+# these limits trigger the warning / error.
+duplication warn 70
+duplication error 50
+
+# For the kmer module the filter is on the -log10 binomial
+# pvalue for the most significant Kmer, so 5 would be 
+# 10^-5 = p<0.00001
+kmer warn 2
+kmer error 5
+
+# For the N module the filter is on the percentage of Ns
+# at any position in the library
+n_content warn 5
+n_content error 20
+
+# For the overrepresented seqs the warn value sets the
+# threshold for the overrepresented sequences to be reported
+# at all as the proportion of the library which must be seen
+# as a single sequence
+overrepresented warn 0.1
+overrepresented error 1
+
+# The per base quality filter uses two values, one for the value
+# of the lower quartile, and the other for the value of the
+# median quality.  Failing either of these will trigger the alert
+quality_base_lower warn 10
+quality_base_lower error 5
+quality_base_median warn 25
+quality_base_median error 20
+
+# The per base sequence content module tests the maximum deviation
+# between A and T or C and G
+sequence warn 10
+sequence error 20
+
+# The per sequence GC content tests the maximum deviation between
+# the theoretical distribution and the real distribution
+gc_sequence warn 15
+gc_sequence error 30
+
+# The per sequence quality module tests the phred score which is
+# most frequently observed
+quality_sequence warn 27
+quality_sequence error 20
+
+# The per tile module tests the maximum phred score loss between 
+# and individual tile and the average for that base across all tiles
+tile warn 5
+tile error 10
+
+# The sequence length module tests are binary, so the values here
+# simply turn them on or off.  The actual tests warn if you have
+# sequences of different length, and error if you have sequences
+# of zero length.
+
+sequence_length warn 1
+sequence_length error 1
+
+# The adapter module's warnings and errors are based on the 
+# percentage of reads in the library which have been observed
+# to contain an adapter associated Kmer at any point
+
+adapter warn 5
+adapter error 10
b
diff -r 000000000000 -r e462044ece67 test-data/summary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/summary.txt Tue Jun 04 14:14:49 2024 +0000
b
@@ -0,0 +1,11 @@
+PASS Basic Statistics 1000trimmed_fastq
+PASS Per base sequence quality 1000trimmed_fastq
+FAIL Per tile sequence quality 1000trimmed_fastq
+PASS Per sequence quality scores 1000trimmed_fastq
+FAIL Per base sequence content 1000trimmed_fastq
+WARN Per sequence GC content 1000trimmed_fastq
+PASS Per base N content 1000trimmed_fastq
+WARN Sequence Length Distribution 1000trimmed_fastq
+PASS Sequence Duplication Levels 1000trimmed_fastq
+WARN Overrepresented sequences 1000trimmed_fastq
+PASS Adapter Content 1000trimmed_fastq