Mercurial > repos > iuc > read_it_and_keep
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('&(%,/,&$#$%%()**++*&))&%%$