Repository 'delly_lr'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/delly_lr

Changeset 1:d5124d5c8131 (2020-10-29)
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'