Previous changeset 0:629a0066003d (2020-09-28) Next changeset 2:ceda4714f3a1 (2021-01-22) |
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/delly commit 3da28c7772346e1872b6d768b904305be0c61db7" |
modified:
lr.xml macros.xml |
added:
test-data/map.fasta |
b |
diff -r 629a0066003d -r d5124d5c8131 lr.xml --- a/lr.xml Mon Sep 28 07:45:41 2020 +0000 +++ b/lr.xml Thu Oct 29 20:51:54 2020 +0000 |
[ |
@@ -1,5 +1,5 @@ <?xml version="1.0"?> -<tool id="delly_lr" name="Delly long-read (lr)" version="@TOOL_VERSION@+galaxy0" profile="18.01"> +<tool id="delly_lr" name="Delly long-read (lr)" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="18.01"> <description>optimized calling and genotyping of structural variants</description> <macros> <import>macros.xml</import> @@ -8,10 +8,7 @@ <expand macro="version_command"/> <command detect_errors="exit_code"><![CDATA[ ## initialize -#for $i, $current in enumerate($samples) - ln -s '${current}' 'sample_${i}.bam' && - ln -s '${current.metadata.bam_index}' 'sample_${i}.bam.bai' && -#end for +@BAM@ ## run delly lr @@ -26,6 +23,7 @@ ## discovery options --mapqual $discovery.mapqual --minclip $discovery.minclip +--min-clique-size $discovery.mincliquesize --minrefsep $discovery.minrefsep --maxreadsep $discovery.maxreadsep ## genotyping options @@ -42,15 +40,9 @@ #end for ## postprocessing -#if 'log' in $oo.out - |& tee 'log.txt' -#end if -#if 'vcf' in $oo.out - && test -f 'result.bcf' && bcftools view 'result.bcf' > 'result.vcf' || echo 'No results.' -#end if -#if 'dump' in $oo.out - && test -f 'dump.tsv.gz' && bgzip -d 'dump.tsv.gz' || echo 'No dump file.' -#end if +@LOG@ +@VCF@ +@DUMP@ ]]></command> <inputs> <expand macro="samples"/> @@ -66,8 +58,9 @@ <section name="discovery" title="Discovery options" expanded="true"> <param argument="--mapqual" type="integer" value="1" label="Set minimum mapping quality"/> <expand macro="minclip"/> - <expand macro="minrefsep"/> - <expand macro="maxreadsep"/> + <expand macro="mincliquesize"/> + <expand macro="minrefsep" defaut="30"/> + <expand macro="maxreadsep" defaut="75"/> </section> <section name="genotyping" title="Genotyping options" expanded="true"> <expand macro="vcffile"/> @@ -181,6 +174,7 @@ <param name="qualtra" value="19"/> <param name="madcutoff" value="8"/> <param name="minclip" value="24"/> + <param name="mincliquesize" value="1"/> <param name="minrefsep" value="24"/> <param name="maxreadsep" value="39"/> </section> @@ -285,15 +279,15 @@ @WID@ -Delly *lr* uses the long-read SV discovery mode. +Delly *long-read (lr)* uses the long-read SV discovery mode. **Input** -Delly *lr* needs a sorted, indexed and duplicate marked BAM file for every input sample. An indexed reference genome is required to identify split-reads. Additionally a VCF/BCF file for genotyping can be applied. +Delly *long-read (lr)* needs a sorted, indexed and duplicate marked BAM file for every input sample. An indexed reference genome is required to identify split-reads. Additionally a VCF/BCF file for genotyping can be applied. **Output** -The output is available in BCF and VCF format. Additionally a output file for SV-reads is provided. +The output is available in BCF and VCF format. Additionally an output file for SV-reads is provided. .. class:: infomark |
b |
diff -r 629a0066003d -r d5124d5c8131 macros.xml --- a/macros.xml Mon Sep 28 07:45:41 2020 +0000 +++ b/macros.xml Thu Oct 29 20:51:54 2020 +0000 |
[ |
@@ -1,7 +1,7 @@ <?xml version="1.0"?> <macros> - <token name="@TOOL_VERSION@">0.8.3</token> - <token name="@DESCRIPTION@"></token> + <token name="@TOOL_VERSION@">0.8.5</token> + <token name="@VERSION_SUFFIX@">0</token> <xml name="requirements"> <requirements> <requirement type="package" version="@TOOL_VERSION@">delly</requirement> @@ -18,6 +18,32 @@ </xml> <!-- + command + --> + + <token name="@BAM@"><![CDATA[ +#for $i, $current in enumerate($samples) + ln -s '${current}' 'sample_${i}.bam' && + ln -s '${current.metadata.bam_index}' 'sample_${i}.bam.bai' && +#end for + ]]></token> + <token name="@DUMP@"><![CDATA[ +#if 'dump' in $oo.out + && test -f 'dump.tsv.gz' && bgzip -d 'dump.tsv.gz' || echo 'No dump file.' +#end if + ]]></token> + <token name="@LOG@"><![CDATA[ +#if 'log' in $oo.out + |& tee '$out_log' +#end if + ]]></token> + <token name="@VCF@"><![CDATA[ +#if 'vcf' in $oo.out + && test -f 'result.bcf' && bcftools view 'result.bcf' > 'result.vcf' || echo 'No results.' +#end if + ]]></token> + + <!-- input --> @@ -33,11 +59,20 @@ <xml name="minclip"> <param argument="--minclip" type="integer" value="25" label="Set minimum clipping length"/> </xml> - <xml name="maxreadsep"> - <param argument="--maxreadsep" type="integer" value="40" label="Set maximum read separation"/> + <xml name="maxreadsep" token_default="40"> + <param argument="--maxreadsep" type="integer" value="@DEFAULT@" label="Set maximum read separation"/> + </xml> + <xml name="maxsize" token_default="1000000"> + <param argument="--maxsize" type="integer" value="@DEFAULT@" label="Set maximum SV size"/> </xml> - <xml name="minrefsep"> - <param argument="--minrefsep" type="integer" value="25" label="Set minimum reference separation"/> + <xml name="mincliquesize"> + <param name="mincliquesize" type="integer" value="2" label="Set minimum min. PE/SR clique size" help="(--min-clique-size)"/> + </xml> + <xml name="minrefsep" token_default="25"> + <param argument="--minrefsep" type="integer" value="@DEFAULT@" label="Set minimum reference separation"/> + </xml> + <xml name="minsize"> + <param argument="--minsize" type="integer" value="0" label="Set minimum SV size"/> </xml> <xml name="samples" token_format="bam" token_multiple="true" token_label="Select sample file(s)"> <param name="samples" type="data" format="@FORMAT@" multiple="@MULTIPLE@" label="@LABEL@"/> @@ -76,7 +111,7 @@ </data> </xml> <xml name="log"> - <data name="out_log" format="txt" from_work_dir="log.txt" label="${tool.name} on ${on_string}: Log"> + <data name="out_log" format="txt" label="${tool.name} on ${on_string}: Log"> <filter>'log' in oo['out']</filter> </data> </xml> @@ -89,6 +124,6 @@ Delly is an integrated structural variant (SV) prediction method that can discover, genotype and visualize deletions, tandem duplications, inversions and translocations at single-nucleotide resolution in short-read massively parallel sequencing data. It uses paired-ends, split-reads and read-depth to sensitively and accurately delineate genomic rearrangements throughout the genome. ]]></token> <token name="@REFERENCES@"><![CDATA[ -More information are available on `github <https://github.com/dellytools/delly>`_. +More information are available on `GitHub <https://github.com/dellytools/delly>`_. ]]></token> </macros> \ No newline at end of file |
b |
diff -r 629a0066003d -r d5124d5c8131 test-data/map.fasta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/map.fasta Thu Oct 29 20:51:54 2020 +0000 |
b |
b'@@ -0,0 +1,2 @@\n+>chrM\n+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'..b'NANANNNNNNNANNNNNNNNNNNNNNNNNNNNANNANNNNNNNNANNNANNNNNNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANANNNANNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNANNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNANNNANNANNNANNNNNNNNNNNNNNNNNNNANANNNNNNNNNNNNNNNNANNAANNNNNNNNNNNNNANNNNNANNNNNNNAAANNNNNNNNNNNNNNNNAANANNNNNNANNNNANANNAANNNANNNNNNNNANANNNNNNNNNCCNNNNNNNNNNCCCNNCCCCNCNCCNNNCCNCNNCCCCCNNCCCCCNCNCNCNNCCCCCCANAANANAANANAAAAAAAAAAAAAAAAAAAAAANANNNANANNNNNANNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNANNANNNANNNNNNNANNNANANNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNANNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNNNANNANNAANNNANNANNANANNNNANNNNNNANNNNNNNNNNNNNANNAANANANNNNNNNNANAANNANNNNNNNNANNNNNNNANNNANANANNANNANNANNANNANNNNNNANANNNNNNANNNNNNNNNNAANNNNNNNNNNNNNANNNNNNANNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNANNNANNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNANNNANNNNNAANNAANNNNNNNNNANNNANNNNNANNNANANNNNANNNNNNANANNNANANANNNNNNNNNANANNNNNNNANNNNNNCNNNNCNNNNNCNNNNNNNNANNNNNNNNNNANNNNNNNNNANNANNNNANNNNNNNNNNNNANANNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNAANNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNANNNNANNNANNNANNAAANNANAAANNAANANNNNAAANNANANNANNANNAANANNNNNNNNNNNANNNNNNANNNAANNNNNANNNNNANNANAANAAANAAAANNNAANNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNANNANNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNANNANNAANANNANNNANNNAANNNNNNNANANNNNNNNNNNNNANNNANNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNNNNNNANNNNANNNANANNNNNNNNNNNAANNNNNNNANNNNNNNANAANANNNNNNNANNNNNNANANNAAAAANAANNNANANNNANNNAANNNANNNNNNNNNANNAANAANNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNANNNANNNNANNNNNNNNNNNNNNNNANNANNAANNNNNNNANNNANNNNANNNNNNAANNNNANNANNANNNANNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNANNNNNNNNANNNNNNNNNANNNNNNNNNNNNNANNNNNNANNNNNANNNNNNNNANNNNNNNNNNANNNNNNANNNNNNNANNNNNAAAAAANNANAANNNNAANNNNNANNNNNNNANNNNNNANAAANANAANNNNNANNNNANNNNNNNNNANNNANNNNNANANNNNNNNNNNNNANNNNNNNNNNNNANNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNANNNNANANNNNNNNNANNNNNNNNNNANNNNNNNNANNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNCNNNNNNNNNCNNNCNNNNCNNNNCNNNNNNNNCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNCNNNANANNNNNNNNNNANNNNNNNNANNNNNANNNNNNAANANNNNANANNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNAANANNNANANAAANNNNNNANNAAANNNAAANAAAANANNNNANNNNNNANNANANNNNNNNAANNNNNANNNANNANNNANNNNNANNNANAAAANNNNNNANNNANNNANANNNNANNNANNNANNNNNNNANAANANNNNNNAAANAANNNNNANNAANANNNANNANANNANNNNNANNANNANNNNANNNNANNANNNNANNNNNNANANANANANNNNNANNANNNNNANANNANNNANANANNNNNNAANNANNAANANNANANNANANNNANNNNNNANANNNAANANNNANNNNNNANNNNNNANNANNANNNANNNNANNNNANNNANNCNNNANNANNNANNANAANNNNNAANNANNNNNNNNNAAANANANNNNANNANANNNANANANAANNANNANNNNANNANANNNANNANNNNANNANNNNNANNNNNANNNNNNNNNANNNNNNANANNANNNNNNNNNNNNNNNNNNNNNNNANNNNANNNNNNNANNNNNNNNNNNNAANNANNNNANNNNNNNNANNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNANNNNNANANNANNNNNNNNAANNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNANAANNANNANNNNNANNAANANNNNNANNANNANNNANANAANNNNNANNNNNAANNNNANNNNANNAANNANNANNNANNNANNNNANNANNNANNNNNAANNANANNNNANNAANNNNANNNNANNANNNNNNANNNANNANNNANANNNANNNNNNNNNNNNANNNNNNNNNNNNANNANNNNNNNN\n' |