diff diamond.xml @ 10:1e3323a44643 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/diamond commit b9f434bf71431a3b9548eb17fcc2639b3b6f8b01"
author iuc
date Fri, 22 Apr 2022 13:51:34 +0000
parents f921014aba5a
children e8ac2b53f262
line wrap: on
line diff
--- a/diamond.xml	Sat Nov 27 09:48:10 2021 +0000
+++ b/diamond.xml	Fri Apr 22 13:51:34 2022 +0000
@@ -1,4 +1,4 @@
-<tool id="bg_diamond" name="Diamond" version="@TOOL_VERSION@.1" profile="19.01">
+<tool id="bg_diamond" name="Diamond" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="19.01">
     <description>alignment tool for short sequences against a protein database</description>
     <macros>
         <import>macros.xml</import>
@@ -37,9 +37,15 @@
 
         @OUTPUT_ARGS@
 
-        --compress '0'
+        #if $output_section.output.outfmt != '100'
+            --compress '0'
+        #end if
         $sens_cond.sensitivity
-
+        $iterate
+        --algo $algo
+        #if $global_ranking
+            --global-ranking $global_ranking
+        #end if
         #if str($gapopen) != "":
           --gapopen '$gapopen'
         #end if
@@ -62,8 +68,8 @@
         --query-cover '$query_cover'
         --subject-cover '$subject_cover'
         --block-size '$sens_cond.block_size'
-        #if $output_unal
-            #if "--un" in $output_unal
+        #if $output_section.output_unal
+            #if "--un" in $output_section.output_unal
                 --un '$unalqueries'
                 #if $query.ext.startswith("fasta"):
                     --unfmt fasta
@@ -71,7 +77,7 @@
                     --unfmt fastq
                 #end if
             #end if
-            #if "--al" in $output_unal
+            #if "--al" in $output_section.output_unal
                 --al '$alqueries'
                 #if $query.ext.startswith("fasta"):
                     --alfmt fasta
@@ -80,33 +86,41 @@
                 #end if
             #end if
         #end if
+        #if $output_section.max_hsps
+            --max-hsps $output_section.max_hsps
+        #end if
         #if $tax_cond.tax_select == 'file':
             --taxonlist `cat '$tax_cond.taxonlistfile' | grep -v "^#" | grep -v "^$" | tr "\n" "," | sed 's/,$//'`
         #else if  $tax_cond.tax_select == 'list':
             --taxonlist '$tax_cond.taxonlist'
         #end if
+        #if $advanced_section.seed_cut
+            --seed-cut $advanced_section.seed_cut
+        #end if
+        $advanced_section.freq_masking
+        --motif-masking $advanced_section.motif_masking
 ]]>
     </command>
     <inputs>
         <conditional name="method_cond">
-            <param name="method_select" type="select" label="What do you want to align?" help="(blastp/blastx)">
-                <option value="blastp">Align amino acid query sequences (blastp)</option>
-                <option value="blastx">Align DNA query sequences (blastx)</option>
+            <param name="method_select" type="select" label="Alignment mode" help="(blastp/blastx)">
+                <option value="blastp">Amino acid query sequences (blastp)</option>
+                <option value="blastx">DNA query sequences (blastx)</option>
             </param>
             <when value="blastx">
                 <param argument="--query-gencode" type="select" label="Genetic code used for translation of query in BLASTX mode" help="">
-                    <option value="1">The Standard Code</option>
-                    <option value="2">The Vertebrate Mitochondrial Code</option>
-                    <option value="3">The Yeast Mitochondrial Code</option>
-                    <option value="4">The Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
-                    <option value="5">The Invertebrate Mitochondrial Code</option>
-                    <option value="6">The Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
-                    <option value="9">The Echinoderm and Flatworm Mitochondrial Code</option>
-                    <option value="10">The Euplotid Nuclear Code</option>
-                    <option value="11">The Bacterial, Archaeal and Plant Plastid Code</option>
-                    <option value="12">The Alternative Yeast Nuclear Code</option>
-                    <option value="13">The Ascidian Mitochondrial Code</option>
-                    <option value="14">The Alternative Flatworm Mitochondrial Code</option>
+                    <option value="1">Standard Code</option>
+                    <option value="2">Vertebrate Mitochondrial Code</option>
+                    <option value="3">Yeast Mitochondrial Code</option>
+                    <option value="4">Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code</option>
+                    <option value="5">Invertebrate Mitochondrial Code</option>
+                    <option value="6">Ciliate, Dasycladacean and Hexamita Nuclear Code</option>
+                    <option value="9">Echinoderm and Flatworm Mitochondrial Code</option>
+                    <option value="10">Euplotid Nuclear Code</option>
+                    <option value="11">Bacterial, Archaeal and Plant Plastid Code</option>
+                    <option value="12">Alternative Yeast Nuclear Code</option>
+                    <option value="13">Ascidian Mitochondrial Code</option>
+                    <option value="14">Alternative Flatworm Mitochondrial Code</option>
                     <option value="16">Chlorophycean Mitochondrial Code</option>
                     <option value="21">Trematode Mitochondrial Code</option>
                     <option value="22">Scenedesmus obliquus Mitochondrial Code</option>
@@ -116,7 +130,7 @@
                     <option value="26">Pachysolen tannophilus Nuclear Code</option>
                 </param>
                 <param argument="--min-orf" type="integer" value="1" label="ignore translated sequences without an open reading frame of at least this length" help="By default this feature is disabled for sequences of length below 30, set to 20 for sequences of length below 100, and set to 40 otherwise. Setting this option to 1 will disable this feature" />
-
+                
                 <param name="query_strand" argument="--strand" type="select" label="query strands to search" help="">
                     <option value="both" selected="True">Both</option>
                     <option value="plus">Plus</option>
@@ -140,7 +154,9 @@
                 </param>
             </when>
             <when value="blastp">
-                <param argument="--no-self-hits" type="boolean" truevalue="--no-self-hits" falsevalue="" checked="true" label="suppress reporting of identical self hits?" help=""/>
+                <param argument="--no-self-hits" type="boolean" truevalue="--no-self-hits" falsevalue="" checked="true" 
+                    label="Suppress reporting of identical self-hits between sequences" 
+                    help="The FASTA sequence identifiers as well as the sequences of query and target need to be identical for a hit to be deleted"/>
 
                 <param argument="--comp-based-stats" type="select" label="Composition based statistics" help="Compositionally biased sequences often cause false positive matches, which are effectively filtered by this algorithm in a way similar to the composition based statistics used by BLAST">
                     <option value="0">Disable</option>
@@ -169,16 +185,25 @@
                 <param name="reference_database" argument="--db" type="data" format="dmnd" label="Select the reference database" />
             </when>
         </conditional>
-        <expand macro="output_type_macro">
-            <!-- Taxonomy features are not supported for the DAA format (i.e.
-                 can't be used in diamond view) -->
-            <option value="staxids">unique Subject Taxonomy ID(s), separated by a ';' (in numerical order)</option>
-            <option value="sskingdoms">Subject super kingdoms</option>
-            <option value="skingdoms">Subject kingdoms</option>
-            <option value="sphylums">Subject phylums</option>
-        </expand>
+        <conditional name="tax_cond">
+            <param name="tax_select" type="select" label="Restrict search taxonomically?" help="Any taxonomic rank can be used, and only reference sequences matching one of the specified taxon ids will be searched against.">
+                <option value="no" selected="True">No</option>
+                <option value="list">List of taxids entered manually</option>
+                <option value="file">List of taxids from single column tabular file</option>
+            </param>
+            <when value="no"/>
+            <when value="list">
+                <param name="taxonlist" argument="--taxonlist" type="text" value="" label="Comma separated list of taxon ids" help="">
+                    <validator type="regex" message="Taxonlist needs to be a comma separated list of integers">[0-9,]*</validator>
+                </param>
+            </when>
+            <when value="file">
+                <param name="taxonlistfile" argument="--taxonlist" type="data" format="tabular" label="Keep alignments within the given percentage range of the top alignment score for a quer" help="" />
+            </when>
+        </conditional>
         <conditional name="sens_cond">
             <param name='sensitivity' type="select" label="Sensitivity Mode" help="Choose one of the sensitivity modes. The default mode is mainly designed for short read alignment, i.e. finding significant matches of >50 bits on 30-40aa fragments. The sensitive mode is a lot more sensitive than the default and generally recommended for aligning longer sequences. The more sensitive mode provides even more sensitivity. More sensitivity may increase computation time.">
+                <option value="--fast">Fast (--fast)</option>
                 <option value="" selected="True">Default</option>
                 <option value="--mid-sensitive">Mid Sensitive (--mid-sensitive)</option>
                 <option value="--sensitive">Sensitive (--sensitive)</option>
@@ -186,6 +211,9 @@
                 <option value="--very-sensitive">Very Sensitive (--very-sensitive)</option>
                 <option value="--ultra-sensitive">Ultra Sensitive (--ultra-sensitive)</option>
             </param>
+            <when value="--fast">
+                <expand macro="block_size_low_sens"/>
+            </when>
             <when value="">
                 <expand macro="block_size_low_sens"/>
             </when>
@@ -215,26 +243,14 @@
             <option value="PAM70">PAM70 ((6-8)/2; (9-11)/1) [10/1]</option>
             <option value="PAM30">PAM30 ((5-7)/2; (8-10)/1) [9/1]</option>
         </param>
-        <param argument="--gapopen" type="integer" optional="True" value="" label="Gap open penalty" help="leave empty for default (see scoring matrix)" />
-        <param argument="--gapextend" type="integer" optional="True" value="" label="Gap extension penalty" help="leave empty for default (see scoring matrix)" />
-        <param argument="--masking" type="boolean" truevalue="1" falsevalue="0" checked="true" label="enable masking of low complexity regions?" help="Masked residues appear in the output as X"/>
-        <conditional name="tax_cond">
-            <param name="tax_select" type="select" label="Restrict search taxonomically?" help="Any taxonomic rank can be used, and only reference sequences matching one of the specified taxon ids will be searched against">
-                <option value="no" selected="True">No</option>
-                <option value="list">list of taxids entered manually</option>
-                <option value="file">list of taxids from single column tabular file</option>
-            </param>
-            <when value="no"/>
-            <when value="list">
-                <param name="taxonlist" argument="--taxonlist" type="text" value="" label="comma separated list of taxon ids" help="">
-                    <validator type="regex" message="taxonlist needs to be a comma separated list of integers">[0-9,]*</validator>
-                    <validator type="expression" message="taxon ids 0 and 1 are not allowed">not ("0" in value.split(",") or "1" in value.split(","))</validator>
-                </param>
-            </when>
-            <when value="file">
-                <param name="taxonlistfile" argument="--taxonlist" type="data" format="tabular" label="Keep alignments within the given percentage range of the top alignment score for a quer" help="" />
-            </when>
-        </conditional>
+        <param argument="--gapopen" type="integer" optional="True" value="" label="Gap open penalty" help="Leave empty for default (see scoring matrix)" />
+        <param argument="--gapextend" type="integer" optional="True" value="" label="Gap extension penalty" help="Leave empty for default (see scoring matrix)" />
+        <param argument="--masking" type="select" label="Masking algorithm" help="DIAMOND by default applies the tantan repeat masking algorithm to the query and target sequences as described in (Frith, 2011). 
+            This masking procedure increases the specificity of alignments and serves to filter out spurious hits. Note that when using --comp-based-stats (2,3,4), tantan masking is disabled by default.">
+            <option value="0">Disabled</option>
+            <option value="1" selected="true">Tantan</option>
+            <option value="seg">SEG</option>
+        </param>
         <conditional name="filter_score">
             <param name="filter_score_select" type="select" label="Method to filter?" help="(--evalue/--min-score)">
                 <option value="evalue" selected="True">Maximum e-value to report alignments</option>
@@ -247,25 +263,60 @@
                 <param name="min_score" argument="--min-score" type="integer" value="0" label="Minimum bit score to keep an alignment" help="(--min-score)" />
             </when>
         </conditional>
+        <param argument="--iterate" type="boolean" truevalue="--iterate" falsevalue="" checked="false" 
+            label="Run multiple rounds of searches with increasing sensitivity" help="he query dataset will first be searched at a lower sensitivity setting, only searching those query sequences at 
+                the target sensitivity that fail to produce a significant alignment at a lower sensitivity." />
+        <param argument="--algo" type="select" label="Algorithm for seed search" help="Double-indexed is the main algorithm of the program, designed for large input files but less efficient for small 
+            query files. Query-indexed and improves performance for small query files. This mode will be automatically triggered based on the input. Contiguous-seed mode and further improves performance
+            for small query files. The modes differ slightly in their sensitivity, so results are not guaranteed to be 100% identical for different settings of this option.">
+            <option value="0">Doble-indexed (0)</option>
+            <option value="1">Query-indexed (1)</option>
+            <option value="ctg">Contiguous-seed mode (ctg)</option>
+        </param>
         <expand macro="hit_filter_macro" />
-        <param argument="--id" type="integer" value="0" label="Minimum identity percentage to report an alignment" help="" />
-        <param argument="--query-cover" type="integer" value="0" label="Minimum query cover percentage to report an alignment" help="" />
-        <param argument="--subject-cover" type="integer" value="0" label="Minimum subject cover percentage to report an alignment" help="" />
-        <param name="output_unal" type="select" optional="true" multiple="true" label="Output aligned/unaligned queries to separate file" help="">
-            <option value="--un">Output unaligned queries (--un)</option>
-            <option value="--al">Output alaligned queries (--al)</option>
-        </param>
+        <param argument="--global-ranking" type="integer" min="0" value="" optional="true" 
+            label="Limit on the number of Smith Waterman extensions" help="Target sequences will be ranked according to their ungapped extension scores at seed hits, and gapped extensions will only 
+                be computed for the best N targets for each query. Note that this option increases memory use." />
+        <param argument="--id" type="integer" value="0" label="Minimum identity percentage to report an alignment" help="Report only alignments above the given percentage of sequence identity" />
+        <param argument="--query-cover" type="integer" value="0" label="Minimum query cover percentage to report an alignment" help="Report only alignments above the given percentage of query cover" />
+        <param argument="--subject-cover" type="integer" value="0" label="Minimum subject cover percentage to report an alignment" help="Report only alignments above the given percentage of subject cover"/>
+        <section name="output_section" title="Output options">
+            <param argument="--max-hsps" type="integer" min="0" optional="true" label="Maximum number of HSPs" 
+                help="The maximum number of HSPs (High-Scoring Segment Pairs) per target sequence to report for each query. The default policy is to report only the highest-scoring 
+                    HSP for each target, while disregarding alternative, lower-scoring HSPs that are contained in the same target." />
+            <expand macro="output_type_macro">
+                <!-- Taxonomy features are not supported for the DAA format (i.e.
+                        can't be used in diamond view) -->
+                <option value="staxids">unique Subject Taxonomy ID(s), separated by a ';' (in numerical order)</option>
+                <option value="sskingdoms">Subject super kingdoms</option>
+                <option value="skingdoms">Subject kingdoms</option>
+                <option value="sphylums">Subject phylums</option>
+            </expand>
+            <param name="output_unal" type="select" optional="true" multiple="true" label="Output aligned/unaligned queries to separate file" help="">
+                <option value="--un">Output unaligned queries (--un)</option>
+                <option value="--al">Output alaligned queries (--al)</option>
+            </param>
+        </section>
+        <section name="advanced_section" title="Advanced options" expanded="false">
+            <param argument="--seed-cut" type="float" min="0" optional="true" label="Set a complexity cutoff for indexed seeds"/>
+            <param argument="--freq-masking" type="boolean" truevalue="--freq-masking" falsevalue="" checked="false" label="Enable masking seeds based on frequency" help="This option is incompatible with --sed-cut" />
+            <param argument="--motif-masking" type="select" label="Softmask abundant motifs" help="Enable or disable motif masking">
+                <option value="0">Disabled</option>
+                <option value="1">Enabled</option>
+            </param>
+        </section>
     </inputs>
     <outputs>
         <expand macro="output_macro" />
         <data format_source="query" name="unalqueries" label="${tool.name} on ${on_string}: unaligned queries">
-            <filter>output_unal and "--un" in output_unal</filter>
+            <filter>output_section['output_unal'] and "--un" in output_section['output_unal']</filter>
         </data>
         <data format_source="query" name="alqueries" label="${tool.name} on ${on_string}: aligned queries">
-            <filter>output_unal and "--un" in output_unal</filter>
+            <filter>output_section['output_unal'] and "--un" in output_section['output_unal']</filter>
         </data>
     </outputs>
     <tests>
+        <!--Test 01-->
         <test expect_num_outputs="3">
             <conditional name="method_cond">
                 <param name="method_select" value="blastp" />
@@ -275,12 +326,14 @@
                 <param name="db_source" value="history"/>
                 <param name="reference_database" value="db-wtax.dmnd"/>
             </conditional>
-            <conditional name="output">
-                <param name="outfmt" value="6"/>
-                <!-- removed ,cigar from test: https://github.com/bbuchfink/diamond/issues/532 -->
-                <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore,scovhsp,sskingdoms,skingdoms,sphylums"/>
-                <param name="unal" value="true"/>
-            </conditional>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <!-- removed ,cigar from test: https://github.com/bbuchfink/diamond/issues/532 -->
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore,scovhsp,sskingdoms,skingdoms,sphylums"/>
+                    <param name="unal" value="true"/>
+                </conditional>
+            </section>
             <conditional name="sens_cond">
                 <param name="sensitivity" value=""/>
             </conditional>
@@ -313,6 +366,7 @@
             </output>
             <output name="blast_tabular" file="diamond_results.tabular"/>
         </test>
+        <!--Test 02-->
         <test expect_num_outputs="1">
             <conditional name="method_cond">
                 <param name="method_select" value="blastp" />
@@ -326,10 +380,12 @@
                 <param name="tax_select" value="list"/>
                 <param name="taxonlist" value="2" />
             </conditional>
-            <conditional name="output">
-                <param name="outfmt" value="6"/>
-                <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
-            </conditional>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
             <conditional name="sens_cond">
                 <param name="sensitivity" value=""/>
             </conditional>
@@ -351,6 +407,7 @@
             </conditional>
             <output name="blast_tabular" file="diamond_results.wtax.tabular"/>
         </test>
+        <!--Test 03-->
         <test expect_num_outputs="1">
             <conditional name="method_cond">
                 <param name="method_select" value="blastx" />
@@ -363,9 +420,69 @@
                 <param name="db_source" value="history"/>
                 <param name="reference_database" value="db.dmnd"/>
             </conditional>
-            <conditional name="output">
-                <param name="outfmt" value="0"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="0"/>
+                </conditional>
+            </section>
+            <conditional name="sens_cond">
+                <param name="sensitivity" value=""/>
+            </conditional>
+            <param name="matrix" value="BLOSUM62"/>
+            <param name="comp_based_stats" value="1"/>
+            <param name="masking" value="1"/>
+            <conditional name="hit_filter">
+                <param name="hit_filter_select" value="top"/>
+                <param name="top" value="10" />
+            </conditional>
+            <conditional name="filter_score">
+                <param name="filter_score_select" value="min-score"/>
+                <param name="min_score" value="1" />
+            </conditional>
+            <param name="id" value="0"/>
+            <param name="query_cover" value="0"/>
+            <conditional name="sens_cond">
+                <param name="block_size" value="2"/>
+            </conditional>
+            <output name="blast_tabular" file="diamond_results.pairwise"/>
+        </test>
+        <!--Test 04-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastp" />
             </conditional>
+            <param name="query" value="protein.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="history"/>
+                <param name="reference_database" value="db-wtax.dmnd"/>
+            </conditional>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="100"/>
+                    <param name="salltitles" value="false"/>
+                    <param name="sallseqid" value="false"/>
+                </conditional>
+            </section>
+            <output name="daa_output" file="diamond_results.daa" compare="sim_size" delta="10"/>
+        </test>
+        <!--Test 05-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
+                <conditional name="frameshift_cond">
+                    <param name="frameshift_select" value="yes"/>
+                </conditional>
+            </conditional>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
+            </conditional>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="0"/>
+                </conditional>
+            </section>
             <conditional name="sens_cond">
                 <param name="sensitivity" value=""/>
             </conditional>
@@ -387,57 +504,140 @@
             </conditional>
             <output name="blast_tabular" file="diamond_results.pairwise"/>
         </test>
+        <!-- Test 06 iterate option-->
         <test expect_num_outputs="1">
             <conditional name="method_cond">
-                <param name="method_select" value="blastp" />
+                <param name="method_select" value="blastx" />
             </conditional>
-            <param name="query" value="protein.fasta" ftype="fasta"/>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
             <conditional name="ref_db_source">
-                <param name="db_source" value="history"/>
-                <param name="reference_database" value="db-wtax.dmnd"/>
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
             </conditional>
-            <conditional name="output">
-                <param name="outfmt" value="100"/>
-                <param name="salltitles" value="false"/>
-                <param name="sallseqid" value="false"/>
-            </conditional>
-            <output name="daa_output" file="diamond_results.daa" compare="sim_size" delta="10"/>
+            <param name="iterate" value="true"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_iterate.tabular"/>
         </test>
+        <!--Test 07 algo option-->
         <test expect_num_outputs="1">
             <conditional name="method_cond">
                 <param name="method_select" value="blastx" />
-                <conditional name="frameshift_cond">
-                    <param name="frameshift_select" value="yes"/>
+            </conditional>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
+            </conditional>
+            <param name="algo" value="1"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
                 </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_algorithm.tabular"/>
+        </test>
+        <!--Test 08 global-ranking option-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
+            </conditional>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
+            </conditional>
+            <param name="global_ranking" value="10"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_global_ranking.tabular"/>
+        </test>
+        <!--Test 09 max-hsps option-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
             </conditional>
             <param name="query" value="nucleotide.fasta" ftype="fasta"/>
             <conditional name="ref_db_source">
                 <param name="db_source" value="indexed"/>
                 <param name="index" value="testDb"/>
             </conditional>
-            <conditional name="output">
-                <param name="outfmt" value="0"/>
+            <param name="max_hsps" value="10"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_max_hsps.tabular"/>
+        </test>
+        <!--Test 10 seed-cut option-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
             </conditional>
-            <conditional name="sens_cond">
-                <param name="sensitivity" value=""/>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
+            </conditional>
+            <param name="seed_cut" value="100"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_seed_cut.tabular"/>
+        </test>
+        <!--Test 11 freq-masking option-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
             </conditional>
-            <param name="matrix" value="BLOSUM62"/>
-            <param name="comp_based_stats" value="1"/>
-            <param name="masking" value="1"/>
-            <conditional name="hit_filter">
-                <param name="hit_filter_select" value="top"/>
-                <param name="top" value="10" />
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
             </conditional>
-            <conditional name="filter_score">
-                <param name="filter_score_select" value="min-score"/>
-                <param name="min_score" value="1" />
+            <param name="freq_masking" value="true"/>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_freq_masking.tabular"/>
+        </test>
+        <!--Test 12 motif-masking option-->
+        <test expect_num_outputs="1">
+            <conditional name="method_cond">
+                <param name="method_select" value="blastx" />
             </conditional>
-            <param name="id" value="0"/>
-            <param name="query_cover" value="0"/>
-            <conditional name="sens_cond">
-                <param name="block_size" value="2"/>
+            <param name="query" value="nucleotide.fasta" ftype="fasta"/>
+            <conditional name="ref_db_source">
+                <param name="db_source" value="indexed"/>
+                <param name="index" value="testDb"/>
             </conditional>
-            <output name="blast_tabular" file="diamond_results.pairwise"/>
+            <section name="advanced_section">
+                <param name="motif_masking" value="1"/>
+            </section>
+            <section name="output_section">
+                <conditional name="output">
+                    <param name="outfmt" value="6"/>
+                    <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/>
+                </conditional>
+            </section>
+            <output name="blast_tabular" file="diamond_results_motif_masking.tabular"/>
         </test>
     </tests>
     <help>