| dbxflat

## 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 flat file database using b+tree indices

## Description

dbxflat indexes a flat file database of one or more files, and builds EMBOSS B+tree format index files.

These indexes allow access of flat files larger than 2Gb.

## Usage

Here is a sample session with dbxflat

    % dbxflat
    Index a flat file database using b+tree indices
    Basename for index files: embl
    Resource name: emblresource
          EMBL : EMBL
         SWISS : Swiss-Prot, SpTrEMBL, TrEMBLnew
            GB : Genbank, DDBJ
        REFSEQ : Refseq
         FASTQ : Fastq files
         USPTO : Iguspto files
    Entry format [SWISS]: embl
    Wildcard database filename [*.dat]: rod.dat
    Database directory [.]: embl
            id : ID
           acc : Accession number
            sv : Sequence Version and GI
           des : Description
           key : Keywords
           org : Taxonomy
    Index fields [id,acc]:
    Compressed index files [Y]:
    General log output file [outfile.dbxflat]:

Go to the output files for this example

## Command line arguments

    Index a flat file database using b+tree indices
    Version: EMBOSS:6.6.0.0

       Standard (Mandatory) qualifiers:
      [-dbname]            string     Basename for index files (Any string from 2
                                      to 19 characters, matching regular
                                      expression /[A-z][A-z0-9_]+/)
      [-dbresource]        string     Resource name (Any string from 2 to 19
                                      characters, matching regular expression
                                      /[A-z][A-z0-9_]+/)
       -idformat           menu       [SWISS] Entry format (Values: EMBL (EMBL);
                                      SWISS (Swiss-Prot, SpTrEMBL, TrEMBLnew); GB
                                      (Genbank, DDBJ); REFSEQ (Refseq); FASTQ
                                      (Fastq files); USPTO (Iguspto files))
       -filenames          string     [*.dat] Wildcard database filename (Any
                                      string)
       -directory          directory  [.] Database directory
       -fields             menu       [id,acc] Index fields (Values: id (ID); acc
                                      (Accession number); sv (Sequence Version and
                                      GI); des (Description); key (Keywords); org
                                      (Taxonomy))
       -[no]compressed     boolean    [Y] Compressed index files
       -outfile            outfile    [*.dbxflat] General log output file

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers:
       -release            string     [0.0] Release number (Any string up to 9
                                      characters)
       -date               string     [00/00/00] Index date (Date string dd/mm/yy)
       -exclude            string     Wildcard filename(s) to exclude (Any string)
       -statistics         boolean    [N] Report I/O statistics for each input
                                      file
       -indexoutdir        outdir     [.] Index file output directory

       Associated qualifiers:

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

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

       "-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
[-dbname] (Parameter 1) | string | Basename for index files | Any string from 2 to 19 characters, matching regular expression /[A-z][A-z0-9_]+/ | Required
[-dbresource] (Parameter 2) | string | Resource 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)
GB | (Genbank, DDBJ)
REFSEQ | (Refseq)
FASTQ | (Fastq files)
USPTO | (Iguspto files)
| SWISS
-filenames | string | Wildcard database filename | Any string | *.dat
-directory | directory | Database directory | Directory | .
-fields | list | Index fields |
id | (ID)
acc | (Accession number)
sv | (Sequence Version and GI)
des | (Description)
key | (Keywords)
org | (Taxonomy)
| id,acc
-[no]compressed | boolean | Compressed index files | Boolean value Yes/No | Yes
-outfile | outfile | General log output file | Output file | <*>.dbxflat
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
-release | string | Release number | Any string up to 9 characters | 0.0
-date | string | Index date | Date string dd/mm/yy | 00/00/00
-exclude | string | Wildcard filename(s) to exclude | Any string |
-statistics | boolean | Report I/O statistics for each input file | Boolean value Yes/No | No
-indexoutdir | outdir | Index file output directory | Output directory | .
Associated qualifiers
"-directory" associated directory qualifiers
-extension | string | Default file extension | Any string |
"-indexoutdir" associated outdir qualifiers
-extension | string | Default file extension | Any string |
"-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

dbxflat reads and indexes sequence data flatfiles in any of the available formats.

## Output file format

dbxflat creates one summary file for the database and two files for each field indexed.

- dbalias.ent is the master file containing the names of the files that have been indexed. It is an ASCII file. This file also contains the database release and date information.
- dbalias.xid is the B+tree index file for the ID names. It is a binary file.
- dbalias.pxid is an ASCII file containing information regarding the structure of the ID name index.

### Output files for usage example

### File: outfile.dbxflat

    Processing directory: /homes/user/test/embl/
    Processing file: rod.dat
    entries: 6 (6) time: 0.0/0.0s (0.0/0.0s)
    Total time: 0:00.0
    Entry idlen 15 OK. Maximum ID length was 6 for 'L48662'.
    Field acc acclen 15 OK. Maximum acc term length was 6 for 'L48662'.

### File: embl.ent

    # Number of files: 1
    # Release: 0.0
    # Date:    00/00/00
    Single filename database
    rod.dat

### File: embl.pxac

    Type         Identifier
    Compress     Yes
    Pages        3
    Secpages     3
    Order        71
    Fill         56
    Level        0
    Pagesize     2048
    Cachesize    20000
    Order2       22
    Fill2        41
    Secpagesize  512
    Seccachesize 20000
    Count        7
    Fullcount    9
    Kwlimit      15
    Reffiles     0

### File: embl.pxid

    Type         Identifier
    Compress     Yes
    Pages        3
    Secpages     0
    Order        71
    Fill         56
    Level        0
    Pagesize     2048
    Cachesize    20000
    Order2       22
    Fill2        41
    Secpagesize  512
    Seccachesize 20000
    Count        6
    Fullcount    6
    Kwlimit      15
    Reffiles     0

### File: embl.xac

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

### File: embl.xid

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

## Data files

None.

## Notes

The indexing system has been designed to allow on-the-fly updating of indexes. This feature is, however, not implemented in the current version. It will be made available in future releases.

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

    DB embl [
       type: N
       dbalias: embl   (see below)
       format: embl
       method: emboss
       directory: /data/embl
       file: *.dat
       indexdirectory: /data/embl/indexes
    ]

The index file 'basename' given to dbxflat must match the DB name in the definition. If not, then a 'dbalias' line must be given which specifies the basename of the indexes.

### Fields Indexed

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

## Global Parameters

dbxflat requires that two global parameters be defined in the file emboss.defaults. These are:

    SET PAGESIZE 2048
    SET CACHESIZE 200

The above values are recommended for most systems. The PAGESIZE is a multiple of the size of disc pages the operating system buffers. The CACHESIZE is the number of disc pages dbxflat is allowed to cache.

## Resources

dbxflat will ask you for the name of a resource definition in the file emboss.defaults. This will be something like:

    RES embl [
       type: Index
       idlen:  15
       acclen: 15
       svlen:  20
       keylen: 25
       deslen: 25
       orglen: 25
    ]

The length definitions are the maximum lengths of 'words' in the field being indexed. Longer words will be truncated to the value set.

## References

None.

## Warnings

None.

## Diagnostic Error Messages

None.

## Exit status

It always exits with status 0.

## 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
dbigcg | Index a GCG formatted 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
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)

Alan Bleasby
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