| Miscellaneous |
| Version lineage of this tool (guids ordered most recent to oldest) |
| toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastdbcmd_wrapper/2.16.0+galaxy0 (this tool) |
| toolshed.g2.bx.psu.edu/repos/devteam/ncbi_blast_plus/ncbi_blastdbcmd_wrapper/0.0.3 |
| ncbi_blastdbcmd_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
blastdbcmd
-dbtype "$db_opts.db_type"
#if $db_opts.db_origin.db_origin_selector=="db":
-db "${db_opts.db_origin.database.fields.path.replace(',',' ')}"
#else if $db_opts.db_origin.db_origin_selector=="histdb":
-db '${os.path.join($db_opts.db_origin.histdb.extra_files_path, "blastdb")}'
#end if
#if $id_opts.id_type=="file":
-entry_batch '$id_opts.entries'
#else:
##Perform some simple search/replaces to remove whitespace
##and make it comma separated. Quoted so don't escape pipes.
-entry "$id_opts.entries.replace('\r',',').replace('\n',',').replace(' ','').replace(',,',',').replace(',,',',').strip(',')"
#end if
##When building a BLAST database, to ensure unique IDs makeblastdb will
##do things like turning a FASTA entry with ID of ERP44 into lcl|ERP44
##(if using -parse_seqids) or simply assign it an ID using the record
##number like gnl|BL_ORD_ID|123 (to cope with duplicate IDs in the FASTA
##file). In -parse_seqids mode, a duplicate FASTA ID gives an error.
##
##The BLAST plain text and XML output will contain these BLAST IDs, but
##the tabular output does not (at least, not in BLAST 2.2.25+).
##Therefore in general, Galaxy users won't care about the (internal)
##BLAST identifiers.
##
##The blastdbcmd FASTA output will also contain these IDs, but in the
##context of the BLAST tabular output they are not helpful. Therefore
##to recover the original ID as used in the FASTA file for makeblastdb
##we need a litte post processing.
##
##We remove the NCBI's lcl|... or gnl|BL_ORD_ID|123 prefixes
##using sed, however the exact syntax differs for Mac OS X's sed
#if str($outfmt)=="blastid":
-out '$seq'
#else if sys.platform == "darwin":
| sed -E 's/^>(lcl\||gnl\|BL_ORD_ID\|[0-9]* )/>/1' > "$seq"
#else:
| sed 's/>\(lcl|\|gnl|BL_ORD_ID|[0-9]* \)/>/1' > "$seq"
#end if
| Functional tests |
| name | inputs | outputs | required files |
| Test-1 |
db_opts|db_origin|database: four_human_proteins db_opts|db_origin|db_origin_selector: db db_opts|db_type: prot id_opts|entries: all id_opts|id_type: prompt outfmt: original |
name: value |
value |
| Test-2 |
db_opts|db_origin|database: rhodopsin_nucs db_opts|db_type: nucl id_opts|entries: all id_opts|id_type: prompt outfmt: original |
name: value |
value |
| Test-3 |
db_opts|db_origin|database: rhodopsin_nucs db_opts|db_type: nucl id_opts|entries: rhodopsin_nucs.blastdbcmd.txt id_opts|id_type: file outfmt: original |
name: value |
rhodopsin_nucs.blastdbcmd.txt value |
| Test-4 |
db_opts|db_origin|database: rhodopsin_nucs db_opts|db_type: nucl id_opts|entries: U59921.1 id_opts|id_type: prompt outfmt: original |
name: value |
value |
| Test-5 |
db_opts|db_origin|database: ['rhodopsin_nucs', 'three_human_mRNA'] db_opts|db_type: nucl id_opts|entries: gi|2734705|gb|U59921.1|BBU59921 id_opts|id_type: prompt outfmt: original |
name: value |
value |