Mercurial > repos > jdv > nanopolish
changeset 0:2136c2725fc4 draft
planemo upload for repository https://github.com/jvolkening/galaxy-tools/tree/master/tools/nanopolish commit 0206b7bd377b39ad28592b0a02588f40575efd3e-dirty
author | jdv |
---|---|
date | Wed, 06 Sep 2017 12:15:45 -0400 |
parents | |
children | a5db82bec597 |
files | nanopolish_extract.py nanopolish_extract.xml nanopolish_variants.pl nanopolish_variants.xml test-data/test_data.fast5.tar.gz test-data/test_data.fastq |
diffstat | 6 files changed, 396 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nanopolish_extract.py Wed Sep 06 12:15:45 2017 -0400 @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 + +import sys, os +import glob +import tarfile +import subprocess +import shutil +import h5py +import numpy as np + +def main(): + tar_file = sys.argv[1] + out_file = sys.argv[2] + threads = sys.argv[3] # currently unused + + extract_fast5(tar_file) + + subprocess.call(["nanopolish", + "extract", + "--recurse", + "--fastq", + "--output", out_file, + "in_dir" ]) + +def extract_fast5(fn): + + try: + in_dir = "in_dir" + if not os.path.exists(in_dir): + os.makedirs(in_dir) + + tar = tarfile.open(fn, mode='r') + tar.extractall(path=in_dir) + + files = glob.glob( + os.path.join(in_dir, "**", "*.fast5"), + recursive=True + ) + if len(files) < 1: + raise ValueError('No FAST5 files found') + + except OSError as e: + print("Unexpected error:", e.strerror) + raise + + except: + print("Unexpected error:", sys.exc_info()[0]) + raise + +if __name__ == "__main__" : + main()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nanopolish_extract.xml Wed Sep 06 12:15:45 2017 -0400 @@ -0,0 +1,86 @@ +<tool id="nanopolish_extract" name="Nanopolish::extract" version="0.7.2"> + + <description>FAST5 to FASTQ/A extraction</description> + + <!-- ***************************************************************** --> + + <!-- + <requirements> + <requirement type="package" version="0.7.2">nanopolish</requirement> + </requirements> + --> + + <!-- ***************************************************************** --> + + <version_command>nanopolish --version | perl -wnE'print "$1\n" for /^nanopolish version (.+)$/mg'</version_command> + + <!-- ***************************************************************** --> + + <command detect_errors="aggressive"> + <![CDATA[ + + python3 $__tool_directory__/nanopolish_extract.py $input $output \${GALAXY_SLOTS:-1} + + ]]> + </command> + + <!-- ***************************************************************** --> + + <inputs> + + <param name="input" type="data" format="fast5_archive" label="Input reads" /> + <param name="out_format" type="select" label="Output format"> + <option value="fastq" selected="true">fastq</option> + <option value="fasta">fasta</option> + </param> + + </inputs> + + <!-- ***************************************************************** --> + + <outputs> + + <data name="output" format="fastqsanger" label="${tool.name} on ${on_string}"> + <change_format> + <when input="out_format" value="fasta" format="fasta" /> + </change_format> + </data> + + </outputs> + + <!-- ***************************************************************** --> + + <tests> + <test> + <param name="input" value="test_data.fast5.tar.gz" ftype="fast5_archive" /> + <output name="output" file="test_data.fastq" compare="sim_size" delta="0"/> + </test> + </tests> + + <!-- ***************************************************************** --> + + <help> + <![CDATA[ + +**Description** + +Nanopolish is a software package for signal-level analysis of Oxford Nanopore +sequencing data. Nanopolish can calculate an improved consensus sequence for a +draft genome assembly, detect base modifications, call SNPs and indels with +respect to a reference genome and more. + +The Galaxy wrapper has modified nanopolish to take a gzip tarball of FAST5 reads +as input, such as can be produced by `poretools combine`, and always outputs a +single FASTQ file. + +This is the `extract` module. + + ]]> + </help> + + <!-- ***************************************************************** --> + + <citations> + </citations> + +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nanopolish_variants.pl Wed Sep 06 12:15:45 2017 -0400 @@ -0,0 +1,127 @@ +#!/usr/bin/env perl + +use strict; +use warnings; +use 5.012; + +use Archive::Tar; +use Cwd qw/getcwd abs_path/; +use File::Copy qw/copy/; +use Getopt::Long qw/:config pass_through/; +use threads; +use threads::shared; +use BioX::Seq::Stream; + +my $fn_genome; +my $threads = 1; +my $fn_outfile; +my $fn_consensus; +my $fn_fast5; + +# remember full command string (with proper binary) + +# parse genome filename and add back to arg stack +GetOptions( + 'genome=s' => \$fn_genome, + 'threads=i' => \$threads, + 'outfile=s' => \$fn_outfile, + 'consensus=s' => \$fn_consensus, + 'fast5=s' => \$fn_fast5, +); + +my $tmp_dir = 'tmp_dir'; +mkdir $tmp_dir; + +#extract FAST5 files to path where they are expected +my $in_dir = 'in_dir'; +mkdir $in_dir; +my $cwd = abs_path( getcwd() ); +chdir $in_dir; +my $tar = Archive::Tar->new(); +$tar->read($fn_fast5); +$tar->extract(); +chdir $cwd; + +my @cmd = @ARGV; +unshift @cmd, 'nanopolish'; +push @cmd, '--genome', $fn_genome; + +say join ' ', @cmd; + +my @regions :shared; + +# build region tags to pass to nanopolish +my $parser = BioX::Seq::Stream->new($fn_genome); +while (my $seq = $parser->next_seq) { + push @regions, join( ':', $seq->id, + join( '-', 1, length($seq) ), + ); +} + +my @workers; +for (1..$threads) { + push @workers, threads->create(\&run); +} + +$_->join() for (@workers); + +my @fa_files = glob "$tmp_dir/*.fasta"; +my @out_files = glob "$tmp_dir/*.vcf"; + +open my $out_cons, '>', $fn_consensus + or die "Failed to open output consensus: $!"; +for (@fa_files) { + open my $in, '<', $_; + while (my $line = <$in>) { + print {$out_cons} $line; + } + close $in; +} +close $out_cons; + +# we may need to do extra processing on VCF output +open my $out_vcf, '>', $fn_outfile + or die "Failed to open output file: $!"; +for my $i (0..$#out_files) { + my $v = $out_files[$i]; + open my $in, '<', $v; + while (my $line = <$in>) { + next if ($line =~ /^\s*#/ && $i > 0); + print {$out_vcf} $line; + } + close $in; +} +close $out_vcf; + + +sub run { + + LOOP: + while (1) { + + my $tag; + + { + lock @regions; + last LOOP if (! scalar @regions); + $tag = shift @regions; + } + + my $fn_out = "$tmp_dir/$tag.vcf"; + my $fn_cons = "$tmp_dir/$tag.fasta"; + + my @cmd_local = @cmd; + push @cmd_local, '--window', $tag; + push @cmd_local, '--outfile', $fn_out; + push @cmd_local, '--consensus', $fn_cons; + + my $ret = system @cmd_local; + warn "RET: $ret ($!)\n"; + + my $cmd_string = join ' ', @cmd_local; + die "Non-zero exit value for command: $cmd_string\n" + if ($ret); + + } + +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/nanopolish_variants.xml Wed Sep 06 12:15:45 2017 -0400 @@ -0,0 +1,100 @@ +<tool id="nanopolish_variants" name="Nanopolish::variants" version="0.7.2"> + + <description>Re-call consensus and variants from raw signal</description> + + <!-- ***************************************************************** --> + + <!-- + <requirements> + <requirement type="package" version="0.7.2">nanopolish</requirement> + </requirements> + --> + + <!-- ***************************************************************** --> + + <version_command>nanopolish --version | perl -wnE'print "$1\n" for /^nanopolish version (.+)$/mg'</version_command> + + <!-- ***************************************************************** --> + + <command detect_errors="aggressive"> + <![CDATA[ + + ln -s $input_bam 'input.bam' && + ln -s $input_bam.metadata.bam_index input.bai && + + perl $__tool_directory__/nanopolish_variants.pl variants + + --reads $input_reads + --bam input.bam + --genome $input_ref + --consensus $out_consensus + --outfile $out_variants + --threads \${GALAXY_SLOTS:-1} + --max-round $max_rounds + --max-haplotypes $max_haplotypes + --min-candidate-depth $min_candidate_depth + --min-candidate-frequency $min_candidate_frequency + --fast5 $input_fast5 + $fix_homopolymers + $calculate_all_support + + ]]> + </command> + + <!-- ***************************************************************** --> + + <inputs> + + <param name="input_reads" type="data" format="fasta" label="Input reads (FASTA)" /> + <param name="input_fast5" type="data" format="fast5_archive" label="Input reads (FAST5)" /> + <param name="input_bam" type="data" format="bam" label="Alignment" /> + <param name="input_ref" type="data" format="fasta" label="Reference" /> + <param name="min_candidate_frequency" type="float" value="0.2" size="5" label="Minimum candidate frequency" /> + <param name="min_candidate_depth" type="integer" min="1" value="20" size="5" label="Minimum candidate depth" /> + <param name="max_haplotypes" type="integer" min="0" value="1000" size="5" label="Maximum haplotype combinations" /> + <param name="max_rounds" type="integer" min="0" value="50" size="5" label="Maximum iterations" /> + <param name="fix_homopolymers" type="boolean" checked="false" truevalue="--fix-homopolymers" falsevalue="" label="Fix homopolymers" /> + <param name="calculate_all_support" type="boolean" checked="false" truevalue="--calculate-all-support" falsevalue="" label="Calculate support for all four bases" /> + </inputs> + + <!-- ***************************************************************** --> + + <outputs> + + <data name="out_variants" format="vcf" label="${tool.name} on ${on_string} (variants)" /> + <data name="out_consensus" format="fasta" label="${tool.name} on ${on_string} (consensus)" /> + + </outputs> + + <!-- ***************************************************************** --> + + <tests> + </tests> + + <!-- ***************************************************************** --> + + <help> + <![CDATA[ + +**Description** + +Nanopolish is a software package for signal-level analysis of Oxford Nanopore +sequencing data. Nanopolish can calculate an improved consensus sequence for a +draft genome assembly, detect base modifications, call SNPs and indels with +respect to a reference genome and more. + +The Galaxy wrapper has modified nanopolish to take a gzip tarball of FAST5 reads +as input, such as can be produced by `poretools combine`, and always outputs a +single FASTQ file. + +This is the `extract` module. + + ]]> + </help> + + <!-- ***************************************************************** --> + + <citations> + </citations> + +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/test_data.fastq Wed Sep 06 12:15:45 2017 -0400 @@ -0,0 +1,32 @@ +@3030a28d-1f16-4086-9ba1-ff31a97f434d_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12068_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12068_ch_399_strand.fast5 +TCGTGTAGCCTGAATTCGATGCGTATCGCTTGAGAAAATAAACTCGCTGGCGTGACGAAACGTAATGAATTACGACGCTGTCGAAATGAAACTCTTCGCCGGCATGTCGCAGGCATTAGCGGGCCGAAACTAGTGATAGCACATTATCGATAAAAACTGGCGAATCTCATCTAAAGAGGCGGCGCTGTTCGTGAATAAGGGCAGCAATGGCTGCGAAGCGTGTTCAGGCAGAATTGCCAGAGAGAATCATCGAAGGCATCGAAAATGATATGCTCTTCTTTCGCTGGCGATATGAGAATGTCGAGAGCTTCGTTCGTAATAAATGGCGAGGCAATGTGAGCTCTCGTATAAAGATGGGCGGGCGTCTTGAATGGCATCGCGAAAGCCAAGCTTCGGTATGACTCGGTAGAAGCTGACGTGTTATCGAGGCATAGCGAGAGA ++ +"%(()""#2.,$.*->,,,,*-27,1,#"&"($&+6:0/$+.&)*&,0>E(,(($/.39'$""$'((+).%"&/'<&$&"($"$$#*&+'"#-$')""(&0.<+=0:?7C&'MN%K'&"*/),/9,/1&#"%#-##1"(*&*#4,,/=%%&,8:=27'*&"%-(-+-+&(("&*%)'-7D>FEE=<&*'(%'*'%%"$,)&$%"&))(**$"#")$$&#(,+%/#(6.'%0'(1)&*(#()()',(/6-))%&(--47?:&02@,%$)),-""$"#($%+(&*4+6)%'$#""&')+01/;C2.2$&:5>.&/71)B*.*(*"""$(&%(%)*1&(2.*((%''%"$"%.7.-$,/6*'-?/352&'&'*=0(+'),+$&+6EB35:2.&+2)--#%'--""#$(+#&&-+"$$'",&*"%""$=-0959&+'%#$+&&(% +@86fd3e14-b5ee-4453-98fa-084d75821456_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12091_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12091_ch_399_strand.fast5 +ATATTATGCTAAATTGGAAGTGCGTATGAATACAGAAGCTGACGCGAGAGTGAGCGAAAGCGAAATGACGAAGCATGTCAAAAATTACAACTTTAATATCGGCTAGAATGAGCTGCTAAGCATGTCGCAAGCGTGGGCCGAAACTAAAGATGATATTTGATATCATTAAGCTGGCATAGAATCAGAAAGCGGCGTAAAGTCTCGGCATCGAGCATTATAGTGCGAAAGCGGGAAATGATGAAGCGGTGAGAATACATCAAAGGCGCTCAAAGTAAATGTAGAATGCGCGATATCAATGATATATTAATGAAAGAAATATCGAAATCAGTGTATAAACGACACGGCTGGCGAATTCACTAATATCGAAATGGGCCGAGGCGGTAATGAGCCGAGCGCATCGCTGAGGCAGTATAGTGTAATCCTGATATAAATTCCAGGGCGCAATATACTCGAAGCTTTGCGAAGAGAGCGTGGAAACACAATGGCATATATGAGGGGCGTAGCAATGAGATATAAAGTAACGATGAAATTCTCATCGAGAGCTCAAATGAAATAATCGGCGCGGTCGTCCTGCCTCGAAGCCCTAAAGAGGTAATGAAGGCGAAATGATGAGGCATATCTCCCAAGCGAAAGCGAGAAAATGGAGAGCAATCAGGCCGAAGTGGCTCGGTATTGATCGAAAGTGCGCGATCGAAACGAGAGAGCGACGGGCGATCAGCCAGCGCTTGGTATAACGTAGCTCAATGGGCGAAACCGAAACACCGACAATAGTGATAAAGAAACGCGCCATTTC ++ +""$'#$+-.(55':)5-+*$'&#"%#$&32)%%"#(#))&0",0<64%*#')&()-557-*,-*''%&$"6/)3/4".0%1**),0$*'&',0))"#((('%&.4&2'%,$"$'"$%%#)+"'$1037'8&+*(%#"0)-2?540$.&#$'&$*"+0$#(&)4/",,(*"$#'$&"(#&8737)$,)&%#.74)0+&$%,)-$%$"#$%#()*+;%"#"#(&('./5$-(-"-&.+#$3)'&$"%"&$+%+.%$%$&%)0-33.)1/5-.'%#**#%"""**&),CCF87:>=0)%&$+,.40-?):0)61,%6D56)3%()(%'#,):++1,7&"#%'+,')%"">$)#7';1I,-"2.=>9F/2?D/7($6:3*,893/,0*(($+.),8)//<9<D*'$&*$'#&%)"(#&*%)$('(%&0/5.->7$0#,$%($&*).++&1387>>290.,:12#&&)2(+/$-,11+)(&#)""#%#%757?;A=1)'-12("$"$%)3A28/%#*$*-64#*#"&,122('+'()28>MN-#."1&'C(.;5,0B@52/4$&""$)*1?&"$$&&$-%%'*+'(*/0(&'-&('-1(/%('&%%"*&./(&*-+-.@/$$##$&*..1%#&*65245+%'3356.2**')+.01./)$015-/-&'%#"#&+(&$-"$"9123;1-.)((%(2/+%6)%'%($,2)$(##/.9F6%$+)&#&""#%""""+&""(%"#"#""$%%1%(%60++)01(%$((#""""#)"'$?--0':4-<?"+"""',$&#$3//" +@2dd21811-c9af-4c4a-aaa0-4fd1f605abf8_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12153_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12153_ch_399_strand.fast5 +CAAGTAATGTAATTGGATGTCCAACATGGTGGCGGTAGATGACGAGATAATTCCTAAAATTAAACGTGATGATGATAAAATTGCTAAGTAAACATTCTGGCTGTCAAATAGTAATAACGATGCATTTTAAGATTTAATGCTGACGCTGTATTATGCATAACATCGGCATCGGCATATGCATAGCGAGAATATTTGATGGAGTCGATAACCGTGAGATGGCATCTTTGTCTCTTCTGGCGCTGAGAGAATCAGAAGCCTCTCATCCAATAAACCATCATTTCAATGATAAATTTTAAGTAAGCGATAGTATTTAATTTGCTGGTGAAGATTATTATGTCGCGTAACTAACGATAATATCAATGGCGGCGGCGCTGGTACGGTAATTTTGTCATTATCTCTCATGATGCCGAGCTTCAATGACATCGTCTCTCGGTAACTTTTCGTATATCGCTATTTTATTGTATTTATTTTGCTTTTTGGCGCCGCGCCGTGTTTAATGAGTGGTATTAGCA ++ +"&#$%.*,$/+-*,%$"$"<7783348)/#%."'$"$("'((#$#.*.&')#+((,*-%+%<65<,:'-4--(##&#/(-,6,1)''"*(8.+'2-*(/""'(*%$$'/(,,510*+-,+2)(2<>4**"&".*+.36(*"$$3)*."**6-3022--+''%'8.**''"""").,/#'%%((,.*+0)'$*3,))-,'%"/'"%*'"%"%),,:0C2))(4%*/*#9/01'.#(%,'&'&)&('',)&%'%)+"&&(,45.2:$+".&-'""$(6.37*&(#%*:92##*.2)25+3(%%')+,''*%/6=073C:')$).,')#(%:,((#(%"'"#%+"-&""#"$&#')*#0#+$&%4=*)&%(%#'.,'++?@D2NSL15?@CHM1EFFDB@%,-+.+&#(&+)+)'(*0223140#-)0%-(+0%(*('(&(%"&*1-+'""''.*)"$7)&*26=7/6?6+"$,07-&/&($(4*0&'*+2)9L8+""%##-#&%).++#%# +@28daae22-d0dc-4fee-8453-3a2178b331c8_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12175_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12175_ch_399_strand.fast5 +TCGTATGCTAGATCGTCGCATATCAGCGAATCCTGAGCGTAGCGTGAGTAGAGGCGAGGCCGGTAATGAGAGAGAATGAGTAGCCTGGCAGTCGAGCGTAGCGTCTCCTATCGTCATCGAGGCCTCCAGAAGCCGAAATCGCGCGAAGCTCGGTATTTTAGAAGAAACGCGAATGTGAAGCTCTCGTGAGTATTCGAGGCAAGGCCAATCTGTCGCTCTATTCAAAGAAATCCCTGAAATTGTGTTGCGTCGCCGTGGTTGTCGGCGAGGGAGCCTGCGTATGAGCCGTGGCAAAAATAGCCTAAATGAAATGAAGGCTGAAACGGCATGTTGAGGCGGTAAAGGCTATGCGAAGCTGAAATGAGCATTCATCAGGCGAAAGTAGCGCTCGTTACGCTCGACTAATTTGGCGCTTGCTGGTATGATATATGCGTAGGGTAAGGCGTGACGCGTGAAAACTGTGGCTATTATGTGCCGCTCAATGAAGCCGAGTAGCACGGCATCGTCACGAGCGAATGGCATTGCAGCCCGCTAATCGAGCATGAAACGAAATGGCCCGATAGCAAGGCGCGTAGGCGAAATGGCCTGAATCGATGGTGACGGCGAAGCCATGAAATGCGCGTAGAGCTGGGCGGAAATGCGCGGCCAATGAGAGCAGTGAGCTCGCCTAAAGCTCGATGCTGAATCTGAAACGTCTCAATAATGCGGCTCGCCCGAAAGCAATAATTGCCGAAATGGCAGCATTCGAAATGTCTCTCAAATGTGCGGCGGCATCGTGAATAATAAGCAATATCTGAATTATGATAAAATGCTAAAATGCGTATCAAATAAACAAATAGGTACAAGGCGCTGAAGAGTAACTCGAATCTATGAAGTATCGGCGAAGCGTAACAATGAGTATTGACGATATTCATTGTCGGCATAGGCTGGAAATGAAATACTCTTTGCTCGCATAAATGACTGG ++ +"'#*&'"#'%)&+)321/517.52"$"%$"&','('/00(##"#$)))*+)&+3<3+33.*-40&&'(&)#&%&(&##$&)#%(&&$,:'**&%.)/.4*&&,80310.<=2$+1()+2"1"+"%*#+'9,*."$+''-+0,26*(*&-5','$#,$#"#"7,(,1)..7032,%&('(&00.*-'<)-#+&%%$$)3*596:>?983<@,(../8-.0,<?2-1+(#%&"+,'&$&+#4(&+$9*'%&$*+9+*.,$$"#$/5;<:-.8+&%/,.-1*$%(-(),)#'"%#%*)*%$%#(""+<9=4/,.,0,'7&/"&0B%/(1.0H66+-+45.7+)<D*+***+$#$')**)2'143)-%(29C;<80$")'((-,-#+)&1.@91*(&"$'-@@8.1.((-/()&($'&$&%"'%''"%'5./02-434#48+,..*<7/7/,<5)50,)4;.-(+%/&))")*(.23,"%"&*(/*&$''$'$#)"')-''(-*5/'%#'#"%*,B@52/49K<#+%""%)1LB56.4?>./(*(9>532*'*05'&$)'<0+"-(""''$(%$""**'+..++44-*.&%*76:71$.&$5161:(&(0,*4?4><69$,%$/,**-)';94:./0:4570/-)))-$(#4,.-0-(34)@@3-:,*,"(#%0B;$<;5,)/05$)*%("""+'"()%"&*,1(/923.,&&''#7-('.A3,+.+-.091()%%(/)('#%'-5%,)(&4:+(%/174.+$'$%"+%-(208PGENL72,(6,+%(((+)=1/*.."&#')'%)"(&-79,I#%",0K>.58.H223"+$(E2)(34(%$*.-+#(&-&#%("1,0%$$(%'+)++&$*%('"#,&"#$*')$$('($""#&('.545&((1')+%)%'+'2'"+2/-/6>-,&#()2).,$/**'#6,$#"*,-,&4*-/4.3&).=?;0,-*"" +@15bdfe23-0646-4c89-b523-185bc14c3a2a_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12081_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12081_ch_399_strand.fast5 +CATTGTAACTTGCATTCAAATTGCATGTCAGCCTAGGAAAATGCAGCCATCTAGTAGAGTAGAGTGTGTATTCAGGTAAATATATGGCTAAAAGCTAGGCCTAGTTAGCAGGAACTCATAGATGTATTATTTCAAATATACTACTGATCTCTTTGATCACAACAAACTCTTTAATCATTTGTTTCTGAAGCTTATAGACTCAGAACATTTATAAGCCGTACAAATTTTCTAAATTTGAGTAGAAATTATAAAATGCTGGTGGCTTTCTTAATAAGGCCGAGATGTAACCAAAGGACTCTAGAACTCGAGCTGTTACATAAACATTTGAAATTTTGGCTGGGAGACCGTACGGCATCATCATTGTAATGCCTCAGGAAATTGTAGGTACGTGCTTCTAGCCTACAAATGAAACCACTATGATGGCATCAGCCTTCCGCAGTGATCGAAATCACTTCAGAATTTCTTGATAATGTATGGTTTGAAGGCCTCGCGCCTGCCAGGCATCAGCTCGGCGTCCTCGGCCTCGTACCATAGGCTCAAATCGGCAAGAAGAATAAGAGGTAATGTCCTTCAGTACTCATCAAATTCTCTCCTGGGGAATGCAGCCTGCTTCTTCAAGCGCGATGGCCCTGATATACATTTGAAATAACTGCTCACCATGCTCGAGGCTTTCAGATAAAGCGCAGGCAAAAGCCTCGAAATGGTATCAAATTATATGTAAATCGTCGCAGGCACTTCTGCTGAAACGCGTATGCAGAGGCTCATCTCATTTTGCCTCACTGCTCTAGGGGTGCTCAATATGGCGGCATCAGCAGCTTATGGCCAACAAAATAACTCTGCAGGTGGGCCAGGCATGAAACAGTGGCGTGGCGCGCGGTGCATCGCGGGGAGAGTGTCAGGCTGGTATCATGGCGAGGCTGATCAATAATCGGGGCATCGCAGGTAACTGGCATGTTTTTGAAGTCAAATGGCGGTGGTACTGATGCGCCGGAAATAAAGGAAGAACTACTCGAAGCTAAGTAGAAGTATAAAATTGGCGGGGGCCATGCGGTATCAAGGCTCTCATATAAAATGCCATATAAGTGTTTCTCGGCTCGCATAGAGGTGTGCATATCAGCGGCGAAAAGTAAACACCTTCTGGAATCTCCTCATGTCTGTGCCACAAACCATACCGACAGGCGTCATCTGTGAAATCGACATCAATGCGCAAAAAGTACTTCGATACTAATCCGGTAGCTTCAGTACCTAAATCAGAGTAACTCCAGCAAATATCCCC ++ +""*&%1--)/.399DJ6-$"8#"#"''#%#$'+')/*00-,&"#""$#"#""+","&$#"$'%./*7+4110+')""#$$8.-')"%%63;@6"%")%#&$($&-+"#"#('%$#%%1))$)'#%(&'(:D+&-0&)()17-,$+,5445,17283,/"%/A((,("%%0/"2,.-((60'6JO8-*%$$+<B87(%(-43--..7)&)$"+)'(:1(4()'0*,11.((*-(7:))(*+&%2<';*/*455(+&""%&")*%12/"'+.%$,:0/A('"()*"*,&("/;0+,%##,,02,0,,6*001%%%&$'&+&+41(3?6(),)+"""&%##2)%##"%"'$""&$'")*8::/8.#*($)$$&(*&(($$#)""$"*&"#($*#%#&(%($)*)**12//(//./,(+&"$),-&'+).+(22+076'%*%$$%,-%%+36+)#&'%"%&()15)%$#$""&*%"$""6"<"&&'&.&.&##$%"*%"""""))%$$"#-/++%"#"#(+*(#"&&$&"#"%"""%'%$&%0<70#%&&),)*'$'*+%('$)('1--/"%&'%$"$$"*&/(-'&(*+++&0+0*',)&%-),&"$"(%%'(%%"&)&)%(%#')(/+,(%%%#"&#'#++3;/686&'"'&(&()'"$%$%"%&$&#-,&%.)""%#-&*''("""('%%+*&"((.(")-.""""$#%,.)C>4/('$"""""><E?,-(,&(&)+""""#&"%&%#/B?=77'"&'#)$''-+/')%&05.(".4%&"$'(1(%&$#'%(*-11:)90145-&*%'%3**,1&%(()+(""%&)('&:0080%**+./1%/%..2(1(),,*%'3387/#(&-)%&%)&+"""""%$$"#'$&&*9B9&)%&#"(#$)+&"'(&((&#'#&"'%*)#"'"""&02:C?@6CG+)&+2-6')&"'"(."&%.12HMF?0,0+)15+-$)#++9-+%##"""#%==@7<-*($$$06=*,(+046220+%'(%+($''+*'*+&--*.-%)5;(00;72,6++%"""""%&$&"##(%"&)0.)&"#$&')*(,''(%*"$"-)32:WJ@?F74BMK6>"""#","%#&&+%(#%%$"--.6/2D;('2%*$#"&$*#'&*)$%.14:&*5&+%)$%"-$(+$&,/,0>"#"5-/('#*(($&%"%(%#$$&*)('%"%#3-+#""$%+)7;:4(/&'1<4,)#$%&;?=B71##"##&4&%%)'()"""""#%''+'()+)3+3"3*.'"&+<5(" +@310f7b48-a3e0-4cdc-b396-09f4b86081dd_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12113_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12113_ch_399_strand.fast5 +TCTTTCATTTGTGGCAGGTGGAGCGTATTCGAATCTCGAAACTGGCGCGGTGATGAAACTTGAGGTATTTTATCGCTAAATAATTTGGCCGAGGTTACTCGCTCAACTCTGCTTCGGCTGATAATTGAAACAATAAAGCGTCATCTGTTGACTGATGCTCTGTGTTGCTGTCGTGGCAGCGATCATTGTTCTTAGAGCTTTAGCGACAAGTGTTATAAACAAGAACAACGGAGGTAGGAATGCTCGTATGGCGGCGAAGTGTATGAATTTCATGAGAGGGCTCGACTATTGATGCAATAAAATTGCATTCGAGTCTCGTCAGGGGCTTTTGATAGCCCTGACGTCTCGTCGGTATATGAGAGAAATGGCGATGAAATTTCTCGCGATTCAACCATAACTATAAAGTACAATGGCCATCAGGTTTCGGCGTCAGTCGCTGAAAGTAAAACACCGACCATATGATATTTGTAAATGCGTTATTAACAATTCGTGCAATGCCGAGGCGCAAGCACCTGTTGGTATGGCGCATCAGGCAATCATCGATATTCTTCAATAGTCATATCGGTCGATATGGTGGCAGGCAGGCAATAGTCGTACCGAGTGGCACTCCATCGTTAACTACTCTCGAAATCGCTCATATCATTTTACGCGTCTTCTTCGTGTCCGGGCCGAAATTAGCCTGCTCTTGCATAAGAACCTGATGCGGCGCGGCCATCGAGGTCTCCGATGCTGCCGTCGTGCATGCTTGAAAACTTGTCTACTCGAAAGCTCGACGCGTGTCAAAGCTAAAATTATGTTTTTTATTGGCATATTTATCGCTT ++ +$"%%##",/')/#,)'/-70/$#"'4--+""*'%&&""1+%)'7*-/,*%#(#)".,($""&&)+,)-:.%%)'"%'-=0.)$/)"%""#+/))*,#&&#""%%#%*::0,..,(-*."("(+#("(#02,72)6B8,=9A,$+4545&&&%$%&/""(*6+5.2.#"&"/#&((1$"""$")2"&""%(#&#'%0#()1($%('#$(*"*"/)"""##$+/#''$%$"%/)-,$%*)(%&''**&/$'&4,6&"#'+)2--%"%'$@E--&$%#(%/26AB++%&)'4+,2D18/,1H96)>+$'+7@"#(+*-04075$:B:%"-*/'))'*#"(#"#$%"*+0/*-.,5+*+"%%)))*)*+&(0.6"**-/'*/&&-<37,&+'#+.+"$"$%$&$&+2.''%"&$%$"*)"+""+#-8'#%"%(3)$#('%()&850&,$51-'+6C::#)0101/04,0B;%()'#+*#%.'%++03161*-("0""#'*"&%*#7A&538/%&#%'2)6;-/,('+"$&46;8$+)%&#,0$'),%""/+%.+()"%&5<?>KLMKACC;4#(*,%.+(%"&*)($)&"")313:"$%"%##&*-610%()*+&-.,202""""/531'#09/--),6?9><8.*-57/%)*,-*)*:=NPA7?64F%61$5'%-6-0+'"'&*&*+-34$*'($)#--05%%+0)-2+0&,/69G35G+,'(#*./"#$$"((",&""%%##%'B2(%"(21,$+2*89D;B=1.&5/,'),)%",/334581693#-09PF'8//6DJJYWZ>%(,-.10)%25$%)%"%## +@921ea44a-1215-4f98-9f38-bf36b1bdf69c_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12085_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12085_ch_399_strand.fast5 +TCTTTCGGTAGCAAATTAAATCCAACGGTAACCGGCTTCATTCTGAAATGAAATTAAATAGAAGCGAAATAACCCTGAGGCAGTATGGTGTGACGTGGCATTCGCATTAGCCCTAAGTGCGTAATGAAGATGGTAGTGCGTCAGCAAGGCCCGGGGAGATAAATAATCCTCGATACATGGCCTTGGCTGAAAGATAGAAATTTAGAATTCATTGACCAAGTAACTCGAGCAATAGAGGCATTTCCCTCGTCGGCCTGAAGCCTCGGTGTGGAAATGGCATATAGTATTAATGCAGTAACTAATGAAATTGCCAAATGGGCATATAAGCATTGCGATGAGGGCCGTATTTGCATTGGGCTGAGGTGCGTGTGTCCTTATGGGCGAGGTAGGCTCGTCATGCCTCCGGTGAGGGGTGAGGTAGAAATATTACCGTAGAAGTGCTGAAAGCTAACCAATGAAATGGGTAAAACCATCGGAAGCGCCTAGCGATGGGCTATACAATTTCATTCGACAATCCAGCTATAAATGATGAGGCATCAGGGCGCATTCTAGAGAGGCGTGACAGCATTGATAGCATTTCGATGCAAACCATCTTCTGCGTAATGACACTGACACTATTCAGTGACAGCTCATC ++ +#"')*%"%%&"&()+-@58+2&&+#(&#,)$.1).((&$#+*(#&28/1..&(%%HBRC:,46')).A@11#.1+$%,:(P%+/6-%"-%"$"*'$##"%*@)"%$)"&")/.(4>)88=G-90,&,(%#)$*++$)&/$&$&%$*'/*>4)8=:*$&'-$'("*)""#)+,)+%*&-*,*#4(.""7""/1%,2,,6,-86)#)*+084(-1*%#$'((5+(578$&>?A?:,'&*/,*30&(0-5<CJ<'#%#%#+$%0'&$$+.,.%$+'&0(/1:=JD7(0&(,6',$&#$%%$$**A265,)7*%'%)+'C=<(%#*'006((%*'&*,,,&")/,$%(-'=A-#&$4'((""$)"(&$"&&).)&$3(4*&((,+&'&.,5)/7=;@00(#0"9D@;2*2@8+663)$(%+)&('./.**2'#-*(81)*&&#"')+.3-#%##"(,1.*(.5.0%,&"*.486=9A,)0,$,,%',-+$$'#'((%$)(%%#(1/;.++79/''""#'2%)"%/116A?/'&.,$4,')+(&.0-&,?-<*'""$#)%'"""#(((*'*#.&(-,'%%"'*)$%"#"")--7."'%,,"""""&).**%%%""%"%"$%"+%%*$##"$"5-$#"## +@aabaf035-7aa8-439b-8773-523c69a350ca_Basecall_1D_template:1D_001:template macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12103_ch_399_strand in_dir/out_dir/workspace/macs_MacBook_local_20170809_FAH11850_MN21227_sequencing_run_AIV_run_1_84332_read_12103_ch_399_strand.fast5 +TTTTTTTTTTTTTTTTGCACTCATTTGGCCGCTAATTCGTCCGTATTGATCTAGTGACGCAGTGAGTAAGCAGGTATTTTCATCATCAAATAGTGAGCGAGGATTATATCTCGGCTCTGCTCGATGGTGGCGAGCAGGCATCGCTGACTGAAACATACCATGTGCCGATACCGCGTGAAACTGGCCGTGGCGCTTCGCTTTGTAGAACTTGCATTGAGGTATTTACCAAGACACCGTTTGCGGAGGTGATTGCTCGCACTCAGGTGCAGCCTATGCAGAAACGTGTAATTTAAGAGCTCATTAATGATATCATTAAAATTCGCGAGTGCTCGTCGAGGGGCTGATGCATTTCGACTCTCTGTGACATGTCTCAAGTGGCCGTGAAGTATCGCAGTAATATATGAAATATAATTAATGTCAGAGATTTCTGGCCGTCGAAATGCGCTAAAGTAAACAATATGATGTTAGCCGATAAAATTATTATAGTGCATTATTCTGATACTTGAAGCCTCGCTGATATTGAGGAAGTATGAAATATTATCGATATTCGACGTCATATCGATTAAATATGTCGAGAGCGAAATAGTCGTACAAGTATATCAAGGGCAACTTGCCGAATAAATGCTCGCTCTTATTTTTAAAAAAATTCGGCTGTTTCGTGGCCGGTGGTAGCACTCTTACTCTGGTAGCGGCCCATCAATCGGGCATCACTTTAAATTATCAGTCTGCCGATAATTGGCGGGCATGCGAAAACGTCTACTCGAAACCCGGCGACAGTGAATCGTAGCCTTTGTCGCACCAGCTTTTGCGACTCATAAGTATTC ++ +"$&')-/12348899&"#"&&.39PA:D66))-&>6O?;:79*0$)%"$33"&%)*.10)((')()'+6#*#0./)8A33*&)/+')/BJ>F$8))+1*,(&&28)/"$$)(0.1-0&"#&%))+()D-*#(#""#$(*%*&"#"#"#"&-+%"')'4)"$*+'+.#"#"%#"$&$"/3(.)&'%&&(%'&%(&*-"#.,&"3$,)1)-$"%#'"#"%%1,2B0$'&,+.#""($"$/$""&($,)#%$+'"$#""#"%$'),((#%*#)&&(+"*%%%#"#-)"'))').((($&(#&%*&1.743@A?>"@%.4917=,(&%-%.#.)+&&"'+'56D@?@980+*,.),.+#(+3.30.*$#,*'&#&"''"%)/+*./(('$-(*%$($')0)##$#$".-()"%'',"&#""%%$0$+(:A62%#%)&%,."#+)#$/(//:J>&6.(&#)*+(""",%3+(#((&$,.1.)0(+1""""%-+15=>,:0&""/;-'#"&*('&*'("#&""(#68%%*++-&&%$(-6F4)7-(,0*$+"+'$$$($*"%))3+0#3$347*0&"%$"#.0,++"##"&1:61-,.:*$)(+'(%'%03*3$"$'$"''&#'+-9-'%%'1'*+,62.CDIJ@583671)+&),2,($078/.-%"#$++&&$$#)(#(*+<8,/-)&'),%,)/$40%%%%.58'*31,&73"*%'&#&,0675.''1%%#$"",*(&>(+""+,02/2+-'.?@.2-+**+%%&-*7=,DB*"'$'B-)3''(**%$#)-%4;-(46&+#4,*-+'(*,-,.,B(("'(2"+'5-#