Mercurial > repos > bgruening > diamond
diff diamond.xml @ 6:64be1ac21109 draft
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/diamond commit 2f6d48e1d2161d03411d9fbb4fc3d16f0fa3d2e1
author | bgruening |
---|---|
date | Thu, 27 Sep 2018 06:30:30 -0400 |
parents | 830516f9521b |
children | 62c9df8382c2 |
line wrap: on
line diff
--- a/diamond.xml Tue Aug 08 16:33:49 2017 -0400 +++ b/diamond.xml Thu Sep 27 06:30:30 2018 -0400 @@ -1,4 +1,4 @@ -<tool id="bg_diamond" name="Diamond" version="@VERSION@.1"> +<tool id="bg_diamond" name="Diamond" version="@VERSION@.0"> <description>alignment tool for short sequences against a protein database</description> <macros> <import>macros.xml</import> @@ -18,26 +18,21 @@ && diamond - $method_select.method_select + $method_cond.method_select --threads "\${GALAXY_SLOTS:-12}" --db ./database --query '$query' - #if $method_select.method_select == "blastx" - --query-gencode '$query_gencode' + #if $method_cond.method_select == "blastx" + --query-gencode '$method_cond.query_gencode' + --strand '$method_cond.query_strand' + --min-orf $method_cond.min_orf + #if $method_cond.frameshift_cond.frameshift_select == 'yes' + --frameshift $method_cond.frameshift_cond.frameshift + $method_cond.frameshift_cond.range_culling + #end if #end if - #if $output.outfmt == "5" - --outfmt '5' - --out '$blast_xml' - $output.salltitles - #else if $output.outfmt == "6" - --outfmt '6' #echo ' '.join(str($output.fields).split(',')) - --out '$blast_tabular' - #else if $output.outfmt == "101" - --outfmt '101' - --out '$sam_output' - $output.salltitles - #end if + @OUTPUT_ARGS@ --compress '0' #if $sensitivity == "1" @@ -46,16 +41,17 @@ --more-sensitive #end if - --gapopen '$gapopen' - --gapextend '$gapextend' + #if str($gapopen) != "": + --gapopen '$gapopen' + #end if + #if str($gapextend) != "": + --gapextend '$gapextend' + #end if --matrix '$matrix' - --seg '$seg' + --comp-based-stats '$comp_based_stats' + --masking '$masking' - #if str($hit_filter.hit_filter_select) == 'max': - --max-target-seqs '$hit_filter.max_target_seqs' - #else: - --top '$hit_filter.top' - #end if + @HITFILTER_ARGS@ #if str($filter_score.filter_score_select) == 'evalue': --evalue '$filter_score.evalue' @@ -65,131 +61,120 @@ --id '$id' --query-cover '$query_cover' + --subject-cover '$subject_cover' --block-size '$block_size' + #if str($unal) == '1': + --unal 1 --un '$unalqueries' + #end if + $no_self_hits + #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 ]]> </command> - <inputs> - <conditional name="method_select"> - <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> - <when value="blastx"> - <param name="query_gencode" 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="16">Chlorophycean Mitochondrial Code</option> - <option value="21">Trematode Mitochondrial Code</option> - <option value="22">Scenedesmus obliquus Mitochondrial Code</option> - <option value="23">Thraustochytrium Mitochondrial Code</option> - <option value="24">Pterobranchia Mitochondrial Code</option> - <option value="5">Candidate Division SR1 and Gracilibacteria Code</option> - <option value="26">Pachysolen tannophilus Nuclear Code</option> + <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> - </when> - <when value="blastp"> - </when> + <when value="blastx"> + <param name="query_gencode" 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="16">Chlorophycean Mitochondrial Code</option> + <option value="21">Trematode Mitochondrial Code</option> + <option value="22">Scenedesmus obliquus Mitochondrial Code</option> + <option value="23">Thraustochytrium Mitochondrial Code</option> + <option value="24">Pterobranchia Mitochondrial Code</option> + <option value="25">Candidate Division SR1 and Gracilibacteria Code</option> + <option value="26">Pachysolen tannophilus Nuclear Code</option> + </param> + <param argument="--min-orf" name="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> + <option value="minus">Minus</option> + </param> + <conditional name="frameshift_cond"> + <param name="frameshift_select" type="select" label="Allow for frameshifts?" help=""> + <option value="yes">yes</option> + <option value="no" selected="true">no</option> + </param> + <when value="yes"> + <param argument="--range-culling" name="range_culling" type="boolean" truevalue="--range-culling" falsevalue="" checked="false" label="restrict hit culling to overlapping query ranges" help="This feature is designed for long query DNA sequences that may span several genes. In these cases, the default of reporting the 25 best overall hits could cause hits to a lower scoring gene to be overshadowed. But just increasing the number of alignments reported will bloat the output size and reduce performance. Using this feature along with -k 25 (default), a hit will only be deleted if at least 50% of its query range is spanned by at least 25 higher or equal scoring hits. Using this feature along with --top 10, a hit will only be deleted if its score is more than 10% lower than that of a higher scoring hit over at least 50% of its query range. The percentage is configurable using --range-cover. Note that this feature is currently only available in frameshift alignment mode"/> + <param argument="--frameshift" type="integer" value="0" label="frame shift penalty" help="Values around 15 are reasonable for this parameter. Enabling this feature will have the aligner tolerate missing bases in DNA sequences and is most recommended for long, error-prone sequences like MinION reads. In the pairwise output format, frameshifts will be indicated by \ and / for a shift by +1 and -1 nucleotide in the direction of translation respectively." /> + </when> + <when value="no"/> + </conditional> + </when> + <when value="blastp"> + </when> </conditional> <param argument="--query" type="data" format="fasta,fastq" label="Input query file in FASTA or FASTQ format" /> <conditional name="ref_db_source"> - <param name="db_source" type="select" label="Will you select a reference database from your history or use a built-in index?" help="Built-ins were indexed using default options"> - <option value="indexed">Use a built-in index</option> - <option value="history">Use one from the history</option> - </param> - <when value="indexed"> - <param name="index" type="select" label="Select a reference database" help="If your database of interest is not listed, contact your Galaxy admin"> - <options from_data_table="diamond_database"> - <filter type="sort_by" column="2"/> - <validator type="no_options" message="No indexes are available for the selected input dataset"/> - </options> - </param> - </when> - <when value="history"> - <param name="reference_database" type="data" format="dmnd" label="Select the reference database" /> - </when> - </conditional> - <conditional name="output"> - <param argument="--outfmt" type="select" label="Format of output file " help=""> - <option value="5">BLAST XML</option> - <option value="6">BLAST tabular</option> - <option value="101">SAM</option> + <param name="db_source" type="select" label="Will you select a reference database from your history or use a built-in index?" help="Built-ins were indexed using default options"> + <option value="indexed">Use a built-in index</option> + <option value="history">Use one from the history</option> </param> - <when value="5"> - <param argument="--salltitles" type="boolean" truevalue="--salltitles" falsevalue="" checked="true" label="Include full length subject titles in output?" help=""/> - </when> - <when value="6"> - <param name="fields" type="select" label="Tabular fields" help="" multiple="true"> - <option value="qseqid" selected="true">Query Seq - id</option> - <option value="sseqid" selected="true">Subject Seq - id</option> - <option value="sallseqid">All subject Seq - id(s)</option> - <option value="qlen">Query sequence length</option> - <option value="slen">Subject sequence length</option> - <option value="pident" selected="true">Percentage of identical matches</option> - <option value="length" selected="true">Alignment length</option> - <option value="nident">Number of identical matches</option> - <option value="mismatch" selected="true">Number of mismatches</option> - <option value="positive">Number of positive - scoring matches</option> - <option value="gapopen" selected="true">Number of gap openings</option> - <option value="gaps">Total number of gaps</option> - <option value="ppos">Percentage of positive - scoring matches</option> - <option value="qstart" selected="true">Start of alignment in query</option> - <option value="qend" selected="true">End of alignment in query</option> - <option value="sstart" selected="true">Start of alignment in subject</option> - <option value="send" selected="true">End of alignment in subject</option> - <option value="qseq">Aligned part of query sequence</option> - <option value="sseq">Aligned part of subject sequence</option> - <option value="evalue" selected="true">Expect value</option> - <option value="bitscore" selected="true">Bit score</option> - <option value="score">Raw score</option> - <option value="qframe">Query frame</option> - <option value="stitle">Subject Title</option> - <option value="salltitles">All Subject Title(s)</option> - <option value="qcovhsp">Query Coverage Per HSP</option> + <when value="indexed"> + <param name="index" type="select" label="Select a reference database" help="If your database of interest is not listed, contact your Galaxy admin"> + <options from_data_table="diamond_database"> + <filter type="sort_by" column="2"/> + <validator type="no_options" message="No indexes are available for the selected input dataset"/> + </options> </param> </when> - <when value="101"> - <param argument="--salltitles" type="boolean" truevalue="--salltitles" falsevalue="" checked="true" label="Include full length subject titles in output?" help=""/> + <when value="history"> + <param name="reference_database" type="data" format="dmnd" label="Select the reference database" /> </when> </conditional> - <param name='sensitivity' type="select" label="Sensitivity Mode" help="Choose one of the sensitivity modes. More sensitivity may increase computation time"> - <option value="0" selected="True">Default</option> - <option value="1">Sensitive</option> - <option value="2">More Sensitive</option> + <expand macro="output_type_macro" /> + <param name="no_self_hits" argument="--no-self-hits" type="boolean" truevalue="--no-self-hits" falsevalue="" checked="true" label="suppress reporting of identical self hits?" help=""/> + <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="0" selected="True">Default</option> + <option value="1">Sensitive</option> + <option value="2">More Sensitive</option> + </param> + <param argument="--matrix" type="select" label="Scoring matrix" help="In parentheses are the supported values for (gap open)/(gap extend). In brackets are default gap penalties"> + <option value="BLOSUM45">BLOSUM45 ((10-13)/3; (12-16)/2; (16-19)/1) [14/2]</option> + <option value="BLOSUM50">BLOSUM50 ((9-13)/3; (12-16)/2; (15-19)/1) [13/2]</option> + <option value="BLOSUM62" selected="True">BLOSUM62 ((6-11)/2; (9-13)/1) [11/1]</option> + <option value="BLOSUM80">BLOSUM80 ((6-9)/2; 13/2; 25/2; (9-11)/1) [10/1]</option> + <option value="BLOSUM90">BLOSUM90 ((6-9)/2; (9-11)/1) [10/1]</option> + <option value="PAM250">PAM250 ((11-15)/3; (13-17)/2; (17-21)/1) [14/2]</option> + <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" value="11" label="Gap open penalty" help="" /> - <param argument="--gapextend" type="integer" value="1" label="Gap extension penalty" help="" /> - <param argument="--matrix" type="select" label="Scoring matrix" help="In brackets are the supported values for (gap open)/(gap extend)"> - <option value="BLOSUM45">BLOSUM45 ((10-13)/3; (12-16)/2; (16-19)/1)</option> - <option value="BLOSUM50">BLOSUM50 ((9-13)/3; (12-16)/2; (15-19)/1)</option> - <option value="BLOSUM62" selected="True">BLOSUM62 ((6-11)/2; (9-13)/1)</option> - <option value="BLOSUM80">BLOSUM80 ((6-9)/2; 13/2; 25/2; (9-11)/1)</option> - <option value="BLOSUM90">BLOSUM90 ((6-9)/2; (9-11)/1)</option> - <option value="PAM250">PAM250 ((11-15)/3; (13-17)/2; (17-21)/1)</option> - <option value="PAM70">PAM70 ((6-8)/2; (9-11)/1)</option> - <option value="PAM30">PAM30 ((5-7)/2; (8-10)/1)</option> - </param> - <param argument="--seg" type="boolean" truevalue="yes" falsevalue="no" checked="true" label="Enable SEG masking of low complexity segments in the query?" help=""/> - <conditional name="hit_filter"> - <param name="hit_filter_select" type="select" label="Method to restrict the number of hits?"> - <option value="max">Maximum number of target sequences</option> - <option value="top">Percentage of top alignment score</option> + <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 name="comp_based_stats" argument="--comp-based-stats" type="boolean" truevalue="1" falsevalue="0" checked="true" label="enable 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"/> + <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">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="max"> - <param name="max_target_seqs" argument="--max-target-seqs" type="integer" value="25" label="The maximum number of target sequences per query to keep alignments for" help="" /> + <when value="no"/> + <when value="list"> + <param name="taxonlist" argument="--taxonlist" type="text" value="" label="comma separated list of taxon ids" help="" /> </when> - <when value="top"> - <param argument="--top" type="integer" value="0" label="Keep alignments within the given percentage range of the top alignment score for a quer" help="" /> + <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="filter_score"> @@ -204,47 +189,131 @@ <param name="min_score" argument="--min-score" type="integer" value="0" label="Minimum bit score to keep an alignment" help="(--min-score)" /> </when> </conditional> + <expand macro="hit_filter_macro" /> <param argument="--id" type="integer" value="0" label="Minimum identity percentage to report an alignment" help="" /> <param name="query_cover" argument="--query-cover" type="integer" value="0" label="Minimum query cover percentage to report an alignment" help="" /> + <param name="subject_cover" argument="--subject-cover" type="integer" value="0" label="Minimum subject cover percentage to report an alignment" help="" /> <param name="block_size" argument="--block-size" type="float" value="2" label="Block size in billions of sequence letters to be processed at a time" help="" /> + <param argument="--unal" type="boolean" truevalue="1" falsevalue="0" checked="false" label="report unaligned queries" help=""/> </inputs> - <outputs> - <data format="xml" name="blast_xml" label="${tool.name} on ${on_string}"> - <filter>output["outfmt"] == "5"</filter> - </data> - <data format="tabular" name="blast_tabular" label="${tool.name} on ${on_string}"> - <filter>output["outfmt"] == "6"</filter> - </data> - <data format="sam" name="sam_output" label="${tool.name} on ${on_string}"> - <filter>output["outfmt"] == "101"</filter> + <expand macro="output_macro" /> + <data format="fasta" name="unalqueries" label="${tool.name} on ${on_string} (unaligned queries)"> + <filter>unal == "1"</filter> </data> </outputs> - <tests> <test> - <param name="method_select" value="blastp" /> + <conditional name="method_cond"> + <param name="method_select" value="blastp" /> + </conditional> <param name="query" value="protein.fasta" ftype="fasta"/> - <param name="db_source" value="history"/> - <param name="reference_database" value="db.dmnd"/> - <param name="outfmt" value="6"/> - <param name="fields" value="qseqid,sseqid,pident,length,mismatch,gapopen,qstart,qend,sstart,send,evalue,bitscore"/> + <conditional name="ref_db_source"> + <param name="db_source" value="history"/> + <param name="reference_database" value="db.dmnd"/> + </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> <param name="sensitivity" value="0"/> - <param name="gapopen" value="11"/> - <param name="gapextend" value="1"/> <param name="matrix" value="BLOSUM62"/> - <param name="seg" value="yes"/> - <param name="hit_filter_select" value="max"/> - <param name="max_target_seqs" value="25" /> - <param name="filter_score_select" value="evalue"/> - <param name="evalue" value="0.001" /> + <param name="comp-based-stat" value="1"/> + <param name="masking" value="1"/> + <conditional name="hit_filter"> + <param name="hit_filter_select" value="max"/> + <param name="max_target_seqs" value="25" /> + </conditional> + <conditional name="filter_score"> + <param name="filter_score_select" value="evalue"/> + <param name="evalue" value="0.001" /> + </conditional> <param name="id" value="0"/> <param name="query_cover" value="0"/> <param name="block_size" value="2"/> <output name="blast_tabular" file="diamond_results.tabular"/> </test> + <test> + <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> + <conditional name="tax_cond"> + <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> + <param name="sensitivity" value="0"/> + <param name="matrix" value="BLOSUM62"/> + <param name="comp-based-stat" value="1"/> + <param name="masking" value="1"/> + <conditional name="hit_filter"> + <param name="hit_filter_select" value="max"/> + <param name="max_target_seqs" value="25" /> + </conditional> + <conditional name="filter_score"> + <param name="filter_score_select" value="evalue"/> + <param name="evalue" value="0.001" /> + </conditional> + <param name="id" value="0"/> + <param name="query_cover" value="0"/> + <param name="block_size" value="2"/> + <output name="blast_tabular" file="diamond_results.wtax.tabular"/> + </test> + <test> + <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="history"/> + <param name="reference_database" value="db.dmnd"/> + </conditional> + <conditional name="output"> + <param name="outfmt" value="0"/> + </conditional> + <param name="sensitivity" value="0"/> + <param name="matrix" value="BLOSUM62"/> + <param name="comp-based-stat" 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="score"/> + <param name="evalue" value="1" /> + </conditional> + <param name="id" value="0"/> + <param name="query_cover" value="0"/> + <param name="block_size" value="2"/> + <output name="blast_tabular" file="diamond_results.pairwise"/> + </test> + <test> + <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> + <conditional name="output"> + <param name="outfmt" value="100"/> + </conditional> + <output name="daa_output" file="diamond_results.daa" compare="sim_size" delta="10"/> + </test> </tests> - <help> <![CDATA[