whichdb

 

Function

Search all databases for an entry

Description

whichdb searches all available EMBOSS databases for sequences with a specified ID name or accession number.

EMBOSS 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:hsfau', not just 'hsfau'.

If you do not know which database(s) contain the entry you are interested in, whichdb will tell you.

whichdb can also, optionally, write out the sequences it finds to files.

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 EMBL and GenBank the first two (or three) letters indicated the species and the rest indicated the function, for example 'hsfau' is 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 'AF061303', the same as the Accession number for that sequence in EMBL.

ID names are not guaranteed to remain the same between different versions of a database (although in practice they usually do).

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 SwissProt share an Accession numbering scheme - an Accession number uniquely identifies a sequence within these three databases.

Usage

Here is a sample session with whichdb


% whichdb -showall 
Search all databases for an entry
ID or Accession number: hsfau1
Output file [outfile.whichdb]: 

Go to the output files for this example

Command line arguments

   Standard (Mandatory) qualifiers (* if not always prompted):
  [-entry]             string     ID or Accession number
*  -outfile            outfile    Output file name

   Additional (Optional) qualifiers: (none)
   Advanced (Unprompted) qualifiers:
   -get                toggle     Retrieve sequences
   -showall            boolean    Show failed attempts

   Associated qualifiers:

   "-outfile" associated qualifiers
   -odirectory          string     Output directory

   General qualifiers:
   -auto                boolean    Turn off prompts
   -stdout              boolean    Write standard output
   -filter              boolean    Read standard input, write 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. 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 deaths


Standard (Mandatory) qualifiers Allowed values Default
[-entry]
(Parameter 1)
ID or Accession number Any string is accepted An empty string is accepted
-outfile Output file name Output file <sequence>.whichdb
Additional (Optional) qualifiers Allowed values Default
(none)
Advanced (Unprompted) qualifiers Allowed values Default
-get Retrieve sequences Toggle value Yes/No No
-showall Show failed attempts Boolean value Yes/No No

Input file format

None.

Output file format

Output files for usage example

File: outfile.whichdb

# Trying 'qangcgall:hsfau1'
# Failed 'qangcgall:hsfau1'
# Trying 'twp:hsfau1'
# Failed 'twp:hsfau1'
# Trying 'qapblast:hsfau1'
# Failed 'qapblast:hsfau1'
# Trying 'tsw:hsfau1'
# Failed 'tsw:hsfau1'
# Trying 'qapblastsplit:hsfau1'
# Failed 'qapblastsplit:hsfau1'
# Trying 'qangcginc:hsfau1'
# Failed 'qangcginc:hsfau1'
# Trying 'qangcgexc:hsfau1'
# Failed 'qangcgexc:hsfau1'
# Trying 'qasrsfasta:hsfau1'
qasrsfasta:hsfau1
# Trying 'qapir:hsfau1'
# Failed 'qapir:hsfau1'
# Trying 'tgenbank:hsfau1'
tgenbank:hsfau1
# Trying 'qanfasta:hsfau1'
# Failed 'qanfasta:hsfau1'
# Trying 'qanxflat:hsfau1'
# Failed 'qanxflat:hsfau1'
# Trying 'qanxgcg:hsfau1'
# Failed 'qanxgcg:hsfau1'
# Trying 'qapflat:hsfau1'
# Failed 'qapflat:hsfau1'
# Trying 'qapblastsplitinc:hsfau1'
# Failed 'qapblastsplitinc:hsfau1'
# Trying 'qapblastsplitexc:hsfau1'
# Failed 'qapblastsplitexc:hsfau1'
# Trying 'qapflatall:hsfau1'
# Failed 'qapflatall:hsfau1'
# Trying 'qanxflatall:hsfau1'
qanxflatall:hsfau1
# Trying 'qapflatinc:hsfau1'
# Failed 'qapflatinc:hsfau1'
# Trying 'qapflatexc:hsfau1'
# Failed 'qapflatexc:hsfau1'
# Trying 'qasrs:hsfau1'
qasrs:hsfau1
# Trying 'qapxflatinc:hsfau1'
# Failed 'qapxflatinc:hsfau1'
# Trying 'qapxflatexc:hsfau1'
# Failed 'qapxflatexc:hsfau1'
# Trying 'tpir:hsfau1'
# Failed 'tpir:hsfau1'
# Trying 'qasrswww:hsfau1'
qasrswww:hsfau1
# Trying 'qanxfasta:hsfau1'
# Failed 'qanxfasta:hsfau1'
# Trying 'qanxgcgall:hsfau1'
# Failed 'qanxgcgall:hsfau1'
# Trying 'qangcg:hsfau1'
# Failed 'qangcg:hsfau1'
# Trying 'qanfastaall:hsfau1'
# Failed 'qanfastaall:hsfau1'
# Trying 'qapirall:hsfau1'
# Failed 'qapirall:hsfau1'
# Trying 'qanxgcginc:hsfau1'
# Failed 'qanxgcginc:hsfau1'
# Trying 'qanxgcgexc:hsfau1'
# Failed 'qanxgcgexc:hsfau1'
# Trying 'qapirinc:hsfau1'
# Failed 'qapirinc:hsfau1'
# Trying 'qanflat:hsfau1'
# Failed 'qanflat:hsfau1'
# Trying 'qanxfastaall:hsfau1'
# Failed 'qanxfastaall:hsfau1'
# Trying 'qapfasta:hsfau1'
# Failed 'qapfasta:hsfau1'
# Trying 'qawxfasta:hsfau1'
# Failed 'qawxfasta:hsfau1'
# Trying 'qapirexc:hsfau1'
# Failed 'qapirexc:hsfau1'
# Trying 'tswnew:hsfau1'
# Failed 'tswnew:hsfau1'
# Trying 'qaxpirall:hsfau1'
# Failed 'qaxpirall:hsfau1'
# Trying 'qapxflat:hsfau1'
# Failed 'qapxflat:hsfau1'
# Trying 'qaxpirinc:hsfau1'
# Failed 'qaxpirinc:hsfau1'
# Trying 'qapxfasta:hsfau1'
# Failed 'qapxfasta:hsfau1'
# Trying 'tembl:hsfau1'
tembl:hsfau1
# Trying 'qaxpirexc:hsfau1'
# Failed 'qaxpirexc:hsfau1'
# Trying 'qapblastall:hsfau1'
# Failed 'qapblastall:hsfau1'
# Trying 'tgb:hsfau1'
# Failed 'tgb:hsfau1'
# Trying 'qaxpir:hsfau1'
# Failed 'qaxpir:hsfau1'
# Trying 'qawfasta:hsfau1'
# Failed 'qawfasta:hsfau1'

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 'hsfau' 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 hsfau.embl
Writing hsfau.human
Writing hsfau.tembl
Writing hsfau.em
Writing hsfau.genbank
Writing hsfau.gb

Data files

None.

Notes

None.

References

None.

Warnings

None.

Diagnostic Error Messages

None.

Exit status

It always exits with status 0.

Known bugs

None.

See also

Program nameDescription
infoalignInformation on a multiple sequence alignment
infoseqDisplays some simple information about sequences
seealsoFinds programs sharing group names
showdbDisplays information on the currently available databases
textsearchSearch sequence documentation. Slow, use SRS and Entrez!
tfmDisplays a program's help documentation manual
wossnameFinds programs by keywords in their one-line documentation

Author(s)

Alan Bleasby (ajb © ebi.ac.uk)
European Bioinformatics Institute, Wellcome Trust Genome Campus, Hinxton, Cambridge CB10 1SD, UK

History

Written (Jan 2002) - Alan Bleasby.

Target users

This program is intended to be used by everyone and everything, from naive users to embedded scripts.

Comments

None