Previous changeset 0:36772204dee5 (2020-09-28) Next changeset 2:9946bd542898 (2021-01-22) |
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/delly commit 3da28c7772346e1872b6d768b904305be0c61db7" |
modified:
call.xml macros.xml |
added:
test-data/map.fasta |
b |
diff -r 36772204dee5 -r 53d90d86fc83 call.xml --- a/call.xml Mon Sep 28 07:45:21 2020 +0000 +++ b/call.xml Thu Oct 29 20:50:39 2020 +0000 |
[ |
@@ -1,5 +1,5 @@ <?xml version="1.0"?> -<tool id="delly_call" name="Delly call" version="@TOOL_VERSION@+galaxy0" profile="18.01"> +<tool id="delly_call" name="Delly call" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="18.01"> <description>and genotype 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 call @@ -27,6 +24,7 @@ --qual-tra $discovery.qualtra --mad-cutoff $discovery.madcutoff --minclip $discovery.minclip +--min-clique-size $discovery.mincliquesize --minrefsep $discovery.minrefsep --maxreadsep $discovery.maxreadsep ## genotyping options @@ -43,15 +41,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"/> @@ -65,6 +57,7 @@ <param name="qualtra" type="integer" value="20" label="Set minimum PE quality for translocation" help="(--qual-tra)"/> <param name="madcutoff" type="integer" value="9" label="Set insert size cutoff" help="median+s*MAD, deletions only (--mad-cutoff)"/> <expand macro="minclip"/> + <expand macro="mincliquesize"/> <expand macro="minrefsep"/> <expand macro="maxreadsep"/> </section> @@ -179,6 +172,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> @@ -279,7 +273,7 @@ **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 36772204dee5 -r 53d90d86fc83 macros.xml --- a/macros.xml Mon Sep 28 07:45:21 2020 +0000 +++ b/macros.xml Thu Oct 29 20:50:39 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 36772204dee5 -r 53d90d86fc83 test-data/map.fasta --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/map.fasta Thu Oct 29 20:50:39 2020 +0000 |
b |
b'@@ -0,0 +1,2 @@\n+>chrM\n+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'..b'NANANNNNNNNANNNNNNNNNNNNNNNNNNNNANNANNNNNNNNANNNANNNNNNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANANNNANNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNANNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNANNNANNANNNANNNNNNNNNNNNNNNNNNNANANNNNNNNNNNNNNNNNANNAANNNNNNNNNNNNNANNNNNANNNNNNNAAANNNNNNNNNNNNNNNNAANANNNNNNANNNNANANNAANNNANNNNNNNNANANNNNNNNNNCCNNNNNNNNNNCCCNNCCCCNCNCCNNNCCNCNNCCCCCNNCCCCCNCNCNCNNCCCCCCANAANANAANANAAAAAAAAAAAAAAAAAAAAAANANNNANANNNNNANNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNANNANNNANNNNNNNANNNANANNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNANNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNNNANNANNAANNNANNANNANANNNNANNNNNNANNNNNNNNNNNNNANNAANANANNNNNNNNANAANNANNNNNNNNANNNNNNNANNNANANANNANNANNANNANNANNNNNNANANNNNNNANNNNNNNNNNAANNNNNNNNNNNNNANNNNNNANNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNANNNANNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNANNNANNNNNAANNAANNNNNNNNNANNNANNNNNANNNANANNNNANNNNNNANANNNANANANNNNNNNNNANANNNNNNNANNNNNNCNNNNCNNNNNCNNNNNNNNANNNNNNNNNNANNNNNNNNNANNANNNNANNNNNNNNNNNNANANNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNAANNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNANNNNANNNANNNANNAAANNANAAANNAANANNNNAAANNANANNANNANNAANANNNNNNNNNNNANNNNNNANNNAANNNNNANNNNNANNANAANAAANAAAANNNAANNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNANNANNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNANNANNAANANNANNNANNNAANNNNNNNANANNNNNNNNNNNNANNNANNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNNNNNNANNNNANNNANANNNNNNNNNNNAANNNNNNNANNNNNNNANAANANNNNNNNANNNNNNANANNAAAAANAANNNANANNNANNNAANNNANNNNNNNNNANNAANAANNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNANNNANNNNANNNNNNNNNNNNNNNNANNANNAANNNNNNNANNNANNNNANNNNNNAANNNNANNANNANNNANNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNANNNNNNNNANNNNNNNNNANNNNNNNNNNNNNANNNNNNANNNNNANNNNNNNNANNNNNNNNNNANNNNNNANNNNNNNANNNNNAAAAAANNANAANNNNAANNNNNANNNNNNNANNNNNNANAAANANAANNNNNANNNNANNNNNNNNNANNNANNNNNANANNNNNNNNNNNNANNNNNNNNNNNNANNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNANNNNANANNNNNNNNANNNNNNNNNNANNNNNNNNANNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNCNNNNNNNNNCNNNCNNNNCNNNNCNNNNNNNNCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNCNNNANANNNNNNNNNNANNNNNNNNANNNNNANNNNNNAANANNNNANANNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNAANANNNANANAAANNNNNNANNAAANNNAAANAAAANANNNNANNNNNNANNANANNNNNNNAANNNNNANNNANNANNNANNNNNANNNANAAAANNNNNNANNNANNNANANNNNANNNANNNANNNNNNNANAANANNNNNNAAANAANNNNNANNAANANNNANNANANNANNNNNANNANNANNNNANNNNANNANNNNANNNNNNANANANANANNNNNANNANNNNNANANNANNNANANANNNNNNAANNANNAANANNANANNANANNNANNNNNNANANNNAANANNNANNNNNNANNNNNNANNANNANNNANNNNANNNNANNNANNCNNNANNANNNANNANAANNNNNAANNANNNNNNNNNAAANANANNNNANNANANNNANANANAANNANNANNNNANNANANNNANNANNNNANNANNNNNANNNNNANNNNNNNNNANNNNNNANANNANNNNNNNNNNNNNNNNNNNNNNNANNNNANNNNNNNANNNNNNNNNNNNAANNANNNNANNNNNNNNANNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNANNNNNANANNANNNNNNNNAANNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNANAANNANNANNNNNANNAANANNNNNANNANNANNNANANAANNNNNANNNNNAANNNNANNNNANNAANNANNANNNANNNANNNNANNANNNANNNNNAANNANANNNNANNAANNNNANNNNANNANNNNNNANNNANNANNNANANNNANNNNNNNNNNNNANNNNNNNNNNNNANNANNNNNNNN\n' |