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

Changeset 1:97c7441aed0d (2020-10-29)
Previous changeset 0:6331d804f983 (2020-09-28) Next changeset 2:148389992630 (2021-01-22)
Commit message:
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/delly commit 3da28c7772346e1872b6d768b904305be0c61db7"
modified:
macros.xml
merge.xml
added:
test-data/map.fasta
b
diff -r 6331d804f983 -r 97c7441aed0d macros.xml
--- a/macros.xml Mon Sep 28 07:45:03 2020 +0000
+++ b/macros.xml Thu Oct 29 20:51:37 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 6331d804f983 -r 97c7441aed0d merge.xml
--- a/merge.xml Mon Sep 28 07:45:03 2020 +0000
+++ b/merge.xml Thu Oct 29 20:51:37 2020 +0000
b
@@ -1,5 +1,5 @@
 <?xml version="1.0"?>
-<tool id="delly_merge" name="Delly merge" version="@TOOL_VERSION@+galaxy0" profile="18.01">
+<tool id="delly_merge" name="Delly merge" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="18.01">
     <description>structural variants across/within VCF/BCF file(s)</description>
     <macros>
         <import>macros.xml</import>
@@ -38,12 +38,8 @@
 #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
+@LOG@
+@VCF@
     ]]></command>
     <inputs>
         <expand macro="samples" format="bcf,vcf"/>
@@ -51,8 +47,8 @@
             <param argument="--chunks" type="integer" value="500" label="Set maximum chunk size to merge groups of BCF files"/>
             <param argument="--vaf" type="float" value="0.15" min="0.0" max="1.0" label="Set minimum fractional ALT support"/>
             <param argument="--coverage" type="integer" value="10" label="Set minimum coverage"/>
-            <param argument="--minsize" type="integer" value="0" label="Set minimum SV size"/>
-            <param argument="--maxsize" type="integer" value="1000000" label="Set maximum SV size"/>
+            <expand macro="minsize"/>
+            <expand macro="maxsize"/>
             <param argument="--precise" type="boolean" truevalue="--precise" falsevalue="" label="Filter sites for PRECISE?"/>
             <param argument="--pass" type="boolean" truevalue="--pass" falsevalue="" label="Filter sites for PASS?"/>
         </section>
b
diff -r 6331d804f983 -r 97c7441aed0d test-data/map.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/map.fasta Thu Oct 29 20:51:37 2020 +0000
b
b'@@ -0,0 +1,2 @@\n+>chrM\n+NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN'..b'NANANNNNNNNANNNNNNNNNNNNNNNNNNNNANNANNNNNNNNANNNANNNNNNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANANNNANNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNANNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNANNNANNANNNANNNNNNNNNNNNNNNNNNNANANNNNNNNNNNNNNNNNANNAANNNNNNNNNNNNNANNNNNANNNNNNNAAANNNNNNNNNNNNNNNNAANANNNNNNANNNNANANNAANNNANNNNNNNNANANNNNNNNNNCCNNNNNNNNNNCCCNNCCCCNCNCCNNNCCNCNNCCCCCNNCCCCCNCNCNCNNCCCCCCANAANANAANANAAAAAAAAAAAAAAAAAAAAAANANNNANANNNNNANNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNANNANNNANNNNNNNANNNANANNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNANNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNNNANNANNAANNNANNANNANANNNNANNNNNNANNNNNNNNNNNNNANNAANANANNNNNNNNANAANNANNNNNNNNANNNNNNNANNNANANANNANNANNANNANNANNNNNNANANNNNNNANNNNNNNNNNAANNNNNNNNNNNNNANNNNNNANNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNANNNANNNANNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNANNNANNNNNAANNAANNNNNNNNNANNNANNNNNANNNANANNNNANNNNNNANANNNANANANNNNNNNNNANANNNNNNNANNNNNNCNNNNCNNNNNCNNNNNNNNANNNNNNNNNNANNNNNNNNNANNANNNNANNNNNNNNNNNNANANNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNAANNNNNNANNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNANANNNNANNNNANNNANNNANNAAANNANAAANNAANANNNNAAANNANANNANNANNAANANNNNNNNNNNNANNNNNNANNNAANNNNNANNNNNANNANAANAAANAAAANNNAANNNNNNNNANNNNNNANNNNNNNNNNNNNNNNNANNNNNANNANNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNNNNNNNANNNNNNANNANNAANANNANNNANNNAANNNNNNNANANNNNNNNNNNNNANNNANNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNNANNNNNNANNNNNNNANNNNNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNNNNNNANNNANNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNNNANNNNNNNNNNANNNNANNNANANNNNNNNNNNNAANNNNNNNANNNNNNNANAANANNNNNNNANNNNNNANANNAAAAANAANNNANANNNANNNAANNNANNNNNNNNNANNAANAANNNNNNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNANNNNNNNNNANNNANNNNANNNNNNNNNNNNNNNNANNANNAANNNNNNNANNNANNNNANNNNNNAANNNNANNANNANNNANNNNNNNNNNNNNNNNNNNANNANNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNANNNNNNNNANNNNNNNNNANNNNNNNNNNNNNANNNNNNANNNNNANNNNNNNNANNNNNNNNNNANNNNNNANNNNNNNANNNNNAAAAAANNANAANNNNAANNNNNANNNNNNNANNNNNNANAAANANAANNNNNANNNNANNNNNNNNNANNNANNNNNANANNNNNNNNNNNNANNNNNNNNNNNNANNNNANNNNANNNNNNNNNNNNNNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNANNNNANANNNNNNNNANNNNNNNNNNANNNNNNNNANNNNNNNNNNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCCCCCCCAAAAAAAAAACCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNCNNNNNNNNNCNNNCNNNNCNNNNCNNNNNNNNCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCNNNCNNNANANNNNNNNNNNANNNNNNNNANNNNNANNNNNNAANANNNNANANNANNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNAANANNNANANAAANNNNNNANNAAANNNAAANAAAANANNNNANNNNNNANNANANNNNNNNAANNNNNANNNANNANNNANNNNNANNNANAAAANNNNNNANNNANNNANANNNNANNNANNNANNNNNNNANAANANNNNNNAAANAANNNNNANNAANANNNANNANANNANNNNNANNANNANNNNANNNNANNANNNNANNNNNNANANANANANNNNNANNANNNNNANANNANNNANANANNNNNNAANNANNAANANNANANNANANNNANNNNNNANANNNAANANNNANNNNNNANNNNNNANNANNANNNANNNNANNNNANNNANNCNNNANNANNNANNANAANNNNNAANNANNNNNNNNNAAANANANNNNANNANANNNANANANAANNANNANNNNANNANANNNANNANNNNANNANNNNNANNNNNANNNNNNNNNANNNNNNANANNANNNNNNNNNNNNNNNNNNNNNNNANNNNANNNNNNNANNNNNNNNNNNNAANNANNNNANNNNNNNNANNNNANNNNNNNNNNNNNNNNNNNNANNNNNNNANNNNNNNANNNNNANANNANNNNNNNNAANNNNNNNNNNNNNNNNAANNNNNNNNNNNNNNNNNNNNNNNNANNNNNNNNNNANNNNNNNNNNNNNNNANAANNANNANNNNNANNAANANNNNNANNANNANNNANANAANNNNNANNNNNAANNNNANNNNANNAANNANNANNNANNNANNNNANNANNNANNNNNAANNANANNNNANNAANNNNANNNNANNANNNNNNANNNANNANNNANANNNANNNNNNNNNNNNANNNNNNNNNNNNANNANNNNNNNN\n'