changeset 1:1563b58905f4 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/read-it-and-keep commit 5fcc308928ab2417b7e40227b27a3955f227649d"
author iuc
date Thu, 17 Mar 2022 11:12:09 +0000
parents 554aa2a63f04
children fa7086274673
files read-it-and-keep.xml test-data/output.test1.reads_1.fasta test-data/output.test1.reads_1.fastq test-data/output.test1.reads_2.fasta test-data/output.test1.reads_2.fastq test-data/output.test3.reads_1.fasta test-data/output.test3.reads_1.fastq test-data/output_test1.fastq.gz test-data/output_test2.fastq.gz test-data/output_test3.fastq.gz test-data/test1.fasta.gz test-data/test1.fastq.gz test-data/test2.fasta.gz test-data/test2.fastq.gz test-data/test3.fasta.gz test-data/test3.fastq.gz
diffstat 16 files changed, 390 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/read-it-and-keep.xml	Fri Jan 28 18:47:34 2022 +0000
+++ b/read-it-and-keep.xml	Thu Mar 17 11:12:09 2022 +0000
@@ -1,12 +1,13 @@
 <tool id="read_it_and_keep" name="Read It and Keep" version="@TOOL_VERSION@+galaxy0" profile="20.09">
     <macros>
-        <token name="@FASTQ_FORMATS@">fastq,fastq.gz,fastqsanger,fastqsanger.gz</token>
-        <token name="@TOOL_VERSION@">0.1.0</token>
+        <token name="@INPUT_FORMATS@">fasta,fastq,fasta.gz,fastq.gz</token>
+        <token name="@TOOL_VERSION@">0.2.2</token>
     </macros>
     <requirements>
         <requirement type="package" version="@TOOL_VERSION@">read-it-and-keep</requirement>
-        <requirement type="package">python</requirement>
+        <requirement type="package" version="3.10">python</requirement>
     </requirements>
+    <version_command><![CDATA[readItAndKeep -V]]></version_command>
     <command detect_errors="exit_code"><![CDATA[
         #if $ref_source.source == "history"
             ln -s '$ref_source.ref_fasta' ref${trim_reference}.fasta &&
@@ -17,26 +18,43 @@
             python '$__tool_directory__/trim_reference.py' ref${trim_reference}.fasta ref.fasta &&
         #end if
         #if $reads.read_type == "paired"
-            ln -s '$reads.read1' read1.fastq &&
-            ln -s '$reads.read2' read2.fastq &&
+            #set $ext_out1 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
+            #set $ext_out2 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
+            ln -s '$reads.read1' read1 &&
+            ln -s '$reads.read2' read2 &&
         #elif $reads.read_type == 'paired_collection'
-            ln -s '$reads.paired_reads.forward' read1.fastq &&
-            ln -s '$reads.paired_reads.reverse' read2.fastq &&
+        #set $ext_out1 = 'fasta' if $reads.paired_reads.forward.ext in ['fasta', 'fasta.gz'] else 'fastq'
+            #set $ext_out2 = 'fasta' if $reads.paired_reads.reverse.ext in ['fasta', 'fasta.gz'] else 'fastq'
+            ln -s '$reads.paired_reads.forward' read1 &&
+            ln -s '$reads.paired_reads.reverse' read2 &&
         #elif $reads.read_type == 'single'
-            ln -s '$reads.single_read1' read1.fastq &&
+            #set $ext_out1 = 'fasta' if $reads.read1.ext in ['fasta', 'fasta.gz'] else 'fastq'
+            ln -s '$reads.read1' read1 &&
         #end if
         readItAndKeep
             --tech $sequencing_tech
             --ref_fasta ref.fasta
             --min_map_length $adv.min_map_length
             --min_map_length_pc $adv.min_map_length_pc
-            --reads1 read1.fastq
+            $adv.enumerate_names
+            --reads1 read1
             #if $reads.read_type != "single"
-                --reads2 read2.fastq
+                --reads2 read2
             #end if
             -o output
-            #if $reads.read_type == 'single'
-                && mv output.reads.fastq.gz output.reads_1.fastq.gz
+            #if $reads.read_type == 'single':
+                && mv output.reads.${ext_out1}.gz output.reads_1.${ext_out1}.gz
+            #end if
+            #if $reads.read_type == 'paired_collection':
+                #if not $reads.paired_reads.forward.ext.endswith('.gz'):
+                    && gunzip ./output.reads_1.${ext_out1}.gz
+                    && gunzip ./output.reads_2.${ext_out2}.gz
+                #end if
+            #elif not $reads.read1.ext.endswith('.gz'):
+                && gunzip ./output.reads_1.${ext_out1}.gz
+                #if $reads.read_type != 'single' and not $reads.read2.ext.endswith('.gz'):
+                    && gunzip ./output.reads_2.${ext_out2}.gz
+                #end if
             #end if
     ]]></command>
     <inputs>
@@ -47,14 +65,14 @@
                 <option value="single">Single ended</option>
             </param>
             <when value="paired">
-                <param type="data" format="@FASTQ_FORMATS@" name="read1" label="Read1" />
-                <param type="data" format="@FASTQ_FORMATS@" name="read2" label="Read2" />
+                <param type="data" format="@INPUT_FORMATS@" name="read1" label="Read1" />
+                <param type="data" format="@INPUT_FORMATS@" name="read2" label="Read2" />
             </when>
             <when value="paired_collection">
-                <param type="data_collection" collection_type="paired" format="@FASTQ_FORMATS@" name="paired_reads" label="Reads" />
+                <param type="data_collection" collection_type="paired" format="@INPUT_FORMATS@" name="paired_reads" label="Reads" />
             </when>
             <when value="single">
-                <param type="data" format="@FASTQ_FORMATS@" name="single_read1" label="Read1" />
+                <param type="data" format="@INPUT_FORMATS@" name="read1" label="Read1" />
             </when>
         </conditional>
         <conditional name="ref_source">
@@ -79,22 +97,176 @@
         <section name="adv" title="Advanced options">
             <param argument="--min_map_length" type="integer" min="0" value="50" label="Shortest match required to keep a read (in bp)" />
             <param argument="--min_map_length_pc" type="float" min="0.0" max="100.0" value="50.0" label="Minimum length of match required to keep a read (as percentage of read length" />
+            <param name="enumerate_names" type="boolean" truevalue="--enumerate_names" falsevalue="" label="Rename the reads 1,2,3,... (for paired reads, will also add /1 or /2 to the end of names)" />
         </section>
     </inputs>
     <outputs>
-        <data name="output_reads1" format="fastqsanger.gz" label="Filtered reads ${on_string} - reads1" from_work_dir="output.reads_1.fastq.gz">
+        <data name="output_reads1" format_source="read1" label="Filtered reads ${on_string} - reads1" from_work_dir="output.reads_1.fast*">
             <filter>reads["read_type"] == "single" or reads["read_type"] == "paired"</filter>
         </data>
-        <data name="output_reads2" format="fastqsanger.gz" label="Filtered reads ${on_string} - reads2" from_work_dir="output.reads_2.fastq.gz">
+        <data name="output_reads2" format_source="read2" label="Filtered reads ${on_string} - reads2" from_work_dir="output.reads_2.fast*">
             <filter>reads["read_type"] == "paired"</filter>
         </data>
-        <collection type="paired" format="fastqsanger.gz" name="output_collection" label="Filtered reads ${on_string}">
+        <collection type="paired" name="output_collection" format_source="paired_reads" label="Filtered reads ${on_string}">
             <filter>reads["read_type"] == "paired_collection"</filter>
-            <data name="forward" format="fastqsanger.gz" from_work_dir="output.reads_1.fastq.gz" />
-            <data name="reverse" format="fastqsanger.gz" from_work_dir="output.reads_2.fastq.gz" />
+            <data name="forward" from_work_dir="output.reads_1.fast*" />
+            <data name="reverse" from_work_dir="output.reads_2.fast*" />
         </collection>
     </outputs>
     <tests>
+        <!--Testing uncompressed fastq input-->
+        <test expect_num_outputs="2">
+            <conditional name="reads">
+                <param name="read_type" value="paired" />
+                <param name="read1" value="test1.fastq.gz" ftype="fastqsanger" />
+                <param name="read2" value="test2.fastq.gz" ftype="fastqsanger" />
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output name="output_reads1" file="output.test1.reads_1.fastq" ftype="fastqsanger"/>
+            <output name="output_reads2" file="output.test1.reads_2.fastq" ftype="fastqsanger"/>
+        </test>
+        <test expect_num_outputs="3">
+            <conditional name="reads">
+                <param name="read_type" value="paired_collection" />
+                <param name="paired_reads">
+                    <collection type="paired">
+                        <element name="forward" value="test1.fastq.gz" ftype="fastqsanger" />
+                        <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger" />
+                    </collection>
+                </param>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output_collection name="output_collection" type="paired">
+                <element name="forward" file="output.test1.reads_1.fastq" ftype="fastqsanger"/>
+                <element name="reverse" file="output.test1.reads_2.fastq" ftype="fastqsanger"/>
+            </output_collection>
+        </test>
+        <test expect_num_outputs="1">
+            <conditional name="reads">
+                <param name="read_type" value="single" />
+                <param name="read1" value="test3.fastq.gz" ftype="fastqsanger"/>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="ont" />
+            <param name="enumerate_names" value="True" />
+            <output name="output_reads1" file="output.test3.reads_1.fastq" ftype="fastqsanger"/>
+        </test>
+        <!--Testing uncompressed fasta input-->
+        <test expect_num_outputs="2">
+            <conditional name="reads">
+                <param name="read_type" value="paired" />
+                <param name="read1" value="test1.fasta.gz" ftype="fasta" />
+                <param name="read2" value="test2.fasta.gz" ftype="fasta" />
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output name="output_reads1" file="output.test1.reads_1.fasta" ftype="fasta"/>
+            <output name="output_reads2" file="output.test1.reads_2.fasta" ftype="fasta"/>
+        </test>
+        <test expect_num_outputs="3">
+            <conditional name="reads">
+                <param name="read_type" value="paired_collection" />
+                <param name="paired_reads">
+                    <collection type="paired">
+                        <element name="forward" value="test1.fasta.gz" ftype="fasta" />
+                        <element name="reverse" value="test2.fasta.gz" ftype="fasta" />
+                    </collection>
+                </param>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output_collection name="output_collection" type="paired">
+                <element name="forward" file="output.test1.reads_1.fasta" ftype="fasta"/>
+                <element name="reverse" file="output.test1.reads_2.fasta" ftype="fasta"/>
+            </output_collection>
+        </test>
+        <test expect_num_outputs="1">
+            <conditional name="reads">
+                <param name="read_type" value="single" />
+                <param name="read1" value="test3.fasta.gz" ftype="fasta"/>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="ont" />
+            <param name="enumerate_names" value="True" />
+            <output name="output_reads1" file="output.test3.reads_1.fasta" ftype="fasta"/>
+        </test>
+        <!--Testing compressed fasta input-->
+        <test expect_num_outputs="2">
+            <conditional name="reads">
+                <param name="read_type" value="paired" />
+                <param name="read1" value="test1.fasta.gz" ftype="fasta.gz" />
+                <param name="read2" value="test2.fasta.gz" ftype="fasta.gz" />
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output name="output_reads1" decompress="true" file="output.test1.reads_1.fasta" ftype="fasta.gz"/>
+            <output name="output_reads2" decompress="true" file="output.test1.reads_2.fasta" ftype="fasta.gz"/>
+        </test>
+        <test expect_num_outputs="3">
+            <conditional name="reads">
+                <param name="read_type" value="paired_collection" />
+                <param name="paired_reads">
+                    <collection type="paired">
+                        <element name="forward" value="test1.fasta.gz" ftype="fasta.gz" />
+                        <element name="reverse" value="test2.fasta.gz" ftype="fasta.gz" />
+                    </collection>
+                </param>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="illumina" />
+            <output_collection name="output_collection" type="paired">
+                <element name="forward" ftype="fasta.gz">
+                    <assert_contents>
+                        <has_size value="680" delta="50" />
+                    </assert_contents>
+                </element>
+                <element name="reverse" ftype="fasta.gz">
+                    <assert_contents>
+                        <has_size value="670" delta="50" />
+                    </assert_contents>
+                </element>
+            </output_collection>
+        </test>
+        <test expect_num_outputs="1">
+            <conditional name="reads">
+                <param name="read_type" value="single" />
+                <param name="read1" value="test3.fasta.gz" ftype="fasta.gz"/>
+            </conditional>
+            <conditional name="ref_source">
+                <param name="source" value="history" />
+                <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
+            </conditional>
+            <param name="sequencing_tech" value="ont" />
+            <param name="enumerate_names" value="True" />
+            <output name="output_reads1" decompress="true" file="output.test3.reads_1.fasta" ftype="fasta.gz"/>
+        </test>
+        <!--Testing compressed fastq input-->
         <test expect_num_outputs="2">
             <conditional name="reads">
                 <param name="read_type" value="paired" />
@@ -106,8 +278,8 @@
                 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
             </conditional>
             <param name="sequencing_tech" value="illumina" />
-            <output name="output_reads1" value="output_test1.fastq.gz" />
-            <output name="output_reads2" value="output_test2.fastq.gz" />
+            <output name="output_reads1" decompress="true" file="output.test1.reads_1.fastq" ftype="fastqsanger.gz"/>
+            <output name="output_reads2" decompress="true" file="output.test1.reads_2.fastq" ftype="fastqsanger.gz"/>
         </test>
         <test expect_num_outputs="3">
             <conditional name="reads">
@@ -115,7 +287,7 @@
                 <param name="paired_reads">
                     <collection type="paired">
                         <element name="forward" value="test1.fastq.gz" ftype="fastqsanger.gz" />
-                        <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger.gz" />    
+                        <element name="reverse" value="test2.fastq.gz" ftype="fastqsanger.gz" />
                     </collection>
                 </param>
             </conditional>
@@ -124,22 +296,31 @@
                 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
             </conditional>
             <param name="sequencing_tech" value="illumina" />
-            <output_collection name="output_collection">
-                <element name="forward" value="output_test1.fastq.gz" />
-                <element name="reverse" value="output_test2.fastq.gz" />
+            <output_collection name="output_collection" type="paired">
+                <element name="forward" ftype="fastqsanger.gz">
+                    <assert_contents>
+                        <has_size value="995" delta="50" />
+                    </assert_contents>
+                </element>
+                <element name="reverse" ftype="fastqsanger.gz">
+                    <assert_contents>
+                        <has_size value="960" delta="50" />
+                    </assert_contents>
+                </element>
             </output_collection>
         </test>
         <test expect_num_outputs="1">
             <conditional name="reads">
                 <param name="read_type" value="single" />
-                <param name="single_read1" value="test3.fastq.gz" ftype="fastqsanger.gz"/>
+                <param name="read1" value="test3.fastq.gz" ftype="fastqsanger.gz"/>
             </conditional>
             <conditional name="ref_source">
                 <param name="source" value="history" />
                 <param name="ref_fasta" value="reference.fasta" ftype="fasta" />
             </conditional>
             <param name="sequencing_tech" value="ont" />
-            <output name="output_reads1" value="output_test3.fastq.gz" />
+            <param name="enumerate_names" value="True" />
+            <output name="output_reads1" decompress="true" file="output.test3.reads_1.fastq" ftype="fastqsanger.gz"/>
         </test>
     </tests>
     <help><![CDATA[
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test1.reads_1.fasta	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,20 @@
+>NB552451:97:HMWLJBGXH:1:11101:25425:1030 1:N:0:323
+CAATGNAATTAGCAGGATATCTATCGACATTGCAATTCCAAAATAGGCATACACCATCTGTGAATTTGTCAGAATGTGTGGCATAAGAATAGAATAATTCTTCTATTTTATAAGCTTTGTCACTACAAGGCTGTGCATCATAGAACTTC
+>NB552451:97:HMWLJBGXH:1:11101:5625:1041 1:N:0:323
+GAAAGNAGCAATGAAGTAGCTGAGCCACATCAAGCCTACAAGACAAGCCATTGCGATAGCAATTCCACCGGTGATCCAATTTATTCTGTAAACAGCAGCAAGCACAAAACAAGCTAAAGTTACTGGCCATAACAGCCAGAGGAAAATTA
+>NB552451:97:HMWLJBGXH:1:11101:21590:1070 1:N:0:323
+GACTGAGACTGACCTTACTAAAGGACCTCATGAATTTTGCTCTCAACATACAATGCTAGTTAAACAGGGTGATGATTATGTGTACCTTCCTTACCCAGATCCATCAAGAATCCTAGGGGCCGGCTGTTTTGTAGATGATATCGTAAAAA
+>NB552451:97:HMWLJBGXH:1:11101:16467:1071 1:N:0:323
+GCCTACGGGTACGCTGCTTGTCGATTCAGATCTTAATGACTTTGTCTCTGATGCAGATTCAACTTTGATTGGTGATTGTGCAACCTGTCTCTTATACACATCTCCGAGCCCACGAGACAAGTTCTAGTATCTCGTATGGCGGGTTGGGG
+>NB552451:97:HMWLJBGXH:1:11101:7715:1076 1:N:0:323
+GTGTAACAGATGTTACCAACTGCACTAAAAACTCTAGGTAAGAAATGCAAAAAGTCACCATTAGTTGTGCGTAATATCGTGCCAGGCAAACCAGGCACGACAAAACCCACTTCTCTTGTTATGACTGCAGCAATCAATGGGCAAGCTTT
+>NB552451:97:HMWLJBGXH:1:11101:4459:1092 1:N:0:323
+GGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTGGCTAAATCTGAATTTGACCGTGATGCAGCCATGCAACGTAAGTTGGAAAAGATGGCTGATCAAGCTATGACCCAAATGTATAAACAGG
+>NB552451:97:HMWLJBGXH:1:11101:5031:1115 1:N:0:323
+CCTTTAGTAAGGTCAGTCTCAGTCCAACATTTTGCTTCAGACATAAAAACATTGTTTTGATAATAAAGAACTGACTTAAAGTTCTTTATGCTAGCCACTAGACCTTGAGATGCATAAGTGCTATTGAAACACACAACAGCATCGTCAGA
+>NB552451:97:HMWLJBGXH:1:11101:18354:1133 1:N:0:323
+CTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTG
+>NB552451:97:HMWLJBGXH:1:11101:4929:1141 1:N:0:323
+GTCCAATAACCCTGAGTTGAACATTACCAGCCTGTACCAAGAAATTATGATTAGACTTACGAATGAGTAAATCTTCATAATTAGGGTTAAGCATGTCTTCAGAGGTGCAGATCACATGTCCTGTCTCTTATACACAACTCCGAGCCCAC
+>NB552451:97:HMWLJBGXH:1:11101:9260:1147 1:N:0:323
+ATACTTAGGTGTCTTAGGATTGGCTGTATCAACCTTAAGCTTAAGTACACAATTTTGCATAGAATGTCCAATAACCCTGAGTTGAACATTACCAGCCTGTACCAAGAAATTATGATTAGACTTACGAATGAGTAAATCTTCATAATTAG
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test1.reads_1.fastq	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,40 @@
+@NB552451:97:HMWLJBGXH:1:11101:25425:1030 1:N:0:323
+CAATGNAATTAGCAGGATATCTATCGACATTGCAATTCCAAAATAGGCATACACCATCTGTGAATTTGTCAGAATGTGTGGCATAAGAATAGAATAATTCTTCTATTTTATAAGCTTTGTCACTACAAGGCTGTGCATCATAGAACTTC
++
+AAAAA#EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE//EEEEEAEEEEAAEEEEEEEE/EEEEEEEEE/EEEEEEEEEEEAEEEAEAEEAEEEEEEEEE/EEEEEEEEEEEEEEEEAEE<EEAEEEEEEEEEEEEEA<AAEEEE
+@NB552451:97:HMWLJBGXH:1:11101:5625:1041 1:N:0:323
+GAAAGNAGCAATGAAGTAGCTGAGCCACATCAAGCCTACAAGACAAGCCATTGCGATAGCAATTCCACCGGTGATCCAATTTATTCTGTAAACAGCAGCAAGCACAAAACAAGCTAAAGTTACTGGCCATAACAGCCAGAGGAAAATTA
++
+AAAAA#EEEEEEEEEEEEEEEEAEEEEEEEEEAEEEEEEEEEEEEEEAEEEEEEEEAEEEEEEEEEEEEEEEE/AEEEAEEEEEEEEEEEEEEEEAEEEEEEE<EEE/EEEEEEEEEEEEEEEEEEEAEEE/EEEEEEA/<E<EEAAEE
+@NB552451:97:HMWLJBGXH:1:11101:21590:1070 1:N:0:323
+GACTGAGACTGACCTTACTAAAGGACCTCATGAATTTTGCTCTCAACATACAATGCTAGTTAAACAGGGTGATGATTATGTGTACCTTCCTTACCCAGATCCATCAAGAATCCTAGGGGCCGGCTGTTTTGTAGATGATATCGTAAAAA
++
+AAAAA/EEEEEAE<EEEEEEEEE//EEEEEEAEE/AEEE<EEEEEAAAEEEEAEE/EEEEEEE/<E//<EEAEEAEE/EEA<EEEAEE//EEEEEE<EAEEE6/EE/<EEAE</EEAEEAE<EEEEEAEEEAAEA<EA/EE<<E<<<AA
+@NB552451:97:HMWLJBGXH:1:11101:16467:1071 1:N:0:323
+GCCTACGGGTACGCTGCTTGTCGATTCAGATCTTAATGACTTTGTCTCTGATGCAGATTCAACTTTGATTGGTGATTGTGCAACCTGTCTCTTATACACATCTCCGAGCCCACGAGACAAGTTCTAGTATCTCGTATGGCGGGTTGGGG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EAEEAAEEEEEEEEEEEEEE<A////</////A<///<////
+@NB552451:97:HMWLJBGXH:1:11101:7715:1076 1:N:0:323
+GTGTAACAGATGTTACCAACTGCACTAAAAACTCTAGGTAAGAAATGCAAAAAGTCACCATTAGTTGTGCGTAATATCGTGCCAGGCAAACCAGGCACGACAAAACCCACTTCTCTTGTTATGACTGCAGCAATCAATGGGCAAGCTTT
++
+AAAAA6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE6EEEEEEEEEEAEEEEEEEEEEEEAEEE6EEEEEEEEEE//EE<EEEAEEAEAEE/EEEEAEEEEEEEEEEEEEAEEEEEAEE<EEE/EEAEEE/AEEE/
+@NB552451:97:HMWLJBGXH:1:11101:4459:1092 1:N:0:323
+GGCTGTTGCTAATGGTGATTCTGAAGTTGTTCTTAAAAAGTTGAAGAAGTCTTTGAATGTGGCTAAATCTGAATTTGACCGTGATGCAGCCATGCAACGTAAGTTGGAAAAGATGGCTGATCAAGCTATGACCCAAATGTATAAACAGG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEAE/EAEE/EEEEEE/AEEEEEAAEEEEEE/EE<<EEEEEEEEEEEEEEAEEEE<AE<AEA<<EE<EEEA6
+@NB552451:97:HMWLJBGXH:1:11101:5031:1115 1:N:0:323
+CCTTTAGTAAGGTCAGTCTCAGTCCAACATTTTGCTTCAGACATAAAAACATTGTTTTGATAATAAAGAACTGACTTAAAGTTCTTTATGCTAGCCACTAGACCTTGAGATGCATAAGTGCTATTGAAACACACAACAGCATCGTCAGA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEAEEEEEE<EEAAEEEAAEEEEE
+@NB552451:97:HMWLJBGXH:1:11101:18354:1133 1:N:0:323
+CTTCACAACTGCTCCTGCCATTTGTCATGATGGAAAAGCACACTTTCCTCGTGAAGGTGTCTTTGTTTCAAATGGCACACACTGGTTTGTAACACAAAGGAATTTTTATGAACCACAAATCATTACTACAGACAACACATTTGTGTCTG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEE/AEEAEEEEEEAEEEEE<
+@NB552451:97:HMWLJBGXH:1:11101:4929:1141 1:N:0:323
+GTCCAATAACCCTGAGTTGAACATTACCAGCCTGTACCAAGAAATTATGATTAGACTTACGAATGAGTAAATCTTCATAATTAGGGTTAAGCATGTCTTCAGAGGTGCAGATCACATGTCCTGTCTCTTATACACAACTCCGAGCCCAC
++
+AAAAAEEEEEAE//EEAEEEE/EA/EEEE<EEE<EEEEEEEAAEEEEEEEEEEA6EEEEEEA/EAEEEEEEEEEEEEAEAEEEAEEEEEAEAE/AEEE/EEE/EE6EEEAE/AAEE//EE<AAE<EAEEEEEA</A/<<AAE/</AAA<
+@NB552451:97:HMWLJBGXH:1:11101:9260:1147 1:N:0:323
+ATACTTAGGTGTCTTAGGATTGGCTGTATCAACCTTAAGCTTAAGTACACAATTTTGCATAGAATGTCCAATAACCCTGAGTTGAACATTACCAGCCTGTACCAAGAAATTATGATTAGACTTACGAATGAGTAAATCTTCATAATTAG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/EEEEAEEEEEEEEEAEEEEAEEAEEEEEEEEEEEEEEEE/A<AEA<EEEEEEEEEEEA<EE<A
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test1.reads_2.fasta	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,20 @@
+>NB552451:97:HMWLJBGXH:1:11101:25425:1030 2:N:0:323
+TGGTAACCCTAAAGCTATTAAGTGTGTACCTCAAGCTGATGTAGAATGGAAGTTCTATGATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAATTCACAGATGGTGTAT
+>NB552451:97:HMWLJBGXH:1:11101:5625:1041 2:N:0:323
+CTATTACCGTTGAAGAGCTTAAAAAGCTCCTTGAACAATGGAACCTAGTAATAGGTTTCCTATTCCTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTNNATATAATTAAGTTAATTTTCCTCTGGCTG
+>NB552451:97:HMWLJBGXH:1:11101:21590:1070 2:N:0:323
+GTGGGTAAGCATCTATAGCTAAAGACACGAACCGTTCAATCATAAGTGTACCATCTGTTTTTACGATATCATCTACAAAACAGACGGCCCCTAGGATTCTTGATGGATCTGGGTAAGGAAGGTACACATAATCATCACCCTGTTTAACT
+>NB552451:97:HMWLJBGXH:1:11101:16467:1071 2:N:0:323
+GTTGCACAATCACCAATCAAAGTTGAATCTGCATCAGAGACAAAGTCATTAAGATCTGAATCGACAAGCAGCGTACCCGTAGGCCTGTCTCTTATACACATCTGACGCTGCCGACGATTATCTTACCGTGTAGATCTCGGTGGTCGCCG
+>NB552451:97:HMWLJBGXH:1:11101:7715:1076 2:N:0:323
+CTAAACATACTGACTTTTCAAGTGAAATCATAGGATACAAGGCTATTGATGGTGGTGTCACTCGTGACATAGCATCTACAGATACTTGTTTTGCTAACAAACATGCTGATTTTGACACATGGTTTAGCCAGCGTGGTGGTAGTTATACT
+>NB552451:97:HMWLJBGXH:1:11101:4459:1092 2:N:0:323
+CTCTTGCATTGTTGATAATGTTGTTGAGTGCATCATTATCCAACTTTCTAAGCATAGTGAAAAGCATTGTCTGCATAGCACTAGTAACTTTTGCCCTCTTGTCCTCAGATCTAGCCTGTTTATACATTTGGGTCATAGCTTGATCAGCC
+>NB552451:97:HMWLJBGXH:1:11101:5031:1115 2:N:0:323
+CATATTTGCGTAAACATTTCTCAATGATGATACTCTCTGACGATGCTGTTGTGTGTTTCAATAGCACTTATGCATCTCAAGGTCTAGTGGCTAGCATAAAGAACTTTAAGTCAGTTCTTTATTATCAAAACAATGTTTTTATGTCTGAA
+>NB552451:97:HMWLJBGXH:1:11101:18354:1133 2:N:0:323
+GTCTAATTCAGGTTGCAAAGGATCATAAACTGTGTTGTTGACAATTCCTATTACAACATCACAGTTACCAGACACAAATGTGTTGTCTGTAGTAATGATTTGTGGTTCATAAAAATTCCTTTGTGTTACAAACCAGTGTGTGCCATTTG
+>NB552451:97:HMWLJBGXH:1:11101:4929:1141 2:N:0:323
+GACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTCGTAATGTTCAACTCAGGGTTATTGGACCTGTCTCTTATACACATCTGACGCTGCCG
+>NB552451:97:HMWLJBGXH:1:11101:9260:1147 2:N:0:323
+GTAACTTGTGGTACAGCTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACA
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test1.reads_2.fastq	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,40 @@
+@NB552451:97:HMWLJBGXH:1:11101:25425:1030 2:N:0:323
+TGGTAACCCTAAAGCTATTAAGTGTGTACCTCAAGCTGATGTAGAATGGAAGTTCTATGATNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNAATTCACAGATGGTGTAT
++
+AAAAA6EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE######################################################################/<EEE/A<A<AAAEAEEE
+@NB552451:97:HMWLJBGXH:1:11101:5625:1041 2:N:0:323
+CTATTACCGTTGAAGAGCTTAAAAAGCTCCTTGAACAATGGAACCTAGTAATAGGTTTCCTATTCCTTNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNTNNATATAATTAAGTTAATTTTCCTCTGGCTG
++
+AAAAAEEEEEEEAEE/EEEAEEEEAEEEEEEEEEEEEEEEEEAEEEAEEEEEEEEEEEEEEEAEEEEE#################################################<##/EAEEEEEAEAAEEEEEEEEEEEE<<<A/
+@NB552451:97:HMWLJBGXH:1:11101:21590:1070 2:N:0:323
+GTGGGTAAGCATCTATAGCTAAAGACACGAACCGTTCAATCATAAGTGTACCATCTGTTTTTACGATATCATCTACAAAACAGACGGCCCCTAGGATTCTTGATGGATCTGGGTAAGGAAGGTACACATAATCATCACCCTGTTTAACT
++
+AAAAAEEEEEEEEEEEEE/AEEEAEEA<EEEAEAAEEEEEEEAEEEEAEEAEEE/EE</</EEEEE/EE</EEEEE/A/E<A</EE/EAAEE<EEE<EE///EE/E<EAE/EE/A/<6A/AAAEAEAAE6AA</<A<<6/<<</EA/E<
+@NB552451:97:HMWLJBGXH:1:11101:16467:1071 2:N:0:323
+GTTGCACAATCACCAATCAAAGTTGAATCTGCATCAGAGACAAAGTCATTAAGATCTGAATCGACAAGCAGCGTACCCGTAGGCCTGTCTCTTATACACATCTGACGCTGCCGACGATTATCTTACCGTGTAGATCTCGGTGGTCGCCG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEAEEEEEEEEEAEEAAAEEEAEEEAAA<EEEEEEEEAAEEEEE/EEEAAAEAAEAEAA6
+@NB552451:97:HMWLJBGXH:1:11101:7715:1076 2:N:0:323
+CTAAACATACTGACTTTTCAAGTGAAATCATAGGATACAAGGCTATTGATGGTGGTGTCACTCGTGACATAGCATCTACAGATACTTGTTTTGCTAACAAACATGCTGATTTTGACACATGGTTTAGCCAGCGTGGTGGTAGTTATACT
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEAEEEEEEEEEEEEAEEEEAAEA<EEEAEEEEEAEAEEEEEAAEAAEEEEEEEEAA
+@NB552451:97:HMWLJBGXH:1:11101:4459:1092 2:N:0:323
+CTCTTGCATTGTTGATAATGTTGTTGAGTGCATCATTATCCAACTTTCTAAGCATAGTGAAAAGCATTGTCTGCATAGCACTAGTAACTTTTGCCCTCTTGTCCTCAGATCTAGCCTGTTTATACATTTGGGTCATAGCTTGATCAGCC
++
+AAAAAEEEEEEEEEEEE6EEEEEEEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAAEAEEE<EEEEEEEEEEEEEEEEEEEEEAEEEEAEEEEEEEEEE<EEEAA<EEEEE<<AAEA<EEAAAA
+@NB552451:97:HMWLJBGXH:1:11101:5031:1115 2:N:0:323
+CATATTTGCGTAAACATTTCTCAATGATGATACTCTCTGACGATGCTGTTGTGTGTTTCAATAGCACTTATGCATCTCAAGGTCTAGTGGCTAGCATAAAGAACTTTAAGTCAGTTCTTTATTATCAAAACAATGTTTTTATGTCTGAA
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE/AE<EEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEAAEEEEEEEEEEAEAEAEA
+@NB552451:97:HMWLJBGXH:1:11101:18354:1133 2:N:0:323
+GTCTAATTCAGGTTGCAAAGGATCATAAACTGTGTTGTTGACAATTCCTATTACAACATCACAGTTACCAGACACAAATGTGTTGTCTGTAGTAATGATTTGTGGTTCATAAAAATTCCTTTGTGTTACAAACCAGTGTGTGCCATTTG
++
+AAAAAEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEEEEEEEEEEEEEEAEEAEEAEEEEEEEEEEEEEEEEEEEEEEEEEAEAEEEEE/EEEEAEEEAEAEAAEEE<
+@NB552451:97:HMWLJBGXH:1:11101:4929:1141 2:N:0:323
+GACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACAGGCTCGTAATGTTCAACTCAGGGTTATTGGACCTGTCTCTTATACACATCTGACGCTGCCG
++
+AAAAAEEEEEE<EEEEEEEE/EEEEEEEEEAEE/EAEEEE/EEEAEEEEE/EEEEEEAAEEEE//EEEE<EEEEE/A/E<EEEEEEEEEEEE/E/<EE/E<EEEEEEEE<AA/EEAEA//<<EEEEE/EEAEEEAEEAA/E<66<6<//
+@NB552451:97:HMWLJBGXH:1:11101:9260:1147 2:N:0:323
+GTAACTTGTGGTACAGCTACACTTAACGGTCTTTGGCTTGATGACGTAGTTTACTGTCCAAGACATGTGATCTGCACCTCTGAAGACATGCTTAACCCTAATTATGAAGATTTACTCATTCGTAAGTCTAATCATAATTTCTTGGTACA
++
+AAAAAEEEEEEEEEEEEEEEEEE/EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEAEEEEEAAEEEEEEEEEEEE/EEEEAEEEEEEEEAE<EEEEEEEAEEAEEEEAEAAAEAAEEEEEEEEEEEEEEEEEEEEEAAAAA<
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test3.reads_1.fasta	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,20 @@
+>0
+ACGCGTACTTCGTTCGGTTCACATGTGCTGGTTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTATAAGAACCAGACTTTCGATCTCTTGTGAATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCCGCTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTACATATCTCTTGCGCCACATCGTTTGCCGACGAAGGTTAAGAATCGCTATCCTATGTTCATCACCAGCTTTCAGCAATACGGCGAAAA
+>1
+GGTATGCTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACCAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTTAAAATCTGTGTGGCTGTCCCACTCGGCCTGTCTCTTATACACCTCCCTCCCGAGCCCACGAACAGGTTAAGAATCACCTCTTATGTTCTTCACCAGCACCAGCAATACGTAA
+>2
+ATTGTACTTCGTTCGGTGCGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCAGCAGCGTCAGATGTGTATAAGGAACAGCCAATTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAACACATCTAGGTTTTGTCCGGGTGTGACCGAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCTGTCTCTTATACACATCTCGAGCCCACGAGACGGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAGCAATACGTAGCA
+>3
+TTGTACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTATGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGAACACGCTGTCTTATACATCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAGCAATACGTAA
+>4
+TTACTTCGTTCAGTTACGTATTGCTGGTGCGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTGTATAAGAGACAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTCGTGGCTGTCACTCAGCTGCATGCTTAGTGCACTCGCAGTATAATTAATAATAATTACTGTCGTTGACAGGACACAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCCGTCCGTGTTGCAGCGTCAATAACATCTAGGTTTTGTCAGGGTGTGACCGAAGGTAAAGATGGAGAGCCTTGTCCCTGTCTCTTACTTACACATCTGACGCTGCCGACAGAAAGGTTAAGAATAATATCCCTATGTTCATCCGCAGCACCAACCATTGCGTAACA
+>5
+GATGTACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTGGCACTTCGTCGGCAGCGTCAGATATTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACCTGTCTCTTATACACATCTCCGAGCCCACGAGACAGGTTAAGAATCCTTTATCCTATGTTCATCACCTTTCCAGCAATACGTAA
+>6
+GATGCTTCATTGGTTACGTGTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCGGCGTCAGTGTATAAAGACAGACTTCCGATCTCTTGTAGATCTGTTCTCTAAACGACACAAAATCTGTGTGGCTGTCACTCGGCTGCATGTGGTGCACTCACGCGGTATAATTGTCTTCGTTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTTGGTTTTCGTCCGTGTTGCGGCGATCATCAACACATCTAGGTTTGTCCGGGTGCTTGGCCGAAAAGGTAGATGGAGAGCCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCGGTTTGCCTGTTTTACAGGTTCATGACGTGCTCGTACGTGGCTTTGGAACTCCCGTGGAGGTCTTATCCTAATATCTGCCACCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAACAATATGTA
+>7
+ATACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAGACTTTCAGTCTCTTGTAGATCTGTTCTCCTAAACATTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTACTGTCTCTTATACACATCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCTATGTTCATCCATAGCACAGCAATACGTAACTA
+>8
+ACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTACATTAATGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACCTGTCTCTTATACACATCTCCGAGCCCACGAGACGGAGTTAAGAATCGCTATCTATGTTCATCCACAGCACCAACCAATACGTAA
+>9
+GGTAATACTTCGTTGGTCGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGTTAGGATACCGTCGCTCATTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAACACATCTGGTTTTGTCCGATTGTGACCGAAGGTAAGATGGAGGAAGCCTTGCCTGGTTTCAACGAGAAAACGCGTCCAGCCTCAGTTTGCATATATTTTGGTTCCGCGACAATGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCATATCCTGTCTCTTATACACATCTGACGCTGCCGACGAAGGTTAAGAATCGCTATCCTATGTTCATCTGTACCAATAATGTAACTT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/output.test3.reads_1.fastq	Thu Mar 17 11:12:09 2022 +0000
@@ -0,0 +1,40 @@
+@0
+ACGCGTACTTCGTTCGGTTCACATGTGCTGGTTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTATAAGAACCAGACTTTCGATCTCTTGTGAATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCCGCTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTACATATCTCTTGCGCCACATCGTTTGCCGACGAAGGTTAAGAATCGCTATCCTATGTTCATCACCAGCTTTCAGCAATACGGCGAAAA
++
+$($%),*24<68<*1%&0%$$%#&$9*67**(&+35/31561'(9:>96;=@305:99:@??;/:9086FA7:.6-*'68>:;7689.1%&&&'))&)$%$$3644<;;7+35434))+55,-<G<E=75301-..,+*%&'''02;:9+&56),8:9<0>=;*-=54@C?A?@C&7:3<:A;<,-%%%$('%&'%('(%%%%%%%&%#$%'&#$(,&%$%%&((***+%$)'5)6?;>7@<:%)>;@:;B?BDC?;:2%#%%$###$03134/1/,+*)'+''&
+@1
+GGTATGCTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACCAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTTAAAATCTGTGTGGCTGTCCCACTCGGCCTGTCTCTTATACACCTCCCTCCCGAGCCCACGAACAGGTTAAGAATCACCTCTTATGTTCTTCACCAGCACCAGCAATACGTAA
++
+$&%&''?DI>GDJGCCEDFA?@=BB1AA9:CCK>CA?CCA=;)9&41:>?<:6688<FBBFIJDCKKC?FB8<B@ADFA@<87C?02456992''0'$))2*F?==<CEAB>HH?@;;AC9B=AG9A+9@>:5@IBAADB@>;701/%%.,---/768696/9;979:;57B>D8<=/53/*,%%,*+'0:0-)7<?853*%-3.24=5++%*&%%%$$.--1+0+,+%#%#%(+/-'5:=>>@AB@A<.00*
+@2
+ATTGTACTTCGTTCGGTGCGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCAGCAGCGTCAGATGTGTATAAGGAACAGCCAATTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAACACATCTAGGTTTTGTCCGGGTGTGACCGAAGGTAAGATGGAGAGCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCAGTTTGCCTGTTTTACAGGTTCGCGACGTGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCTTATCAGAGGCTGTCTCTTATACACATCTCGAGCCCACGAGACGGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAGCAATACGTAGCA
++
+)(*072:<=*9::6$&:%-1;:9:88::9>36:8=89>;226;EG;=6=5,*-.002089?@A@D=0'+)##$$%)-/101*@@>39<84,,))A9:5<@ACDGF;:;91;;FFBB7:=E?GA?H:B=C??<:&&(&:<DHG@>.5;9B21688@B?>DFH97;A@A=A@77<=59<AD5;E:99<:7:<;?BCBDJH=DB=?DCBF?;5697,=::;><<:?.99((45757979<;@?F8A=86'98<==<;;<83;68:=>=5I?=<B;AC@419??<?<;?C@+,/@;BG<=:<<AFGE;A<<D<516:8:975++'6;<?<BDDA=7:3>@EG@G=<9:@<;H@A466<<:B@@34<==5<D>?GGC@?:A>IAB8<CFNONIG@D=<A@<-182:'777?;CD>=>A8263<@;;?;=72//9>ABAB8?8;C<FFFF411+>7@>785D=?>;;-6778:7:2--6=>@=676(..,/0A77;ADEC@=?CGJ;=?B@?KAEKRFDC:<;BCHA<::45413332++&
+@3
+TTGTACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTATGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACAGAACACGCTGTCTTATACATCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAGCAATACGTAA
++
+,69>=?DE<>CFBC@DEDB>DA36<D>/687=A>>>@EE@EHC@D<:8@@@?<;CDK@DDC=A>AE>;B?26AGHHEB?>??E+&744D=//6=;=-0AADC;8<><I<IDDD::AA=>;=)13367745((%.-2:<=@@>;&&&&'+--.2<;1:9;59=@>;./+'.0/4>9CF?C9,94,)-()45958997<655786+->::;1257660(%%'+%&''-&-)%.54.///1><41-+8<677?=;@=9=CAELDEFBJA0.@DL>>FA@DCHGFO?@8>>7E=GE@=AAACB9-)*'
+@4
+TTACTTCGTTCAGTTACGTATTGCTGGTGCGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTGTATAAGAGACAACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTCGTGGCTGTCACTCAGCTGCATGCTTAGTGCACTCGCAGTATAATTAATAATAATTACTGTCGTTGACAGGACACAGTAACTCGTCTATCTTCTGCAGGCTGCTTACGGTTTCCGTCCGTGTTGCAGCGTCAATAACATCTAGGTTTTGTCAGGGTGTGACCGAAGGTAAAGATGGAGAGCCTTGTCCCTGTCTCTTACTTACACATCTGACGCTGCCGACAGAAAGGTTAAGAATAATATCCCTATGTTCATCCGCAGCACCAACCATTGCGTAACA
++
+%,%((*'++740;BFCA8@=??)887*;+&-@>A@@IKMEII9:<A:2@:;>?=:;=?7:><AF?G<<HFCA<44;=?;A@1607877//%%)+3&>>@=88>@5%-175:89>;,*$:@:9+2<;94+,+./.(%+./368?=3?C,(4=;9>788;:;88@CD?@H)*7699=<=<>=4/+.*26(&*3;=;94031/*'(668.(+*+8:6;76245==?66-,)&%%&15..,,//2026;556:=<9=<9:;420%(-*,+$&+&*0025(+14@A@>=,&-(''%(,,.7)<>8?7B<:37>60((0&3-8=:C=<<:;>9+03-((('(+06;?:>@@81'*9;==?-''553/8:420),'$$$+49:832155;@1BD@8$'5463;9$'%)&$'&$&%''&$
+@5
+GATGTACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTGGCACTTCGTCGGCAGCGTCAGATATTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTGTGTGGCTGTCACTCCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACCTGTCTCTTATACACATCTCCGAGCCCACGAGACAGGTTAAGAATCCTTTATCCTATGTTCATCACCTTTCCAGCAATACGTAA
++
+&#'(.,::@8::.=<<<A><38==@9D?>:@DC=>7=@AB?BB;4;=:8B@768<@@>4$$$$&##%()0-*0,*<>:=??;:2--.=;8<<86017.,1,.;B@96=?:A:>>-513883.$230&&&23)(%&,,.1/24?<<9?:=94-069488':666-08979-/+%%(&-+*.-02.((,1.5?=;;<?@47<;,%7==?B<000-$(<<EDEBCC+7:;6*34287<;(236629+*+,8+24.2.0/)&(*/2252;<;AE?<=+'&(%%%%5:4=:<>:9564)
+@6
+GATGCTTCATTGGTTACGTGTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCGGCGTCAGTGTATAAAGACAGACTTCCGATCTCTTGTAGATCTGTTCTCTAAACGACACAAAATCTGTGTGGCTGTCACTCGGCTGCATGTGGTGCACTCACGCGGTATAATTGTCTTCGTTACTGTCGTTGACAGGACACGAGTAACTCGTCTATCTTCTGCAGGCTGCTTTGGTTTTCGTCCGTGTTGCGGCGATCATCAACACATCTAGGTTTGTCCGGGTGCTTGGCCGAAAAGGTAGATGGAGAGCCCTTGTCCCTGGTTTCAACGAGAAAACACACGTCCAACTCGGTTTGCCTGTTTTACAGGTTCATGACGTGCTCGTACGTGGCTTTGGAACTCCCGTGGAGGTCTTATCCTAATATCTGCCACCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCCTATGTTCATCCGCAGCACCAACAATATGTA
++
+%&&"##$'%'&$&80/0,'&.(,,78A>=<>,/5:879;?25,231-.3;:::@33522&(&&(*62',;+0B=>)#&)$%$+>:768?<==<;;::7@C?H>AD@?--9A=B@IJAF@554))''%#$%(117:9-+,6&).77?A8BC@.5CA@@>=(9(,(&%#&9?:>>@',6486799-869:609::(,>=8:A864,%=9=>><5&2.3(7*:CB=:8<77-$'()(.657%*+.3=<CCD7=:G<=??>BCC:(((128?AE@%&).>>D>;4?@@BH@G<9*-:8?$$'$&040558++/0//;;3:1559;886@?E=>*0:=>CD@56596':;:87=B9=.+6513=?A%)FJKA=?EA<<5(984:A?1B&&62:32,+33+++8323)5;>:33-*0121)/2.0*+2>9?</:72&&&%&((($()&$$%,+&'%=@=53:<<E/%7<=;=??A>G<79;EDC2<AE>DCC?ID5-)3%5/./')%#$$%)',%
+@7
+ATACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAGACTTTCAGTCTCTTGTAGATCTGTTCTCCTAAACATTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTACTGTCTCTTATACACATCTCCGAGCCCACGAGACAGGTTAAGAATCGCTATCTATGTTCATCCATAGCACAGCAATACGTAACTA
++
+#$#$%&&'38217B=9;:8447*766.:799;=;=AB27;=710937&%$%55587;=II?=DFA;CB7;@@B7CB<9;>@+1&(046:%,.957989:97*'&63*-;=;>78AE<C6=F>B=)222+&##$$,.32,9@@A??=;=A?@B'6@<36=@<7./("$%%1;<=1>??988:9<A@CBA@C<;@:DAE@=BAAC<48@<:60647599,$$244=4.1BADEF=@<I?;;74:81@@<>D9<:?2%%97::9;9?AA?<9798/+,$
+@8
+ACTTCGTTCAGTTACGTATTGCTGGTGCTGCGGATGAACATAGGATAAGCGATTCTTAACCTTCGTCGGCAGCGTCAGATGTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAAACGAACTTTAAAATCTACATTAATGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGACCTGTCTCTTATACACATCTCCGAGCCCACGAGACGGAGTTAAGAATCGCTATCTATGTTCATCCACAGCACCAACCAATACGTAA
++
+%//13577*$&22;;8@@DECHC=>B@?>;::<AB==<>(-*,5028</=<>?B;25A@EA@;889>=?>?-=<<<=:?A?=31,4:90/-0977>478849>@<FBAF>>933>>>?CJ=G:?KHDA22=A?B@?ACB>/'$$$$%%%11*(&(4)3:@<=<4?=<<<7+*+&&66?>BA61(*0/21000(78;;9:7369;8>?:>??8:AFFD>?CDB;C9CCEAF@<???8C88=A8;>C?9=B9>5((&,<:;6-1352&$+))/03=>?D:9873&+565.05))-1,.,,0033(
+@9
+GGTAATACTTCGTTGGTCGTATTGCTGGTGCTGCGGATGAACATAGGATAGCGATTCTTAACCTGTCTCGTGGGCTCGGAGATGTGTATAAGAGACAGACTTTCGATCTCTTGTAGATCTGTTCTCTAACGAACTTTAAAATCTGTGTGGCTGTCACTCGGCTGCATGCTTAGTGCACTCACGCAGTATAATTAATAACTAATTACTGTCGTTGTTAGGATACCGTCGCTCATTATCTTCTGCAGGCTGCTTACGGTTTCGTCCGTGTTGCAGCCGATCATCAACACATCTGGTTTTGTCCGATTGTGACCGAAGGTAAGATGGAGGAAGCCTTGCCTGGTTTCAACGAGAAAACGCGTCCAGCCTCAGTTTGCATATATTTTGGTTCCGCGACAATGCTCGTACGTGGCTTTGGAGACTCCGTGGAGGAGGTCATATCCTGTCTCTTATACACATCTGACGCTGCCGACGAAGGTTAAGAATCGCTATCCTATGTTCATCTGTACCAATAATGTAACTT
++
+%%&%%**6562136#%,33=:>BA@C>;;7>-05+/3(0=B>@C8?:AA:;446785&0',57>>D9><@H>@A==7795/0*'?<CDAA?<@=A844;@=A9,2175+9>@?=88AB;==B67'0'.-,6>>>ABEHHFDB=68A7A;:<A?GE=>K>;>B@A:?:;689/5=:94;>C77);:<B>ECDA><:%993>??>B8:=?C;5B>/5.&/,%'$&&&)$&'&)$$'*')./*./-217:>:8;69=>@JLJA;D?;19;<;>==<;<::>?>@;')+7=;<31&)&541'&1%'#%',-/222=A>6;?>?:9+561+,-*'00%*%%.0.14:-<,.8>A@LD?@;'0+54.,',+,+%((90(%%$%#$%,,&'*2452'-++($#&'-06:;=<;?/2:9EA;=C;DI:@=7@FAA32069BA9<B@:;>>FC4CBBEF;6*?FI@GCB60-6:8:=?8<999>DDEC@>?A<<:??H?<0('&(%,/,&$#$%%()**++*&))&%%$
Binary file test-data/output_test1.fastq.gz has changed
Binary file test-data/output_test2.fastq.gz has changed
Binary file test-data/output_test3.fastq.gz has changed
Binary file test-data/test1.fasta.gz has changed
Binary file test-data/test1.fastq.gz has changed
Binary file test-data/test2.fasta.gz has changed
Binary file test-data/test2.fastq.gz has changed
Binary file test-data/test3.fasta.gz has changed
Binary file test-data/test3.fastq.gz has changed