Mercurial > repos > bgruening > diamond
changeset 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 | 3c6b132b154a |
children | 62c9df8382c2 |
files | diamond.xml diamond_makedb.xml diamond_view.xml macros.xml test-data/db-wtax.dmnd test-data/db.dmnd test-data/db.fasta test-data/diamond_results.daa test-data/diamond_results.pairwise test-data/diamond_results.sam test-data/diamond_results.tabular test-data/diamond_results.wtax.tabular test-data/diamond_results.xml test-data/nodes.dmp test-data/nucleotide.fasta test-data/prot.accession2taxid test-data/protein.fasta |
diffstat | 17 files changed, 631 insertions(+), 163 deletions(-) [+] |
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[
--- a/diamond_makedb.xml Tue Aug 08 16:33:49 2017 -0400 +++ b/diamond_makedb.xml Thu Sep 27 06:30:30 2018 -0400 @@ -10,16 +10,32 @@ <command> <!-- DB has two files, *.dmnd and *.tx --> -<![CDATA[ + <![CDATA[ diamond makedb --threads "\${GALAXY_SLOTS:-12}" --in '$infile' --db ./database -]]> + + #if str($tax_cond.tax_select) == 'yes': + --taxonmap '$tax_cond.taxonmap' + --taxonnodes '$tax_cond.taxonnodes' + #end if + ]]> </command> <inputs> - <param name="infile" type="data" format="fasta" label="Input reference file in FASTA format" /> + <param name="infile" type="data" format="fasta" label="Input reference file in FASTA format" /> + <conditional name="tax_cond"> + <param name="tax_select" type="select" label="Add taxonomic data?" help="Needs to be supplied in order to provide taxonomy features of the aligner"> + <option value="yes">Yes</option> + <option value="no" selected="true">No</option> + </param> + <when value="yes"> + <param argument="--taxonmap" type="data" format="tabular" label="protein accession to taxid mapping file" help="" /> + <param argument="--taxonnodes" type="data" format="tabular" label="taxonomy nodes.dmp from NCBI" help="" /> + </when> + <when value="no"/> + </conditional> </inputs> <outputs> @@ -29,7 +45,16 @@ <tests> <test> <param name="infile" value="db.fasta" ftype="fasta"/> - <output name="outfile" value="db.dmnd"/> + <output name="outfile" value="db.dmnd" compare="sim_size" delta="2"/> + </test> + <test> + <param name="infile" value="db.fasta" ftype="fasta"/> + <conditional name="tax_cond"> + <param name="tax_select" value="yes"/> + <param name="taxonmap" ftype="tabular" value="prot.accession2taxid" /> + <param name="taxonnodes" ftype="tabular" value="nodes.dmp" /> + </conditional> + <output name="outfile" value="db-wtax.dmnd" compare="sim_size" delta="2"/> </test> </tests> @@ -48,6 +73,9 @@ .. _DIAMOND: http://ab.inf.uni-tuebingen.de/software/diamond/ +- taxonmap: Path to mapping file that maps NCBI protein accession numbers to taxon ids (gzip compressed). This parameter is optional and needs to be supplied in order to provide taxonomy features. The file can be downloaded from NCBI: ftp://ftp.ncbi.nlm.nih.gov/pub/taxonomy/accession2taxid/prot.accession2taxid.gz + +- taxonnodes: Path to the nodes.dmp file from the NCBI taxonomy. This parameter is optional and needs to be supplied in order to provide taxonomy features. The file is contained within this archive downloadable at NCBI: ftp://ftp.ncbi.nlm.nih.gov/pub/taxonomy/taxdmp.zip ]]> </help>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/diamond_view.xml Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,98 @@ +<tool id="bg_diamond_view" name="Diamond" version="@VERSION@"> + <description>generate formatted output from DAA files</description> + <macros> + <import>macros.xml</import> + </macros> + <expand macro="requirements" /> + <expand macro="stdio" /> + <expand macro="version_command" /> + <command><![CDATA[ + ## need to link because diamont tries to open dataset_xxx.dat.daa + ln -s '$daa' input.daa && + diamond + view + --daa input.daa + @OUTPUT_ARGS@ + @HITFILTER_ARGS@ + $forwardonly + --compress '0' + ]]> + </command> + <inputs> + <param argument="--daa" type="data" format="daa" label="input file in DAA format" /> + <expand macro="output_type_macro" /> + <expand macro="hit_filter_macro" /> + <param argument="--forwardonly" type="boolean" truevalue="--forwardonly" falsevalue="" checked="false" label="only show alignments of forward strand" help=""/> + </inputs> + <outputs> + <expand macro="output_macro" /> + </outputs> + <tests> + <test> + <param name="daa" ftype="daa" value="diamond_results.daa" /> + <conditional name="output"> + <param name="outfmt" value="5"/> + </conditional> + <conditional name="hit_filter"> + <param name="hit_filter_select" value="max"/> + <param name="max_target_seqs" value="1" /> + </conditional> + <output name="blast_tabular" file="diamond_results.xml"/> + </test> + <test> + <param name="daa" ftype="daa" value="diamond_results.daa" /> + <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> + <output name="blast_tabular" file="diamond_results.tabular"/> + </test> + <test> + <param name="daa" ftype="daa" value="diamond_results.daa" /> + <conditional name="output"> + <param name="outfmt" value="101"/> + </conditional> + <conditional name="hit_filter"> + <param name="hit_filter_select" value="top"/> + <param name="max_target_seqs" value="1" /> + </conditional> + <param name="forwardonly" value="--forwardonly" /> + <output name="blast_tabular" file="diamond_results.sam"/> + </test> + </tests> + + <help> +<![CDATA[ + +**What it does** + +Converts diamond daa files to multiple other formats. + +**Input** + +Input data is a daa file. + + +**Output** + +Alignment results in BLAST format (pairwise/tabular), xml, sam, taxonomic (Note the latter does not work with the current diamond version. ) + +BLAST tables contain the following columns. + +Column Description +1 Query Seq-id (ID of your sequence) +2 Subject Seq-id (ID of the database hit) +3 Percentage of identical matches +4 Alignment length +5 Number of mismatches +6 Number of gap openings +7 Start of alignment in query +8 End of alignment in query +9 Start of alignment in subject (database hit) +10 End of alignment in subject (database hit) +11 Expectation value (E-value) +12 Bit score +]]> + </help> + <expand macro="citations" /> +</tool>
--- a/macros.xml Tue Aug 08 16:33:49 2017 -0400 +++ b/macros.xml Thu Sep 27 06:30:30 2018 -0400 @@ -1,5 +1,5 @@ <macros> - <token name="@VERSION@">0.8.24</token> + <token name="@VERSION@">0.9.21</token> <xml name="requirements"> <requirements> @@ -9,6 +9,12 @@ <xml name="stdio"> <stdio> + <!-- disabled error detection by exit code to be able to detect oom errors by + regex, can be reenabled when https://github.com/galaxyproject/galaxy/pull/6338 is merged + <exit_code range=":-1" level="fatal" description="Error occurred. Please check Tool Standard Error" /> + <exit_code range="1:" level="fatal" description="Error occurred. Please check Tool Standard Error" />--> + <regex match="Failed to allocate sufficient memory." source="stderr" level="fatal_oom" /> + <regex match=".+" source="stderr" level="fatal" description=""/> </stdio> </xml> @@ -16,9 +22,135 @@ <version_command>diamond version</version_command> </xml> + <xml name="output_type_macro"> + <conditional name="output"> + <param argument="--outfmt" type="select" label="Format of output file " help=""> + <option value="0">BLAST pairwise</option> + <option value="5">BLAST XML</option> + <option value="6">BLAST tabular</option> + <option value="100">DAA</option> + <option value="101">SAM</option> + <option value="102">Taxonomic classification</option> + </param> + <when value="0"/> + <when value="5"/> + <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="btop">Blast traceback operations(BTOP)</option> + <option value="staxids">unique Subject Taxonomy ID(s), separated by a ';' (in numerical order)</option> + <option value="stitle">Subject Title</option> + <option value="salltitles">All Subject Title(s)</option> + <option value="qcovhsp">Query Coverage Per HSP</option> + <option value="qtitle">Query title</option> + </param> + </when> + <when value="100"> + <param argument="--salltitles" type="boolean" truevalue="--salltitles" falsevalue="" checked="true" label="Include full subject titles in DAA file?" help=""/> + <param argument="--sallseqid" type="boolean" truevalue="--sallseqid" falsevalue="" checked="true" label="Include all subject ids in DAA file?" help=""/> + </when> + <when value="101"> + <param argument="--salltitles" type="boolean" truevalue="--salltitles" falsevalue="" checked="true" label="Include full subject titles in DAA file?" help=""/> + <param argument="--sallseqid" type="boolean" truevalue="--sallseqid" falsevalue="" checked="true" label="Include all subject ids in DAA file?" help=""/> + </when> + <when value="102"/> + </conditional> + </xml> + + <xml name="hit_filter_macro"> + <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> + <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 report alignments for" help="Setting this to 0 will report all alignments that were found." /> + </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 query" help="For example, setting this to 10 will report all align- +ments whose score is at most 10% lower than the best alignment score for a query." /> + </when> + </conditional> + </xml> + <xml name="citations"> <citations> <citation type="doi">10.1038/nmeth.3176</citation> </citations> </xml> + + + <xml name="output_macro"> + <data format="txt" name="blast_pairw" label="${tool.name} on ${on_string}"> + <filter>output["outfmt"] == "0"</filter> + </data> + <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> + <!-- for daa diamond appends the .daa extension -> hence from_work_dir --> + <data format="daa" name="daa_output" label="${tool.name} on ${on_string}" from_work_dir="output.daa"> + <filter>output["outfmt"] == "100"</filter> + </data> + <data format="sam" name="sam_output" label="${tool.name} on ${on_string}"> + <filter>output["outfmt"] == "101"</filter> + </data> + <data format="tabular" name="tax_output" label="${tool.name} on ${on_string}"> + <filter>output["outfmt"] == "102"</filter> + </data> + </xml> + + <token name="@OUTPUT_ARGS@"> + #if $output.outfmt == "0" + --outfmt '0' + --out '$blast_pairw' + #else if $output.outfmt == "5" + --outfmt '5' + --out '$blast_xml' + #else if $output.outfmt == "6" + --outfmt '6' #echo ' '.join(str($output.fields).split(',')) + --out '$blast_tabular' + #else if $output.outfmt == "100" + --outfmt '100' + --out output.daa + #else if $output.outfmt == "101" + --outfmt '101' + --out '$sam_output' + #else if $output.outfmt == "102" + --outfmt '102' + --out '$tax_output' + #end if + </token> + + <token name="@HITFILTER_ARGS@"> + #if str($hit_filter.hit_filter_select) == 'max': + --max-target-seqs '$hit_filter.max_target_seqs' + #else: + --top '$hit_filter.top' + #end if + </token> </macros>
--- a/test-data/db.fasta Tue Aug 08 16:33:49 2017 -0400 +++ b/test-data/db.fasta Thu Sep 27 06:30:30 2018 -0400 @@ -4,3 +4,9 @@ LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL GLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGX IENY +>gi|5524212|gb|AAD44167.1| cytochrome c [Elephas minimus minimus] +LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAGGGGGGGWGQMSFWGATVITNLFSAIPYIGTNLV +EWIWGGFSVDKAAAAAAAAAAAAAAAAAAAAAAAAATFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG +LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL +GLMPFLHTSKHRSMMLRPLSQALAAAAAAAAAAAAAAAAAAAAAAATIIGQMASILYFSIILAFLPIAGX +IENY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/diamond_results.pairwise Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,34 @@ +BLASTP 2.3.0+ + + +Query= sequence more text + +Length=849 + +>gi|5524211|gb|AAD44166.1| cytochrome b [Elephas maximus maximus] +Length=284 + + Score = 541.2 bits (1393), Expect = 2.0e-158 + Identities = 283/284 (99%), Positives = 283/284 (99%), Gaps = 1/284 (0%) + Frame = 1 + +Query 1 LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFS 180 + LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFS +Sbjct 1 LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFS 60 + +Query 181 AIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFIL-FTMVALAGVHLTFLHETGSNNPLGL 357 + AIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFIL FTMVALAGVHLTFLHETGSNNPLGL +Sbjct 61 AIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGL 120 + +Query 358 TSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPE 537 + TSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPE +Sbjct 121 TSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPE 180 + +Query 538 WYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMD 717 + WYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMD +Sbjct 181 WYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMD 240 + +Query 718 LLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY 849 + LLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY +Sbjct 241 LLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY 284 +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/diamond_results.sam Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,6 @@ +@HD VN:1.5 SO:query +@PG PN:DIAMOND +@mm BlastP +@CO BlastP-like alignments +@CO Reporting AS: bitScore, ZR: rawScore, ZE: expected, ZI: percent identity, ZL: reference length, ZF: frame, ZS: query start DNA coordinate +sequence 0 gi|5524211|gb|AAD44166.1| 1 255 94M1D189M * 0 0 LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFILFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY * AS:i:541 NM:i:1 ZL:i:284 ZR:i:1393 ZE:f:2.0e-158 ZI:i:99 ZF:i:1 ZS:i:1 MD:Z:94^P189
--- a/test-data/diamond_results.tabular Tue Aug 08 16:33:49 2017 -0400 +++ b/test-data/diamond_results.tabular Thu Sep 27 06:30:30 2018 -0400 @@ -1,1 +1,2 @@ -sequence gi|5524211|gb|AAD44166.1| 90.5 284 26 1 1 283 1 284 1.0e-152 521.2 +sequence gi|5524211|gb|AAD44166.1| 99.6 284 0 1 1 283 1 284 2.0e-158 541.2 +sequence gi|5524212|gb|AAD44167.1| 74.6 284 71 1 1 283 1 284 1.3e-106 369.0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/diamond_results.wtax.tabular Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,1 @@ +sequence gi|5524211|gb|AAD44166.1| 99.6 284 0 1 1 283 1 284 2.0e-158 541.2
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/diamond_results.xml Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,69 @@ +<?xml version="1.0"?> +<!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd"> +<BlastOutput> + <BlastOutput_program>blastp</BlastOutput_program> + <BlastOutput_version>diamond 0.9.21</BlastOutput_version> + <BlastOutput_reference>Benjamin Buchfink, Xie Chao, and Daniel Huson (2015), "Fast and sensitive protein alignment using DIAMOND", Nature Methods 12:59-60.</BlastOutput_reference> + <BlastOutput_db>.dmnd</BlastOutput_db> + <BlastOutput_query-ID>Query_1</BlastOutput_query-ID> + <BlastOutput_query-def>sequence</BlastOutput_query-def> + <BlastOutput_query-len>283</BlastOutput_query-len> + <BlastOutput_param> + <Parameters> + <Parameters_matrix>blosum62</Parameters_matrix> + <Parameters_expect>0.001</Parameters_expect> + <Parameters_gap-open>11</Parameters_gap-open> + <Parameters_gap-extend>1</Parameters_gap-extend> + <Parameters_filter>F</Parameters_filter> + </Parameters> + </BlastOutput_param> +<BlastOutput_iterations> +<Iteration> + <Iteration_iter-num>1</Iteration_iter-num> + <Iteration_query-ID>Query_1</Iteration_query-ID> + <Iteration_query-def>sequence</Iteration_query-def> + <Iteration_query-len>283</Iteration_query-len> +<Iteration_hits> +<Hit> + <Hit_num>1</Hit_num> + <Hit_id>gi|5524211|gb|AAD44166.1|</Hit_id> + <Hit_def></Hit_def> + <Hit_accession>AAD44166.1</Hit_accession> + <Hit_len>284</Hit_len> + <Hit_hsps> + <Hsp> + <Hsp_num>1</Hsp_num> + <Hsp_bit-score>541.2</Hsp_bit-score> + <Hsp_score>1393</Hsp_score> + <Hsp_evalue>2.0e-158</Hsp_evalue> + <Hsp_query-from>1</Hsp_query-from> + <Hsp_query-to>284</Hsp_query-to> + <Hsp_hit-from>1</Hsp_hit-from> + <Hsp_hit-to>284</Hsp_hit-to> + <Hsp_query-frame>0</Hsp_query-frame> + <Hsp_hit-frame>0</Hsp_hit-frame> + <Hsp_identity>283</Hsp_identity> + <Hsp_positive>283</Hsp_positive> + <Hsp_gaps>1</Hsp_gaps> + <Hsp_align-len>284</Hsp_align-len> + <Hsp_qseq>LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFIL-FTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY</Hsp_qseq> + <Hsp_hseq>LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFILPFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY</Hsp_hseq> + <Hsp_midline>LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLVEWIWGGFSVDKATLNRFFAFHFIL FTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLGLXXXXXXXXXXXXXSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVILGLMPFLHTSKHRSMMLRPLSQALFWTLTMDLLTLTWIGSQPVEYPYTIIGQMASILYFSIILAFLPIAGXIENY</Hsp_midline> + </Hsp> + </Hit_hsps> +</Hit> +</Iteration_hits> + <Iteration_stat> + <Statistics> + <Statistics_db-num>2</Statistics_db-num> + <Statistics_db-len>568</Statistics_db-len> + <Statistics_hsp-len>0</Statistics_hsp-len> + <Statistics_eff-space>0</Statistics_eff-space> + <Statistics_kappa>0.041000</Statistics_kappa> + <Statistics_lambda>0.267000</Statistics_lambda> + <Statistics_entropy>0</Statistics_entropy> + </Statistics> + </Iteration_stat> +</Iteration> +</BlastOutput_iterations> +</BlastOutput> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/nodes.dmp Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,3 @@ +1 | 1 | no rank | | 8 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | | +2 | 1 | species | AC | 0 | 1 | 11 | 1 | 0 | 1 | 1 | 0 | | +3 | 1 | species | AC | 0 | 1 | 11 | 1 | 0 | 1 | 1 | 0 | |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/nucleotide.fasta Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,17 @@ +>sequence more text +CTGTGCCTGTACACCCACATCGGCAGAAACATCTACTACGGCAGCTACCTGTACAGCGAG +ACCTGGAACACCGGCATCATGCTGCTGCTGATCACCATGGCCACCGCCTTCATGGGCTAC +GTGCTGCCCTGGGGCCAGATGAGCTTCTGGGGCGCCACCGTGATCACCAACCTGTTCAGC +GCCATCCCCTACATCGGCACCAACCTGGTGGAGTGGATCTGGGGCGGCTTCAGCGTGGAC +AAGGCCACCCTGAACAGATTCTTCGCCTTCCACTTCATCCTGTTCACCATGGTGGCCCTG +GCCGGCGTGCACCTGACCTTCCTGCACGAGACCGGCAGCAACAACCCCCTGGGCCTGACC +AGCGACAGCGACAAGATCCCCTTCCACCCCTACTACACCATCAAGGACTTCCTGGGCCTG +CTGATCCTGATCCTGCTGCTGCTGCTGCTGGCCCTGCTGAGCCCCGACATGCTGGGCGAC +CCCGACAACCACATGCCCGCCGACCCCCTGAACACCCCCCTGCACATCAAGCCCGAGTGG +TACTTCCTGTTCGCCTACGCCATCCTGAGAAGCGTGCCCAACAAGCTGGGCGGCGTGCTG +GCCCTGTTCCTGAGCATCGTGATCCTGGGCCTGATGCCCTTCCTGCACACCAGCAAGCAC +AGAAGCATGATGCTGAGACCCCTGAGCCAGGCCCTGTTCTGGACCCTGACCATGGACCTG +CTGACCCTGACCTGGATCGGCAGCCAGCCCGTGGAGTACCCCTACACCATCATCGGCCAG +ATGGCCAGCATCCTGTACTTCAGCATCATCCTGGCCTTCCTGCCCATCGCCGGCNNNATC +GAGAACTAC +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/prot.accession2taxid Thu Sep 27 06:30:30 2018 -0400 @@ -0,0 +1,4 @@ +accession accession.version taxid gi +AAD44166 AAD44166.1 2 5524211 +AAD44167 AAD44167.1 3 5524212 +
--- a/test-data/protein.fasta Tue Aug 08 16:33:49 2017 -0400 +++ b/test-data/protein.fasta Thu Sep 27 06:30:30 2018 -0400 @@ -1,4 +1,4 @@ ->sequence +>sequence more text LCLYTHIGRNIYYGSYLYSETWNTGIMLLLITMATAFMGYVLPWGQMSFWGATVITNLFSAIPYIGTNLV EWIWGGFSVDKATLNRFFAFHFILFTMVALAGVHLTFLHETGSNNPLGLTSDSDKIPFHPYYTIKDFLG LLILILLLLLLALLSPDMLGDPDNHMPADPLNTPLHIKPEWYFLFAYAILRSVPNKLGGVLALFLSIVIL