| dbigcg

## 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

Index a GCG formatted database

## Description

dbigcg indexes a GCG-format database of one or more files, and builds EMBL CD-ROM format index files.

A GCG-format database consists of *.seq and *.ref files. The data in the *.seq files is often compressed.

The resulting index-file format is used by the software on the EMBL database CD-ROM distribution and by the Staden package in addition to EMBOSS, and appears to be the most generally used and publicly available index file format for these databases.

## Usage

Here is a sample session with dbigcg

    % dbigcg
    Index a GCG formatted database
    Database name: EMBL
          EMBL : EMBL
         SWISS : Swiss-Prot, SpTrEMBL, TrEMBLnew
       GENBANK : Genbank, DDBJ
           PIR : NBRF
    Entry format [EMBL]: EMBL
    Database directory [.]: embl
    Wildcard database filename [*.seq]:
    Release number [0.0]:
    Index date [00/00/00]:
    General log output file [outfile.dbigcg]:

Go to the output files for this example

## Command line arguments

    Index a GCG formatted database
    Version: EMBOSS:6.6.0.0

       Standard (Mandatory) qualifiers:
      [-dbname]            string     Database name (Any string from 2 to 19
                                      characters, matching regular expression
                                      /[A-z][A-z0-9_]+/)
       -idformat           menu       [EMBL] Entry format (Values: EMBL (EMBL);
                                      SWISS (Swiss-Prot, SpTrEMBL, TrEMBLnew);
                                      GENBANK (Genbank, DDBJ); PIR (NBRF))
       -directory          directory  [.] Database directory
       -filenames          string     [*.seq] Wildcard database filename (Any
                                      string)
       -release            string     [0.0] Release number (Any string up to 9
                                      characters)
       -date               string     [00/00/00] Index date (Date string dd/mm/yy)
       -outfile            outfile    [*.dbigcg] General log output file

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers:
       -fields             menu       [acc] Index fields (Values: acc (acnum
                                      accession number index); sv (seqvn sequence
                                      version and gi number index); des (des
                                      description index); key (keyword keywords
                                      index); org (taxon taxonomy and organism
                                      index))
       -exclude            string     Wildcard filename(s) to exclude (Any string)
       -maxindex           integer    [0] Maximum index length (Integer 0 or more)
       -sortoptions        string     [-T . -k 1,1] Sort options, typically '-T .'
                                      to use current directory for work files and
                                      '-k 1,1' to force GNU sort to use the first
                                      field (Any string)
       -[no]systemsort     boolean    [Y] Use system sort utility
       -[no]cleanup        boolean    [Y] Clean up temporary files
       -indexoutdir        outdir     [.] Index file output directory

       Associated qualifiers:

       "-directory" associated qualifiers
       -extension          string     Default file extension

       "-outfile" associated qualifiers
       -odirectory         string     Output directory

       "-indexoutdir" associated qualifiers
       -extension          string     Default file extension

       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
[-dbname] (Parameter 1) | string | Database name | Any string from 2 to 19 characters, matching regular expression /[A-z][A-z0-9_]+/ | Required
-idformat | list | Entry format |
EMBL | (EMBL)
SWISS | (Swiss-Prot, SpTrEMBL, TrEMBLnew)
GENBANK | (Genbank, DDBJ)
PIR | (NBRF)
| EMBL
-directory | directory | Database directory | Directory | .
-filenames | string | Wildcard database filename | Any string | *.seq
-release | string | Release number | Any string up to 9 characters | 0.0
-date | string | Index date | Date string dd/mm/yy | 00/00/00
-outfile | outfile | General log output file | Output file | <*>.dbigcg
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
-fields | list | Index fields |
acc | (acnum accession number index)
sv | (seqvn sequence version and gi number index)
des | (des description index)
key | (keyword keywords index)
org | (taxon taxonomy and organism index)
| acc
-exclude | string | Wildcard filename(s) to exclude | Any string |
-maxindex | integer | Maximum index length | Integer 0 or more | 0
-sortoptions | string | Sort options, typically '-T .' to use current directory for work files and '-k 1,1' to force GNU sort to use the first field | Any string | -T . -k 1,1
-[no]systemsort | boolean | Use system sort utility | Boolean value Yes/No | Yes
-[no]cleanup | boolean | Clean up temporary files | Boolean value Yes/No | Yes
-indexoutdir | outdir | Index file output directory | Output directory | .
Associated qualifiers
"-directory" associated directory qualifiers
-extension | string | Default file extension | Any string |
"-outfile" associated outfile qualifiers
-odirectory | string | Output directory | Any string |
"-indexoutdir" associated outdir qualifiers
-extension | string | Default file extension | 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

dbigcg reads in a GCG-format database. A GCG-format database consists of *.seq and *.ref files - only the *.seq files are used. The data in these is often compressed.

## Output file format

### Output files for usage example

### File: division.lkp

This file contains non-printing characters and so cannot be displayed here.

### File: entrynam.idx

This file contains non-printing characters and so cannot be displayed here.

### File: acnum.hit

This file contains non-printing characters and so cannot be displayed here.

### File: acnum.trg

This file contains non-printing characters and so cannot be displayed here.

### File: outfile.dbigcg

    ########################################
    # Program: dbigcg
    # Rundate: Mon 15 Jul 2013 12:00:00
    # Dbname: EMBL
    # Release: 0.0
    # Date: 15/07/13
    # CurrentDirectory: /homes/user/test/qa/dbigcg-ex-keep/
    # IndexDirectory: ./
    # IndexDirectoryPath: /homes/user/test/qa/dbigcg-ex-keep/
    # Maxindex: 0
    # Fields: 2
    #   Field 1: id
    #   Field 2: acc
    # Directory: /homes/user/test/embl/
    # DirectoryPath: /homes/user/test/embl/
    # Filenames: *.seq
    # Exclude:
    # Files: 9
    #   File 1: /homes/user/test/embl/eem_ba1.seq
    #   File 2: /homes/user/test/embl/eem_est.seq
    #   File 3: /homes/user/test/embl/eem_fun.seq
    #   File 4: /homes/user/test/embl/eem_htginv1.seq
    #   File 5: /homes/user/test/embl/eem_hum1.seq
    #   File 6: /homes/user/test/embl/eem_in.seq
    #   File 7: /homes/user/test/embl/eem_ov.seq
    #   File 8: /homes/user/test/embl/eem_ro.seq
    #   File 9: /homes/user/test/embl/eem_vi.seq
    ########################################
    # Commandline: dbigcg
    #    -dbname EMBL
    #    -idformat EMBL
    #    -directory ../../embl
    ########################################

    filename: '/homes/user/test/embl/eem_ba1.seq'
        id: 10
       acc: 14
    filename: '/homes/user/test/embl/eem_est.seq'
        id: 1
       acc: 1
    filename: '/homes/user/test/embl/eem_fun.seq'
        id: 1
       acc: 1
    filename: '/homes/user/test/embl/eem_htginv1.seq'
        id: 5
       acc: 5
    filename: '/homes/user/test/embl/eem_hum1.seq'
        id: 15
       acc: 18
    filename: '/homes/user/test/embl/eem_in.seq'
        id: 2
       acc: 2
    filename: '/homes/user/test/embl/eem_ov.seq'
        id: 2
       acc: 2
    filename: '/homes/user/test/embl/eem_ro.seq'
        id: 3
       acc: 3
    filename: '/homes/user/test/embl/eem_vi.seq'
        id: 1
       acc: 2

    Index acc: maxlen 8 items 48

    Total 9 files 40 entries (0 duplicates)

dbigcg creates four index files. All are binary but with a simple format.

- division.lkp is the master index file, and has a 300 byte header containing the database name and date plus information on the record size. This header is followed by one record for each database file, giving the full file names for the reference file and sequence file.
- entryname.idx is the entry name index. It has the same 300 byte header, mainly used to store the record size which will depend on the size of the longest entryname in the database. Each entry is stored in sorted alphanumeric order so that a binary search can be used to efficiently find any record. The record also holds the file number from division.lkp and the offsets in the data and sequence files for that entry.
- acnum.trg holds the accession number information. The file has the usual 300 byte header, and a sorted list of record by accession number. Each accession number record contains the first record number in acnum.hit and the total number of records in acnum.hit so that secondary (duplicated) accession numbers can be searched.
- acnum.hit is a very simple file. After the usual 300 byte header, each record simply holds the record number in entryname.idx. An accession number search will use acnum.trg to find a start position and number of records to read in this file, and will then simply read the entryname.idx records for each entry in turn.

## Data files

None.

## Notes

Having created the EMBOSS indices for this file, a database can then be defined in the file emboss.defaults as something like:

    DB embl [
       type: N
       format: embl
       method: gcg
       directory: /data/gcg/gcgembl
    ]

### Fields Indexed

By default, dbigcg will index the ID name and the accession number (if present).
If they are present in your database, you may also specify that dbiflat should index the Sequence Version and GI number, the Keywords and Taxonomy names and the words in the description by using the '-fields' qualifier with the appropriate values.

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

It exits with a status of 0 if no errors.

## Known bugs

None.

## See also

Program name | Description
--- | ---
dbiblast | Index a BLAST database
dbifasta | Index a fasta file database
dbiflat | Index a flat file database
dbxcompress | Compress an uncompressed dbx index
dbxedam | Index the EDAM ontology using b+tree indices
dbxfasta | Index a fasta file database using b+tree indices
dbxflat | Index a flat file database using b+tree indices
dbxgcg | Index a GCG formatted database using b+tree indices
dbxobo | Index an obo ontology using b+tree indices
dbxreport | Validate index and report internals for dbx databases
dbxresource | Index a data resource catalogue using b+tree indices
dbxstat | Dump statistics for dbx databases
dbxtax | Index NCBI taxonomy using b+tree indices
dbxuncompress | Uncompress a compressed dbx index

## Author(s)

Peter Rice
European 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.

## History

## Target users

This program is intended to be used by administrators responsible for software and database installation and maintenance.

## Comments

None