diff quast.xml @ 9:45924fa8d8c5 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/quast commit 9e4867db42282a980f1149711159fa811b2d8414"
author iuc
date Mon, 08 Nov 2021 09:03:00 +0000
parents ebb0dcdb621a
children 342a1d1fed7b
line wrap: on
line diff
--- a/quast.xml	Mon Feb 03 17:37:36 2020 -0500
+++ b/quast.xml	Mon Nov 08 09:03:00 2021 +0000
@@ -1,20 +1,17 @@
-<tool id="quast" name="Quast" version="@TOOL_VERSION@+galaxy1" profile="18.01">
+<tool id="quast" name="Quast" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="20.01">
     <description>Genome assembly Quality</description>
     <macros>
-        <token name="@TOOL_VERSION@">5.0.2</token>
-        <xml name="gene_thresholds">
-            <param name="gene_thresholds" argument="--gene-thresholds" type="text" value="0,300,1500,3000" label="Comma-separated list of thresholds (in bp) for gene lengths to find with a finding tool"/>
-        </xml>
+        <import>macros.xml</import>
     </macros>
-    <requirements>
-        <requirement type="package" version="@TOOL_VERSION@">quast</requirement>
-    </requirements>
+    <expand macro="bio_tools"/>
+    <expand macro='requirements' />
     <command detect_errors="exit_code">
     <![CDATA[
 #import re
 
 #if str($in.custom) == 'false'
-    #set $labels = ','.join( [re.sub('[^\w\-_]', '_', str($x.element_identifier)) for $x in $in.inputs ])
+    #set $labels = ','.join( [re.sub('[^\w\-_]', '_', str($x.element_identifier)) for $x in $in.inputs])
+    echo $labels &&
 #else
     #set $labels = []
     #for $x in $in.inputs
@@ -35,45 +32,79 @@
 #end if
 
 #if $assembly.type == 'genome'
-quast
+    quast
 #else
-metaquast
+    metaquast
 #end if
-    -o outputdir
+
+#if $reads.reads_option == 'single'
+    #for $read in $reads.input_1
+        --single '$read'
+    #end for
+#else if $reads.reads_option == 'paired'
+    #for $read in $reads.input_1
+        --pe1 '$read'
+    #end for
+    #for $read in $reads.input_2
+        --pe2 '$read'
+    #end for  
+#else if $reads.reads_option == 'paired_interlaced'
+    #for $read in $reads.input_1
+        --pe12 '$read'
+    #end for
+#else if $reads.reads_option == 'mate_paired'
+    #for $read in $reads.input_1
+        --mp1 '$read'
+    #end for
+    #for $read in $reads.input_2
+        --mp2 '$read'
+    #end for
+#else if $reads.reads_option == 'pacbio'
+    #for $read in $reads.input_1
+        --pacbio '$read'
+    #end for
+#else if $reads.reads_option == 'nanopore'
+    #for $read in $reads.input_1
+        --nanopore '$read'
+    #end for
+#end if
+
+--labels $labels
+-o outputdir
 
 #if $assembly.type == 'genome'
     #if $assembly.ref.use_ref == 'true'
     -r '$assembly.ref.r'
         #if $assembly.ref.features
-    --features '$assembly.ref.features'
+            --features '$assembly.ref.features'
         #end if
         #if $assembly.ref.operons
-    --operons '$assembly.ref.operons'
+            --operons '$assembly.ref.operons'
+        #end if
+        $assembly.ref.circos
+        $assembly.ref.k_mer.k_mer_stats
+        #if str($assembly.ref.k_mer.k_mer_stats) != ''
+            --k-mer-size $assembly.ref.k_mer.k_mer_size
         #end if
     #else if $assembly.ref.est_ref_size
-    --est-ref-size $assembly.ref.est_ref_size
+        --est-ref-size $assembly.ref.est_ref_size
     #end if
     $assembly.orga_type
 #else
     #if $assembly.ref.origin == 'history'
-    -r '$assembly.ref.r'
+        -r '$assembly.ref.r'
     #else if $assembly.ref.origin == 'list'
-    --references-list '$temp_ref_list_fp'
+        --references-list '$temp_ref_list_fp'
     #else if $assembly.ref.origin == 'silva'
-    --test-no-ref
-    --max-ref-num '$assembly.ref.max_ref_num'
+        --test-no-ref
+        --max-ref-num '$assembly.ref.max_ref_num'
     #end if
 #end if
-    --min-contig $min_contig
-    --threads \${GALAXY_SLOTS:-1}
-    $split_scaffolds
-    --labels $labels
-    $large
-    $k_mer.k_mer_stats
-#if str($k_mer.k_mer_stats) != ''
-    --k-mer-size $k_mer.k_mer_size
-#end if
-    $circos
+
+--min-contig $min_contig
+$split_scaffolds
+$large
+
 #if str($genes.gene_finding.tool) != 'none'
     $genes.gene_finding.tool
     #if $genes.gene_finding.tool == '--gene_finding' or $genes.gene_finding.tool == '--glimmer'
@@ -81,36 +112,52 @@
         --gene-thresholds '$gene_threshold'
     #end if
 #end if
-    $genes.rna_finding
-    $genes.conserved_genes_finding
-    $al.use_all_alignments
-    --min-alignment $al.min_alignment
-    --min-identity $al.min_identity
-    --ambiguity-usage '$al.ambiguity_usage'
-    $al.fragmented
-    #set $contig_thresholds = ','.join([x.strip() for x in str($contig_thresholds).split(',')])
-    --contig-thresholds '$contig_thresholds'
-    $strict_NA
-    --extensive-mis-size $extensive_mis_size
-    --scaffold-gap-max-size $scaffold_gap_max_size
-    --unaligned-part-size $unaligned_part_size
-    $skip_unaligned_mis_contigs
+
+$genes.rna_finding
+$genes.conserved_genes_finding
+$alignments.use_all_alignments
+--min-alignment $alignments.min_alignment
+--min-identity $alignments.min_identity
+--ambiguity-usage '$alignments.ambiguity_usage'
+$alignments.fragmented
+$alignments.upper_bound_assembly
+#if $alignments.upper_bound_min_con
+    --upper-bound-min-con $alignments.upper_bound_min_con
+#end if
+
+#if $alignments.fragmented
+    #if $advanced.fragmented_max_indent != ''
+        --fragmented-max-indent $advanced.fragmented_max_indent
+    #end if
+#end if
+
+#set $contig_thresholds = ','.join([x.strip() for x in str($advanced.contig_thresholds).split(',')])
+--contig-thresholds '$contig_thresholds'
+$advanced.strict_NA
+--extensive-mis-size $advanced.extensive_mis_size
+--scaffold-gap-max-size $advanced.scaffold_gap_max_size
+--unaligned-part-size $advanced.unaligned_part_size
+$advanced.skip_unaligned_mis_contigs
 
 #if str($in.custom) == 'false'
     #for $k in $in.inputs
-    '$k'
+        '$k'
     #end for
 #else
     #for $k in $in.inputs
-    '$k.input'
+        '$k.input'
     #end for
 #end if
 
+--threads \${GALAXY_SLOTS:-1}
+
 && mkdir -p '$report_html.files_path'
 && cp outputdir/*.html '$report_html.files_path'
+
 #if ($assembly.type == 'genome' and $assembly.ref.use_ref) or ($assembly.type == 'metagenome' and $assembly.ref.origin != 'none')
     && cp -R outputdir/icarus_viewers '$report_html.files_path'
 #end if
+
     ]]>
     </command>
     <inputs>
@@ -129,6 +176,45 @@
                 <param name="inputs" type="data" format="fasta" multiple="true" label="Contigs/scaffolds file"/>
             </when>
         </conditional>
+        <conditional name="reads">
+            <param name="reads_option" type="select" label="Reads options" help="Currently, the supported read types are Illumina unpaired, paired-end and mate-pair reads, PacBio SMRT, and Oxford Nanopore long reads.">
+                <option value="disabled">Disabled</option>
+                <option value="single">Illumina single-end reads</option>
+                <option value="paired">Illumina paired-end reads</option>
+                <option value="paired_interlaced">Illumina interlaced paired-end reads</option>
+                <option value="mate_paired">Illumina mate-pair reads</option>
+                <option value="pacbio">Pacbio SMRT reads</option>
+                <option value="nanopore">Nanopore reads</option>
+            </param>
+            <when value="disabled"/>
+
+            <when value="single">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file" />
+            </when>
+
+            <when value="paired">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file #1" />
+                <param name="input_2" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file #2" />
+            </when>
+
+            <when value="paired_interlaced">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file" />
+            </when>
+
+            <when value="mate_paired">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file #1" />
+                <param name="input_2" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file #2" />
+            </when>
+
+            <when value="pacbio">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file" />
+            </when>
+
+            <when value="nanopore">
+                <param name="input_1" format="fastq,fastq.gz" type="data" multiple="true" label="FASTQ file" />
+            </when>
+        </conditional>
+
         <conditional name="assembly">
             <param name="type" type="select" label="Type of assembly">
                 <option value="genome">Genome</option>
@@ -144,15 +230,26 @@
                         <param argument="-r" type="data" format="fasta" multiple="true" label="Reference genome" />
                         <param argument="--features" type="data" format="gff, gff3, bed" optional="true" label="Genomic feature positions in the reference genome" help="Gene coordinates for the reference genome"/>
                         <param argument="--operons" type="data" format="gff, gff3, bed" optional="true" label="Operon positions in the reference genome" help="Operon coordinates for the reference genome"/>
+                        <conditional name="k_mer">
+                            <param argument="--k-mer-stats" type="select" label="Compute k-mer-based quality metrics?" help="It is recommended for large genomes. This may significantly increase memory and time consumption on large genomes">
+                                <option value="--k-mer-stats">Yes</option>
+                                <option value="" selected="true">No</option>
+                            </param>
+                            <when value="--k-mer-stats">
+                                <param name="k_mer_size" argument="--k-mer-size" type="integer" value="101" label="Size of k" />
+                            </when>
+                            <when value=""/>
+                        </conditional>
+                        <param argument="--circos" type="boolean" truevalue="--circos" falsevalue="" checked="false" label="Generage Circos plot" help="Plot Circos version of Icarus contig alignment viewer"/>
                     </when>
                     <when value="false">
-                        <param name="est_ref_size" argument="--est-ref-size" type="integer" optional="true" label="Estimated reference genome size (in bp) for computing NGx statistics" help=""/>
+                        <param argument="--est-ref-size" type="integer" optional="true" label="Estimated reference genome size (in bp) for computing NGx statistics" help=""/>
                     </when>
                 </conditional>
                 <param name="orga_type" type="select" label="Type of organism">
-                    <option value="">Prokaryotes: use of GeneMarkS for gene finding</option>
-                    <option value="--eukaryote">Eukaryote (--eukaryote): use of GeneMark-ES for gene finding, Barrnap for ribosomal RNA genes prediction, BUSCO for conserved orthologs finding</option>
-                    <option value="--fungus">Fungus (--fungus): use of GeneMark-ES for gene finding, Barrnap for ribosomal RNA genes prediction, BUSCO for conserved orthologs finding</option>
+                    <option value="">Prokaryotes: use of GeneMarkS for gene finding (default)</option>
+                    <option value="--eukaryote">Eukaryote: use of GeneMark-ES for gene finding, Barrnap for ribosomal RNA genes prediction, BUSCO for conserved orthologs finding  (--eukaryote)</option>
+                    <option value="--fungus">Fungus: use of GeneMark-ES for gene finding, Barrnap for ribosomal RNA genes prediction, BUSCO for conserved orthologs finding (--fungus)</option>
                 </param>
             </when>
             <when value="metagenome">
@@ -176,20 +273,9 @@
                 </conditional>
             </when>
         </conditional>
-        <param name="min_contig" argument="--min-contig" type="integer" value="500" label="Lower threshold for a contig length (in bp)" help="Shorter contigs won't be taken into account"/>
-        <param name="split_scaffolds" argument="--split-scaffolds" type="boolean" truevalue="--split-scaffolds" falsevalue="" checked="false" label="Are assemblies scaffolds rather than contigs?" help="QUAST will add split versions of assemblies to the comparison. Assemblies are split by continuous fragments of N's of length >= 10. If broken version is equal to the original assembly (i.e. nothing was split) it is not included in the comparison."/>
+        <param argument="--min-contig" type="integer" value="500" label="Lower threshold for a contig length (in bp)" help="Shorter contigs won't be taken into account"/>
+        <param argument="--split-scaffolds" type="boolean" truevalue="--split-scaffolds" falsevalue="" checked="false" label="Are assemblies scaffolds rather than contigs?" help="QUAST will add split versions of assemblies to the comparison. Assemblies are split by continuous fragments of N's of length >= 10. If broken version is equal to the original assembly (i.e. nothing was split) it is not included in the comparison."/>
         <param argument="--large" type="boolean" truevalue="--large" falsevalue="" checked="false" label="Is genome large (> 100 Mbp)?" help="Use optimal parameters for evaluation of large genomes. Affects speed and accuracy. In particular, imposes --eukaryote --min-contig 3000 --min-alignment 500 --extensive-mis-size 7000 (can be overridden manually with the corresponding options). In addition, this mode tries to identify misassemblies caused by transposable elements and exclude them from the number of misassemblies."/>
-        <conditional name="k_mer">
-            <param name="k_mer_stats" argument="--k-mer-stats" type="select" label="Compute k-mer-based quality metrics?" help="It is recommended for large genomes. This may significantly increase memory and time consumption on large genomes">
-                <option value="--k-mer-stats">Yes</option>
-                <option value="" selected="true">No</option>
-            </param>
-            <when value="--k-mer-stats">
-                <param name="k_mer_size" argument="--k-mer-size" type="integer" value="101" label="Size of k" />
-            </when>
-            <when value=""/>
-        </conditional>
-        <param argument="--circos" type="boolean" truevalue="--circos" falsevalue="" checked="false" label="Draw Circos plot?" help=""/>
         <section name="genes" title="Genes">
             <conditional name="gene_finding">
                 <param name="tool" type="select" label="Tool for gene prediction" help="">
@@ -207,49 +293,71 @@
                     <expand macro="gene_thresholds"/>
                 </when>
             </conditional>
-            <param name="rna_finding" argument="--rna-finding" type="boolean" truevalue="--rna-finding" falsevalue="" checked="false" label="Enables ribosomal RNA gene finding?" help="By default, we assume that the genome is prokaryotic, and Barrnap uses the bacterial database for rRNA prediction. If the genome is eukaryotic (fungal), use --eukaryote (--fungus) option to force Barrnap to work with the eukaryotic (fungal) database. "/>
-            <param name="conserved_genes_finding" argument="--conserved-genes-finding" type="boolean" truevalue="--conserved-genes-finding" falsevalue="" checked="false" label="Enables search for Universal Single-Copy Orthologs using BUSCO?" help="By default, we assume that the genome is prokaryotic, and BUSCO uses the bacterial database of orthologs. If the genome is eukaryotic (fungal), use --eukaryote (--fungus) option to force BUSCO to work with the eukaryotic (fungal) database. "/>
+            <param argument="--rna-finding" type="boolean" truevalue="--rna-finding" falsevalue="" checked="false" label="Enables ribosomal RNA gene finding?" help="By default, we assume that the genome is prokaryotic, and Barrnap uses the bacterial database for rRNA prediction. If the genome is eukaryotic (fungal), use --eukaryote (--fungus) option to force Barrnap to work with the eukaryotic (fungal) database. "/>
+            <param argument="--conserved-genes-finding" type="boolean" truevalue="--conserved-genes-finding" falsevalue="" checked="false" label="Enables search for Universal Single-Copy Orthologs using BUSCO?" help="By default, we assume that the genome is prokaryotic, and BUSCO uses the bacterial database of orthologs. If the genome is eukaryotic (fungal), use --eukaryote (--fungus) option to force BUSCO to work with the eukaryotic (fungal) database. "/>
         </section>
-        <section name="al" title="Alignments">
-            <param name="use_all_alignments" argument="--use-all-alignments" type="boolean" truevalue="--use-all-alignments" falsevalue="" checked="false" label="Use all alignments as in QUAST v.1.*. to compute genome fraction, # genomic features, # operons metrics?" help="By default, QUAST v.2.0 and higher filters out ambiguous and redundant alignments, keeping only one alignment per contig (or one set of non-overlapping or slightly overlapping alignments)"/>
-            <param name="min_alignment" argument="--min-alignment" type="integer" value="65" label="Minimum length of alignment" help="Alignments shorter than this value will be filtered. Note that all alignments shorter than 65 bp will be filtered regardless of this threshold."/>
-            <param name="min_identity" argument="--min-identity" type="float" value="95.0" label="Minimum IDY% considered as proper alignment" help="Alignments with IDY% worse than this value will be filtered. ote that all alignments with IDY% less than 80.0% will be filtered regardless of this threshold. "/>
-            <param name="ambiguity_usage" argument="--ambiguity-usage" type="select" label="How processing equally good alignments of a contig (probably repeats)?" help="">
+        <section name="alignments" title="Alignments">
+            <param argument="--use-all-alignments" type="boolean" truevalue="--use-all-alignments" falsevalue="" checked="false" label="Use all alignments as in QUAST v.1.*. to compute genome fraction, # genomic features, # operons metrics?" help="By default, QUAST v.2.0 and higher filters out ambiguous and redundant alignments, keeping only one alignment per contig (or one set of non-overlapping or slightly overlapping alignments)"/>
+            <param argument="--min-alignment" type="integer" value="65" label="Minimum length of alignment" help="Alignments shorter than this value will be filtered. Note that all alignments shorter than 65 bp will be filtered regardless of this threshold."/>
+            <param argument="--min-identity" type="float" value="95.0" label="Minimum IDY% considered as proper alignment" help="Alignments with IDY% worse than this value will be filtered. ote that all alignments with IDY% less than 80.0% will be filtered regardless of this threshold. "/>
+            <param argument="--ambiguity-usage" type="select" label="How processing equally good alignments of a contig (probably repeats)?" help="">
                 <option value="none">Skip all such alignments</option>
                 <option value="one" selected="true">Take only one (the very best one)</option>
                 <option value="all">Use all alignments. It can cause a significant increase of # mismatches (repeats are almost always inexact due to accumulated SNPs, indels, etc.). It is useful for metagenomic assemblies where ambiguous alignments might represent homologous sequences of different strains</option>
             </param>
-            <param name="ambiguity_score" argument="--ambiguity-score" type="float" value="0.99" min="0.8" max="1.0" label="Score S for defining equally good alignments of a single contig" help="All alignments are sorted by decreasing LEN × IDY% value. All alignments with LEN × IDY% less than S × best(LEN × IDY%) are discarded. "/>
-            <param argument="--fragmented" type="boolean" truevalue="--fragmented" falsevalue="" checked="false" label="Use all alignments as in QUAST v.1.*. to compute genome fraction, # genomic features, # operons metrics?" help="By default, QUAST v.2.0 and higher filters out ambiguous and redundant alignments, keeping only one alignment per contig (or one set of non-overlapping or slightly overlapping alignments)"/>
-            <param name="fragmented_max_indent" argument="--fragmented-max-indent" type="integer" value="50" label="Mark translocation as fake if both alignments are located no further than N bases from the ends of the reference fragments" help="The value should be less than extensive misassembly size"/>
-            <param name="upper_bound_assembly" argument="--upper-bound-assembly" type="boolean" truevalue="--upper-bound-assembly" falsevalue="" checked="false" label="Simulate upper bound assembly based on the reference genome and a given set reads?" help="Mate-pairs or long reads, such as Pacbio SMRT/Oxford Nanopore, are REQUIRED. This assembly is added to the comparison and could be useful for estimating the upper bounds of completeness and contiguity that theoretically can be reached by assembly software from this particular set of reads. The concept is based on the fact that the reference genome cannot be completely reconstructed from raw reads due to long genomic repeats and low covered regions. See Mikheenko et al., 2018 for more details. "/>
-            <param name="upper_bound_min_con" argument="--upper-bound-min-con" type="integer" value="2" label="Minimal number of 'connecting reads' needed for joining upper bound contigs into a scaffold" help="This is important for a realistic estimation of genome assembly fragmentation due to long repeats. The default values is 2 for mate-pairs and 1 for long reads (PacBio or Nanopore libraries)."/>
+            <param argument="--ambiguity-score" type="float" value="0.99" min="0.8" max="1.0" label="Score S for defining equally good alignments of a single contig" help="All alignments are sorted by decreasing LEN × IDY% value. All alignments with LEN × IDY% less than S × best(LEN × IDY%) are discarded. "/>
+            <param argument="--fragmented" type="boolean" truevalue="--fragmented" falsevalue="" checked="false" label="Fragmented reference genome" help="Reference genome is fragmented (e.g. a scaffold reference). QUAST will try to detect misassemblies caused by the fragmentation and mark them fake (will be excluded from misassemblies). Note: QUAST will not detect misassemblies caused by the linear representation of circular genome "/>
+            <param argument="--upper-bound-assembly" type="boolean" truevalue="--upper-bound-assembly" falsevalue="" label="Simulate upper bound assembly" help="Simulate upper bound assembly based on the reference genome and a given set reads (mate-pairs or long reads, such as Pacbio SMRT/Oxford Nanopore, are REQUIRED). This assembly is added to the comparison and could be useful for estimating the upper bounds of completeness and contiguity that theoretically can be reached by assembly software from this particular set of reads. The concept is based on the fact that the reference genome cannot be completely reconstructed from raw reads due to long genomic repeats and low covered regions." />
+            <param argument="--upper-bound-min-con" type="integer" value="" optional="true" label="Minimal number of 'connecting reads' needed for joining upper bound contigs into a scaffold" help="This is important for a realistic estimation of genome assembly fragmentation due to long repeats. The default values is 2 for mate-pairs and 1 for long reads (PacBio or Nanopore libraries)"/>
         </section>
-        <param name="contig_thresholds" argument="--contig-thresholds" type="text" value="0,1000" label="Comma-separated list of contig length thresholds (in bp)" help="Used in # contigs ≥ x and total length (≥ x) metrics"/>
-        <param name="strict_NA" argument="--strict-NA" type="boolean" truevalue="--strict-NA" falsevalue="" checked="false" label="Break contigs at every misassembly event (including local ones) to compute NAx and NGAx statistics?" help="By default, QUAST breaks contigs only at extensive misassemblies (not local ones)."/>
-        <param name="extensive_mis_size" argument="--extensive-mis-size" type="integer" value="1000" min="85" label="Lower threshold for the relocation size (gap or overlap size between left and right flanking sequence)" help="Shorter relocations are considered as local misassemblies. It does not affect other types of extensive misassemblies (inversions and translocations). The default value is 1000 bp. Note that the threshold should be greater than maximum indel length which is 85 bp."/>
-        <param name="scaffold_gap_max_size" argument="--scaffold-gap-max-size" type="integer" value="1000" label="Max allowed scaffold gap length difference for detecting corresponding type of misassemblies" help="Longer inconsistencies are considered as relocations and thus, counted as extensive misassemblies. The default value is 10000 bp. Note that the threshold make sense only if it is greater than extensive misassembly size"/>
-        <param name="unaligned_part_size" argument="--unaligned-part-size" type="integer" value="500" label="Lower threshold for detecting partially unaligned contigs" help=""/>
-        <param name="skip_unaligned_mis_contigs" argument="--skip-unaligned-mis-contigs" type="boolean" truevalue="" falsevalue="--skip-unaligned-mis-contigs" checked="true" label="Distinguish contigs with more than 50% unaligned bases as a separate group of contigs?" help="By default, QUAST breaks contigs only at extensive misassemblies (not local ones)."/>
+        <section name="advanced" title="Advanced options">
+            <param argument="--contig-thresholds" type="text" value="0,1000" label="Comma-separated list of contig length thresholds (in bp)" help="Used in # contigs ≥ x and total length (≥ x) metrics"/>
+            <param argument="--strict-NA" type="boolean" truevalue="--strict-NA" falsevalue="" checked="false" label="Break contigs at every misassembly event (including local ones) to compute NAx and NGAx statistics?" help="By default, QUAST breaks contigs only at extensive misassemblies (not local ones)."/>
+            <param argument="--extensive-mis-size" type="integer" value="1000" min="85" label="Lower threshold for the relocation size (gap or overlap size between left and right flanking sequence)" help="Shorter relocations are considered as local misassemblies. It does not affect other types of extensive misassemblies (inversions and translocations). The default value is 1000 bp. Note that the threshold should be greater than maximum indel length which is 85 bp."/>
+            <param argument="--scaffold-gap-max-size" type="integer" value="1000" label="Max allowed scaffold gap length difference for detecting corresponding type of misassemblies" help="Longer inconsistencies are considered as relocations and thus, counted as extensive misassemblies. The default value is 10000 bp. Note that the threshold make sense only if it is greater than extensive misassembly size"/>
+            <param argument="--unaligned-part-size" type="integer" value="500" label="Lower threshold for detecting partially unaligned contigs" help=""/>
+            <param argument="--skip-unaligned-mis-contigs" type="boolean" truevalue="" falsevalue="--skip-unaligned-mis-contigs" checked="true" label="Distinguish contigs with more than 50% unaligned bases as a separate group of contigs?" help="By default, QUAST breaks contigs only at extensive misassemblies (not local ones)."/>
+            <param argument="--fragmented-max-indent" type="integer" min="0" value="" optional="true" label="Fragment max indent" help="Mark translocation as fake if both alignments are located no further than N bases from the ends of the reference fragments. The value should be less than extensive misassembly size.Default value is 50. Note: requires --fragmented option" />
+        </section>
+        <param name="output_files" type="select" display="checkboxes" optional="true" multiple="true" label="Output files">
+            <option value="html" selected="true">HTML report</option>
+            <option value="pdf">PDF report</option>
+            <option value="tabular">Tabular reports</option>
+            <option value="log">Log file</option>
+        </param>
     </inputs>
     <outputs>
-        <data name="quast_tabular" format="tabular" label="${tool.name} on ${on_string}: tabular report" from_work_dir="outputdir/report.tsv"/>
-        <data name="report_html" format="html" label="${tool.name} on ${on_string}:  HTML report" from_work_dir="outputdir/report.html"/>
-        <data name="report_pdf" format="pdf" label="${tool.name} on ${on_string}:  PDF report" from_work_dir="outputdir/report.pdf"/>
-        <data name="log" format="txt" label="${tool.name} on ${on_string}: Log" from_work_dir="outputdir/quast.log"/>
-        <data name="mis_ass" format="tabular" label="${tool.name} on ${on_string}: Misassemblies" from_work_dir="outputdir/contigs_reports/misassemblies_report.txt">
-            <filter>(assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true') or (assembly['type'] == 'metagenome' and assembly['ref']['origin'] != 'none')</filter>
+        <data name="quast_tabular" format="tabular" label="${tool.name} on ${on_string}: tabular report" from_work_dir="outputdir/report.tsv">
+            <filter>'tabular' in output_files</filter>
+        </data>
+        <data name="report_html" format="html" label="${tool.name} on ${on_string}:  HTML report" from_work_dir="outputdir/report.html">
+            <filter>'html' in output_files</filter>
+        </data>
+        <data name="report_pdf" format="pdf" label="${tool.name} on ${on_string}:  PDF report" from_work_dir="outputdir/report.pdf">
+            <filter>'pdf' in output_files</filter>
+        </data>
+        <data name="log" format="txt" label="${tool.name} on ${on_string}: Log" from_work_dir="outputdir/quast.log">
+            <filter>'log' in output_files</filter>
         </data>
-        <data name="unalign" format="tabular" label="${tool.name} on ${on_string}: Unaligned contigs" from_work_dir="outputdir/contigs_reports/unaligned_report.tsv">
-            <filter>(assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true') or (assembly['type'] == 'metagenome' and assembly['ref']['origin'] != 'none')</filter>
+        <data name="mis_ass" format="tabular" label="${tool.name} on ${on_string}: Misassemblies report" from_work_dir="outputdir/contigs_reports/misassemblies_report.txt">
+            <filter>assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true'</filter>
+            <filter>'tabular' in output_files</filter>
         </data>
-        <data name="kmers" format="tabular" label="${tool.name} on ${on_string}: K-mer-based metrics" from_work_dir="outputdir/k_mer_stats/kmers_report.txt">
-            <filter>k_mer['k_mer_stats'] != ''</filter>
+        <data name="unalign" format="tabular" label="${tool.name} on ${on_string}: Unaligned contigs report" from_work_dir="outputdir/contigs_reports/unaligned_report.tsv">
+            <filter>assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true'</filter>
+            <filter>'tabular' in output_files</filter>
+        </data>
+        <data name="kmers" format="tabular" label="${tool.name} on ${on_string}: K-mer-based metrics report" from_work_dir="outputdir/k_mer_stats/kmers_report.txt">
+            <filter>assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true' and assembly['ref']['k_mer']['k_mer_stats'] != ''</filter>
+            <filter>'tabular' in output_files</filter>
+        </data>
+        <data name="circos_output" format="png" from_work_dir="outputdir/circos/circos.png" label="${tool.name} on ${on_string}: Circos plot">
+            <filter>assembly['type'] == 'genome' and assembly['ref']['use_ref'] == 'true' and assembly['ref']['circos']</filter>
         </data>
     </outputs>
     <tests>
-        <test>
-            <!-- Test with reference and genes annotations -->
+        <!-- Test 01: reference, genes annotations and operon coordinates -->
+        <test expect_num_outputs="2">
             <conditional name="in">
                 <param name="custom" value="true"/>
                 <repeat name="inputs">
@@ -258,7 +366,7 @@
                 </repeat>
                 <repeat name="inputs">
                     <param name="input" value="contigs2.fna"/>
-                    <param name="labels" value=""/>
+                    <param name="labels" value="contig2"/>
                 </repeat>
             </conditional>
             <conditional name="assembly">
@@ -267,17 +375,17 @@
                     <param name="use_ref" value="true"/>
                     <param name="r" value="reference.fna"/>
                     <param name="features" value="genes.gff"/>
+                    <param name="operons" value="operons.bed"/>
+                    <conditional name="k_mer">
+                        <param name="k_mer_stats" value="--k-mer-stats"/>
+                        <param name="k_mer_size" value="101" />
+                    </conditional>
+                    <param name="circos" value="true"/>
                 </conditional>
                 <param name="orga_type" value=""/>
             </conditional>
             <param name="min_contig" value="500"/>
             <param name="split_scaffolds" value="false"/>
-            <param name="large" value="true"/>
-            <conditional name="k_mer">
-                <param name="k_mer_stats" value="--k-mer-stats"/>
-                <param name="k_mer_size" value="101" />
-            </conditional>
-            <param name="circos" value="true"/>
             <section name="genes">
                 <conditional name="gene_finding">
                     <param name="tool" value="--gene_finding"/>
@@ -286,30 +394,65 @@
                 <param name="rna_finding" value="true"/>
                 <param name="conserved_genes_finding" value="true"/>
             </section>
-            <section name="al">
+            <section name="alignments">
                 <param name="use_all_alignments" value="true"/>
                 <param name="min_alignment" value="65"/>
                 <param name="min_identity" value="95.0"/>
                 <param name="ambiguity_usage" value="one"/>
                 <param name="ambiguity_score" value="0.99"/>
-                <param name="fragmented" value="true"/>
+            </section>
+            <section name="advanced">
+                <param name="contig_thresholds" value="0,1000"/>
+                <param name="strict_NA" value="true"/>
+                <param name="extensive_mis_size" value="1000"/>
+                <param name="scaffold_gap_max_size" value="1000"/>
+                <param name="unaligned_part_size" value="500"/>
+                <param name="skip_unaligned_mis_contigs" value="true"/>
                 <param name="fragmented_max_indent" value="50"/>
-                <param name="upper_bound_assembly" value="true"/>
-                <param name="upper_bound_min_con" value="2"/>
             </section>
-            <param name="contig_thresholds" value="0,1000"/>
-            <param name="strict_NA" value="true"/>
-            <param name="extensive_mis_size" value="1000"/>
-            <param name="scaffold_gap_max_size" value="1000"/>
-            <param name="unaligned_part_size" value="500"/>
-            <param name="skip_unaligned_mis_contigs" value="true"/>
-            <output name="quast_tabular" file="test1.tabular" lines_diff="2"/>
-            <output name="mis_ass" file="test1_mis_ass.tabular"/>
-            <output name="unalign" file="test1_unalign.tabular"/>
-            <output name="kmers" file="test1_kmers.tabular"/>
+            <param name="output_files" value="html"/>
+            <output name="report_html" file="test1_report.html" ftype="html" compare="sim_size"/>
+            <output name="circos_output" file="test1_circos.png" ftype="png"/>
         </test>
-        <test>
-            <!-- Test without reference -->
+        <!-- Test 02: all outputs -->
+        <test expect_num_outputs="8">
+            <conditional name="in">
+                <param name="custom" value="true"/>
+                <repeat name="inputs">
+                    <param name="input" value="contigs1.fna"/>
+                    <param name="labels" value="contig1"/>
+                </repeat>
+                <repeat name="inputs">
+                    <param name="input" value="contigs2.fna"/>
+                    <param name="labels" value="contig2"/>
+                </repeat>
+            </conditional>
+            <conditional name="assembly">
+                <param name="type" value="genome"/>
+                <conditional name="ref">
+                    <param name="use_ref" value="true"/>
+                    <param name="r" value="reference.fna"/>
+                    <param name="features" value="genes.gff"/>
+                    <param name="operons" value="operons.bed"/>
+                    <conditional name="k_mer">
+                        <param name="k_mer_stats" value="--k-mer-stats"/>
+                        <param name="k_mer_size" value="101" />
+                    </conditional>
+                    <param name="circos" value="true"/>
+                </conditional>
+            </conditional>
+            <param name="output_files" value="html,pdf,tabular,log"/>
+            <output name="report_html" file="test2_report.html" ftype="html" compare="sim_size"/>
+            <output name="report_pdf" file="test2_report.pdf" ftype="pdf" compare="sim_size"/>
+            <output name="quast_tabular" file="test2_report.tab" ftype="tabular"/>
+            <output name="log" file="test2.log" ftype="txt" compare="sim_size"/>
+            <output name="mis_ass" file="test2_missasemblies.tab" ftype="tabular"/>
+            <output name="unalign" file="test2_unaligned.tab" ftype="tabular"/>
+            <output name="kmers" file="test2_kmers.tab" ftype="tabular"/>
+            <output name="circos_output" file="test2_circos.png" ftype="png" compare="sim_size"/>
+        </test>
+        <!-- Test 03: without reference -->
+        <test expect_num_outputs="3">
             <conditional name="in">
                 <param name="custom" value="false"/>
                 <param name="inputs" value="contigs1.fna,contigs2.fna"/>
@@ -324,10 +467,6 @@
             <param name="min_contig" value="500"/>
             <param name="split_scaffolds" value="false"/>
             <param name="large" value="false"/>
-            <conditional name="k_mer">
-                <param name="k_mer_stats" value=""/>
-            </conditional>
-            <param name="circos" value="false"/>
             <section name="genes">
                 <conditional name="gene_finding">
                     <param name="tool" value="none"/>
@@ -335,29 +474,29 @@
                 <param name="rna_finding" value="false"/>
                 <param name="conserved_genes_finding" value="false"/>
             </section>
-            <section name="al">
+            <section name="alignments">
                 <param name="use_all_alignments" value="false"/>
                 <param name="min_alignment" value="65"/>
                 <param name="min_identity" value="95.0"/>
                 <param name="ambiguity_usage" value="one"/>
                 <param name="ambiguity_score" value="0.99"/>
                 <param name="fragmented" value="false"/>
-                <param name="fragmented_max_indent" value="50"/>
-                <param name="upper_bound_assembly" value="false"/>
-                <param name="upper_bound_min_con" value="2"/>
             </section>
-            <param name="contig_thresholds" value="0,1000, 500"/>
-            <param name="strict_NA" value="false"/>
-            <param name="extensive_mis_size" value="1000"/>
-            <param name="scaffold_gap_max_size" value="1000"/>
-            <param name="unaligned_part_size" value="500"/>
-            <param name="skip_unaligned_mis_contigs" value="-"/>
-            <output name="quast_tabular" file="test2.tabular"/>
-            <output name="report_html" file="test2_report.html" compare="sim_size"/>
-            <output name="report_pdf" file="test2_report.pdf" compare="sim_size"/>
+            <section name="advanced">
+                <param name="contig_thresholds" value="0,1000, 500"/>
+                <param name="strict_NA" value="false"/>
+                <param name="extensive_mis_size" value="1000"/>
+                <param name="scaffold_gap_max_size" value="1000"/>
+                <param name="unaligned_part_size" value="500"/>
+                <param name="skip_unaligned_mis_contigs" value="-"/>
+            </section>
+            <param name="output_files" value="html,pdf,log" />
+            <output name="log" file="test3.log" ftype="txt" compare="sim_size"/>
+            <output name="report_html" file="test3_report.html" compare="sim_size"/>
+            <output name="report_pdf" file="test3_report.pdf" compare="sim_size"/>
         </test>
+        <!-- Test 04: metagenomics -->
         <test>
-            <!-- Test with metagenomics -->
             <conditional name="in">
                 <param name="custom" value="false"/>
                 <param name="inputs" value="contigs3.fasta"/>
@@ -371,10 +510,6 @@
             <param name="min_contig" value="500"/>
             <param name="split_scaffolds" value="false"/>
             <param name="large" value="false"/>
-            <conditional name="k_mer">
-                <param name="k_mer_stats" value=""/>
-            </conditional>
-            <param name="circos" value="false"/>
             <section name="genes">
                 <conditional name="gene_finding">
                     <param name="tool" value="--mgm"/>
@@ -382,24 +517,77 @@
                 <param name="rna_finding" value="false"/>
                 <param name="conserved_genes_finding" value="false"/>
             </section>
-            <section name="al">
+            <section name="alignments">
                 <param name="use_all_alignments" value="false"/>
                 <param name="min_alignment" value="65"/>
                 <param name="min_identity" value="95.0"/>
                 <param name="ambiguity_usage" value="one"/>
                 <param name="ambiguity_score" value="0.99"/>
                 <param name="fragmented" value="false"/>
-                <param name="fragmented_max_indent" value="50"/>
-                <param name="upper_bound_assembly" value="false"/>
-                <param name="upper_bound_min_con" value="2"/>
+            </section>
+            <section name="advanced">
+                <param name="contig_thresholds" value="0,1000, 500"/>
+                <param name="strict_NA" value="false"/>
+                <param name="extensive_mis_size" value="1000"/>
+                <param name="scaffold_gap_max_size" value="1000"/>
+                <param name="unaligned_part_size" value="500"/>
+                <param name="skip_unaligned_mis_contigs" value="-"/>
             </section>
-            <param name="contig_thresholds" value="0,1000, 500"/>
-            <param name="strict_NA" value="false"/>
-            <param name="extensive_mis_size" value="1000"/>
-            <param name="scaffold_gap_max_size" value="1000"/>
-            <param name="unaligned_part_size" value="500"/>
-            <param name="skip_unaligned_mis_contigs" value="-"/>
-            <output name="quast_tabular" file="test3.tabular"/>
+            <param name="output_files" value="tabular"/>
+            <output name="quast_tabular" file="test4.tab" ftype="tabular"/>
+        </test>
+        <!-- Test 05: FASTQ read files -->
+        <test expect_num_outputs="3">
+            <conditional name="in">
+                <param name="custom" value="true"/>
+                <repeat name="inputs">
+                    <param name="input" value="contigs1.fna"/>
+                    <param name="labels" value="contig1"/>
+                </repeat>
+                <repeat name="inputs">
+                    <param name="input" value="contigs2.fna"/>
+                    <param name="labels" value="contig2"/>
+                </repeat>
+            </conditional>
+            <conditional name="reads">
+                <param name="reads_option" value="pacbio"/>
+                <param name="input_1" value="pacbio_01.fastq,pacbio_02.fastq,pacbio_03.fastq,pacbio_04.fastq"/>
+            </conditional>
+            <conditional name="assembly">
+                <param name="type" value="genome"/>
+                <conditional name="ref">
+                    <param name="use_ref" value="true"/>
+                    <param name="r" value="reference.fna"/>
+                </conditional>
+            </conditional>
+            <section name="alignments">
+                <param name="upper_bound_assembly" value="true"/>
+                <param name="upper_bound_min_con" value="1"/>
+            </section>
+            <param name="output_files" value="tabular"/>
+            <output name="quast_tabular" file="test5.tab" ftype="tabular"/>
+            <output name="mis_ass" file="test5_missasemblies.tab" ftype="tabular"/>
+            <output name="unalign" file="test5_unaligned.tab" ftype="tabular"/>
+        </test>
+        <!-- Test 6: FASTQ.gz read files -->
+        <test expect_num_outputs="1">
+            <conditional name="in">
+                <param name="custom" value="true"/>
+                <repeat name="inputs">
+                    <param name="input" value="contigs1.fna"/>
+                    <param name="labels" value="contig1"/>
+                </repeat>
+                <repeat name="inputs">
+                    <param name="input" value="contigs2.fna"/>
+                    <param name="labels" value="contig2"/>
+                </repeat>
+            </conditional>
+            <conditional name="reads">
+                <param name="reads_option" value="single"/>
+                <param name="input_1" value="pacbio_01.fastq.gz,pacbio_02.fastq.gz"/>
+            </conditional>
+            <param name="output_files" value="tabular"/>
+            <output name="quast_tabular" file="test6.tab" ftype="tabular"/>
         </test>
     </tests>
     <help>
@@ -505,7 +693,7 @@
 
 where, again, values are defined as specified in `Quast manual <http://quast.sourceforge.net/docs/manual.html#sec3.1.1>`_. You can see that this report includes a variety of data that can only be computer against a reference assembly.
 
- Using reference also produces an **Alignment viewer**:
+Using reference also produces an **Alignment viewer**:
 
 .. image:: $PATH_TO_IMAGES/Align_view.png
    :width: 515
@@ -515,11 +703,5 @@
 
     ]]>
     </help>
-
-    <citations>
-        <citation type="doi">10.1093/bioinformatics/bty266</citation>
-        <citation type="doi">10.1093/bioinformatics/btw379</citation>
-        <citation type="doi">10.1093/bioinformatics/btv697</citation>
-        <citation type="doi">10.1093/bioinformatics/btt086</citation>
-    </citations>
+    <expand macro="citations"/>
 </tool>