whichdb |
Wiki
The master copies of EMBOSS documentation are available at http://emboss.open-bio.org/wiki/Appdocs on the EMBOSS Wiki.Please help by correcting and extending the Wiki pages.
Function
Search all sequence databases for an entry and retrieve itDescription
whichdb searches all available sequence databases for sequences with a specified ID name or accession number. The uniform sequence address (USA) of matching database entries is written to an output file. whichdb will, optionally, write out the sequences it finds to files. An "available" database is one that has been defined in the EMBOSS system file (.embossrc or emboss.login) and is available from the system you are running EMBOSS. If you do not know which database(s) contain the entry you are interested in, whichdb will tell you.
Usage
Here is a sample session with whichdb
% whichdb -showall Search all sequence databases for an entry and retrieve it ID or Accession number: x65921 Output file [outfile.whichdb]: |
Go to the output files for this example
Command line arguments
Search all sequence databases for an entry and retrieve it Version: EMBOSS:6.4.0.0 Standard (Mandatory) qualifiers (* if not always prompted): [-entry] string ID or Accession number (Any string) * -outfile outfile [*.whichdb] Output file name Additional (Optional) qualifiers: (none) Advanced (Unprompted) qualifiers: -get toggle [N] Retrieve sequences -showall boolean [N] Show failed attempts Associated qualifiers: "-outfile" associated qualifiers -odirectory string Output directory General qualifiers: -auto boolean Turn off prompts -stdout boolean Write first file to standard output -filter boolean Read first file from standard input, write first file to standard output -options boolean Prompt for standard and additional values -debug boolean Write debug output to program.dbg -verbose boolean Report some/full command line options -help boolean Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose -warning boolean Report warnings -error boolean Report errors -fatal boolean Report fatal errors -die boolean Report dying program messages -version boolean Report version number and exit |
Qualifier | Type | Description | Allowed values | Default |
---|---|---|---|---|
Standard (Mandatory) qualifiers | ||||
[-entry] (Parameter 1) |
string | ID or Accession number | Any string | |
-outfile | outfile | Output file name | Output file | <*>.whichdb |
Additional (Optional) qualifiers | ||||
(none) | ||||
Advanced (Unprompted) qualifiers | ||||
-get | toggle | Retrieve sequences | Toggle value Yes/No | No |
-showall | boolean | Show failed attempts | Boolean value Yes/No | No |
Associated qualifiers | ||||
"-outfile" associated outfile qualifiers | ||||
-odirectory | string | Output directory | Any string | |
General qualifiers | ||||
-auto | boolean | Turn off prompts | Boolean value Yes/No | N |
-stdout | boolean | Write first file to standard output | Boolean value Yes/No | N |
-filter | boolean | Read first file from standard input, write first file to standard output | Boolean value Yes/No | N |
-options | boolean | Prompt for standard and additional values | Boolean value Yes/No | N |
-debug | boolean | Write debug output to program.dbg | Boolean value Yes/No | N |
-verbose | boolean | Report some/full command line options | Boolean value Yes/No | Y |
-help | boolean | Report command line options and exit. More information on associated and general qualifiers can be found with -help -verbose | Boolean value Yes/No | N |
-warning | boolean | Report warnings | Boolean value Yes/No | Y |
-error | boolean | Report errors | Boolean value Yes/No | Y |
-fatal | boolean | Report fatal errors | Boolean value Yes/No | Y |
-die | boolean | Report dying program messages | Boolean value Yes/No | Y |
-version | boolean | Report version number and exit | Boolean value Yes/No | N |
Input file format
None.
Output file format
Output files for usage example
File: outfile.whichdb
# Trying 'qaxpir:x65921' # Failed 'qaxpir:x65921' # Trying 'qanxgcgexc:x65921' # Failed 'qanxgcgexc:x65921' # Trying 'qapblastsplitinc:x65921' # Failed 'qapblastsplitinc:x65921' # Trying 'qanxflatall:x65921' qanxflatall:x65921 # Trying 'tgenbank:x65921' tgenbank:x65921 # Trying 'tembl:x65921' tembl:x65921 # Trying 'temblvrt:x65921' temblvrt:x65921 # Trying 'qanxgcginc:x65921' # Failed 'qanxgcginc:x65921' # Trying 'qapirexc:x65921' # Failed 'qapirexc:x65921' # Trying 'qangcg:x65921' # Failed 'qangcg:x65921' # Trying 'qawxfasta:x65921' # Failed 'qawxfasta:x65921' # Trying 'tswnew:x65921' # Failed 'tswnew:x65921' # Trying 'qapirinc:x65921' # Failed 'qapirinc:x65921' # Trying 'qapfasta:x65921' # Failed 'qapfasta:x65921' # Trying 'tgenedashuman:x65921' # Failed 'tgenedashuman:x65921' # Trying 'qasrswww:x65921' qasrswww:x65921 # Trying 'qangcgall:x65921' # Failed 'qangcgall:x65921' # Trying 'temblall:x65921' temblall:x65921 # Trying 'qaxpirall:x65921' # Failed 'qaxpirall:x65921' # Trying 'qawfasta:x65921' # Failed 'qawfasta:x65921' # Trying 'qanxflatexc:x65921' qanxflatexc:x65921 # Trying 'qanxflat:x65921' # Failed 'qanxflat:x65921' # Trying 'qanxfasta:x65921' # Failed 'qanxfasta:x65921' # Trying 'qapflat:x65921' # Failed 'qapflat:x65921' # Trying 'qanxflatinc:x65921' # Failed 'qanxflatinc:x65921' [Part of this file has been deleted for brevity] # Failed 'qapir:x65921' # Trying 'qangcgexc:x65921' # Failed 'qangcgexc:x65921' # Trying 'qapxfasta:x65921' # Failed 'qapxfasta:x65921' # Trying 'qanfasta:x65921' # Failed 'qanfasta:x65921' # Trying 'qaxpirexc:x65921' # Failed 'qaxpirexc:x65921' # Trying 'qanxgcg:x65921' # Failed 'qanxgcg:x65921' # Trying 'qangcginc:x65921' # Failed 'qangcginc:x65921' # Trying 'qapblast:x65921' # Failed 'qapblast:x65921' # Trying 'tensembldasgrch37:x65921' # Failed 'tensembldasgrch37:x65921' # Trying 'qaxpirinc:x65921' # Failed 'qaxpirinc:x65921' # Trying 'qanxgcgall:x65921' # Failed 'qanxgcgall:x65921' # Trying 'qapblastall:x65921' # Failed 'qapblastall:x65921' # Trying 'qapblastsplit:x65921' # Failed 'qapblastsplit:x65921' # Trying 'qanflatexc:x65921' qanflatexc:x65921 # Trying 'tsw:x65921' # Failed 'tsw:x65921' # Trying 'temblrest:x65921' # Failed 'temblrest:x65921' # Trying 'qapirall:x65921' # Failed 'qapirall:x65921' # Trying 'qanfastaall:x65921' # Failed 'qanfastaall:x65921' # Trying 'qanflatinc:x65921' # Failed 'qanflatinc:x65921' # Trying 'tgb:x65921' tgb:x65921 # Trying 'qapblastsplitexc:x65921' # Failed 'qapblastsplitexc:x65921' # Trying 'qanxfastaall:x65921' # Failed 'qanxfastaall:x65921' # Trying 'qapxflat:x65921' # Failed 'qapxflat:x65921' # Trying 'qapflatall:x65921' # Failed 'qapflatall:x65921' # Trying 'qanflat:x65921' # Failed 'qanflat:x65921' # Trying 'testdb:x65921' # Failed 'testdb:x65921' |
The reported database entries are written out to the specified output file.
Each database that is defined in the local implementation of EMBOSS which contains an entry called 'x65923' is reported.
Note that where a database is defined under several names ('embl', 'em'), each definition of that database containing the entry is reported.
When the '-get' option is used to output the sequences, they are written to separate files. The sequence format they are written in is always 'Fasta' format. The normal command-line qualifiers for changing the output formats etc. will not work in this program.
The names of the files that the sequences are written to is reported as they are written, for example:
Writing x65923.embl Writing x65923.human Writing x65923.tembl Writing x65923.em Writing x65923.genbank Writing x65923.gb |
Data files
None.Notes
The Uniform Sequence Addresss (USA) method used by EMBOSS for referencing sequences does not allow database entries to be specified by just the ID name or accession number. You must specify both the name of the database and the entry, for example embl:x65923, not just x65923. whichdb is useful where you do not know the database that a sequence entry is found in.
IDs and Accessions
An entry in a database must have some way of being uniquely identified in that database. Most sequence databases have two such identifiers for each sequence - an ID name and an Accession number.
Why are there two such identifiers? The ID name was originally intended to be a human-readable name that had some indication of the function of its sequence. In the early years of EMBL and GenBank the first two (or three) letters indicated the species and the rest indicated the function, for example HSFAU was the Homo Sapiens FAU pseudogene. This naming scheme started to be a problem when the number of entries added each day was so vast that people could not make up the ID names fast enough. Instead, the Accession numbers were used as the ID name. Therefore you will now find ID names like X65923, the same as the Accession number for that sequence in EMBL. The protein sequence databases continue to use recognizable names for entries (for example AMIR_PSEAE for the AmiR gene product of Pseudomonas aeruginosa in UniProt/SwissProt).
ID names are not guaranteed to remain the same between different versions of a database (although in practice they usually do). In contrast, accession numbers are unique alphanumeric identifiers that are guaranteed to remain with that sequence through the rest of the life of the database. If two sequences are merged into one, then the new sequence will get a new Accession number and the Accession numbers of the merged sequences will be retained as 'secondary' Accession numbers. EMBL, GenBank and UniProt/SwissProt share an Accession numbering scheme - an Accession number uniquely identifies a sequence within these three databases.
References
None.Warnings
None.Diagnostic Error Messages
None.Exit status
It always exits with status 0.Known bugs
None.See also
Program name | Description |
---|---|
abiview | Display the trace in an ABI sequencer file |
coderet | Extract CDS, mRNA and translations from feature tables |
entret | Retrieves sequence entries from flatfile databases and files |
extractalign | Extract regions from a sequence alignment |
infoalign | Display basic information about a multiple sequence alignment |
infoseq | Display basic information about sequences |
seqxref | Retrieve all database cross-references for a sequence entry |
seqxrefget | Retrieve all cross-referenced data for a sequence entry |
showalign | Display a multiple sequence alignment in pretty format |
Author(s)
Alan BleasbyEuropean Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK
Please report all bugs to the EMBOSS bug team (emboss-bug © emboss.open-bio.org) not to the original author.