| Miscellaneous |
| Version lineage of this tool (guids ordered most recent to oldest) |
| toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_tblastn_wrapper/2.16.0+galaxy0 (this tool) |
| toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_tblastn_wrapper/2.14.1+galaxy2 |
| toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_tblastn_wrapper/0.0.11 |
| ncbi_tblastn_wrapper |
| Requirements (dependencies defined in the <requirements> tag set) |
| name | version | type |
| blast | 2.16.0 | package |
| Additional information about this tool |
## The command is a Cheetah template which allows some Python based syntax.
## Lines starting hash hash are comments. Galaxy will turn newlines into spaces
tblastn
#if $query.is_of_type('fasta.gz') and $query.ext != "fasta":
-query <(gunzip -c '${query}')
#else:
-query '${query}'
#end if
#if $db_opts.db_opts_selector == "db":
-db '"${'" "'.join(str($db_opts.database.fields.path).split(","))}"'
#elif $db_opts.db_opts_selector == "histdb":
-db '${os.path.join($db_opts.histdb.extra_files_path, "blastdb")}'
#else:
#if $db_opts.subject.is_of_type('fasta.gz') and $db_opts.subject.ext != "fasta":
-subject <(gunzip -c '${$db_opts.subject}')
#else:
-subject '${db_opts.subject}'
#end if
#end if
-task $blast_type
-evalue $evalue_cutoff
-out '$output1'
##Set the extended list here so when we add things, saved workflows are not affected
#if str($output.out_format)=="ext":
-outfmt '6 std sallseqid score nident positive gaps ppos qframe sframe qseq sseq qlen slen salltitles'
#elif str($output.out_format)=="cols"
##Pick your own columns. Galaxy gives us it comma separated, BLAST+ wants space separated:
##Can we catch the user picking no columns and raise an error here?
#set cols = (str($output.std_cols)+","+str($output.ext_cols)+","+str($output.ids_cols)+","+str($output.misc_cols)+","+str($output.tax_cols)).replace("None", "").replace(",,", ",").replace(",", " ").strip()
-outfmt '6 $cols'
#else:
## Note do not quote this as can be '0 -html' which is really two arguments
-outfmt ${output.out_format}
#end if
-num_threads "\${GALAXY_SLOTS:-8}"
#if $adv_opts.adv_opts_selector=="advanced":
-db_gencode $adv_opts.db_gencode
$adv_opts.filter_query
## Need int(str(...)) because $adv_opts.max_hits is an InputValueWrapper object not a string
##
## Quoting BLAST 2.7.1+ output from "blastp --help" or "blastn --help":
##
## *** Formatting options
## -num_descriptions <Integer, >=0>
## Number of database sequences to show one-line descriptions for
## Not applicable for outfmt > 4
## Default = `500'
## * Incompatible with: max_target_seqs
## -num_alignments <Integer, >=0>
## Number of database sequences to show alignments for
## Default = `250'
## * Incompatible with: max_target_seqs
##
## *** Restrict search or results
##
## -max_target_seqs <Integer, >=1>
## Maximum number of aligned sequences to keep
## Not applicable for outfmt <= 4
## Default = `500'
## * Incompatible with: num_descriptions, num_alignments
##
## So, taken at face value we do still need to treat the Text and HTML output
## differently from the Tabular and XML, yet the treatment of these limits is
## different (during search or after the search when writing the output):
## https://blastedbio.blogspot.com/2015/12/blast-max-target-sequences-bug.html
##
## See also our user-facing help text.
#if (str($adv_opts.max_hits) and int(str($adv_opts.max_hits)) > 0):
#if str($output.out_format) in ["6", "ext", "cols", "5"]:
## Most output formats use this, including tabular and XML:
-max_target_seqs '${adv_opts.max_hits}'
#else
## Text and HTML output formats 0-4 currently need this instead:
-num_descriptions '${adv_opts.max_hits}' -num_alignments '${adv_opts.max_hits}'
#end if
#end if
#if str($adv_opts.max_hsps)
-max_hsps '${adv_opts.max_hsps}'
#end if
#if str($adv_opts.word_size):
-word_size '${adv_opts.word_size}'
#end if
$adv_opts.parse_deflines
#if str($adv_opts.matrix_gapcosts.matrix):
-matrix '${adv_opts.matrix_gapcosts.matrix}'
${adv_opts.matrix_gapcosts.gap_costs}
#end if
##Ungapped disabled for now - see comments below
##$adv_opts.ungapped
#if $adv_opts.adv_optional_id_files_opts.adv_optional_id_files_opts_selector == 'negative_gilist':
-negative_gilist '${adv_opts.adv_optional_id_files_opts.negative_gilist}'
#elif $adv_opts.adv_optional_id_files_opts.adv_optional_id_files_opts_selector == 'gilist':
-gilist '{$adv_opts.adv_optional_id_files_opts.gilist}'
#elif $adv_opts.adv_optional_id_files_opts.adv_optional_id_files_opts_selector == 'seqidlist':
-seqidlist '${adv_opts.adv_optional_id_files_opts.seqidlist}'
#elif $adv_opts.adv_optional_id_files_opts.adv_optional_id_files_opts_selector == 'taxidlist':
-taxidlist '${adv_opts.adv_optional_id_files_opts.taxidlist}'
#elif $adv_opts.adv_optional_id_files_opts.adv_optional_id_files_opts_selector == 'negative_taxidlist':
-negative_taxidlist '${adv_opts.adv_optional_id_files_opts.negative_taxidlist}'
#end if
#if float(str($adv_opts.qcov_hsp_perc)) > 0:
-qcov_hsp_perc '${adv_opts.qcov_hsp_perc}'
#end if
#if str($adv_opts.window_size):
-window_size '${adv_opts.window_size}'
#end if
#if str($adv_opts.threshold):
-threshold '${adv_opts.threshold}'
#end if
#if str($adv_opts.comp_based_stats):
-comp_based_stats '${adv_opts.comp_based_stats}'
#end if
## End of advanced options:
#end if
| Functional tests |
| name | inputs | outputs | required files |
| Test-1 |
query: four_human_proteins.fasta db_opts|database: db_opts|subject: rhodopsin_nucs.fasta db_opts|db_opts_selector: file evalue_cutoff: 1e-10 output|out_format: 5 adv_opts|filter_query: False adv_opts|matrix_gapcosts|matrix: BLOSUM80 adv_opts|max_hits: 0 adv_opts|parse_deflines: False adv_opts|adv_opts_selector: advanced |
name: value |
four_human_proteins.fasta rhodopsin_nucs.fasta value |
| Test-2 |
query: four_human_proteins.fasta db_opts|database: db_opts|subject: rhodopsin_nucs.fasta db_opts|db_opts_selector: file evalue_cutoff: 1e-10 output|out_format: ext adv_opts|filter_query: False adv_opts|matrix_gapcosts|matrix: BLOSUM80 adv_opts|max_hits: 0 adv_opts|parse_deflines: False adv_opts|adv_opts_selector: advanced |
name: value |
four_human_proteins.fasta rhodopsin_nucs.fasta value |
| Test-3 |
query: four_human_proteins.fasta db_opts|database: db_opts|subject: rhodopsin_nucs.fasta db_opts|db_opts_selector: file evalue_cutoff: 1e-10 output|out_format: 6 adv_opts|filter_query: False adv_opts|matrix_gapcosts|matrix: BLOSUM80 adv_opts|max_hits: 0 adv_opts|parse_deflines: False adv_opts|adv_opts_selector: advanced |
name: value |
four_human_proteins.fasta rhodopsin_nucs.fasta value |
| Test-4 |
query: four_human_proteins.fasta db_opts|database: db_opts|subject: rhodopsin_nucs.fasta db_opts|db_opts_selector: file evalue_cutoff: 1e-10 output|out_format: 6 adv_opts|filter_query: False adv_opts|matrix_gapcosts|matrix: BLOSUM80 adv_opts|max_hits: 0 adv_opts|parse_deflines: True adv_opts|adv_opts_selector: advanced |
name: value |
four_human_proteins.fasta rhodopsin_nucs.fasta value |
| Test-5 |
query: four_human_proteins.fasta db_opts|database: db_opts|subject: rhodopsin_nucs.fasta db_opts|db_opts_selector: file evalue_cutoff: 1e-10 output|out_format: 0 -html adv_opts|filter_query: False adv_opts|matrix_gapcosts|matrix: BLOSUM80 adv_opts|max_hits: 0 adv_opts|parse_deflines: False adv_opts|adv_opts_selector: advanced |
name: value |
four_human_proteins.fasta rhodopsin_nucs.fasta value |