| chips

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

Calculates Nc codon usage statistic

## Description

chips calculates Frank Wright's Nc statistic for a nucleotide sequence. This is the "effective number of codons used in a gene sequence" (ref 1), and is a simple measure of synonymous codon usage bias. Nc quantifies how far the codon usage of a gene departs from equal usage of synonymous codons.

Nc is easily calculated from codon usage data alone and is independent of gene length and amino acid composition. Nc can take values from 20, in the case of extreme bias where one codon is exclusively used for each amino acid, to 61 when the use of alternative synonymous codons is equally likely. Nc thus provides an intuitively meaningful measure of the extent of codon preference in a gene. Low values therefore indicate a strong codon bias, and high values indicate a low bias (and possibly a non-coding region).

## Usage

Here is a sample session with chips

    % chips -sbeg 135 -send 1292
    Calculates Nc codon usage statistic
    Input nucleotide sequence(s): tembl:x13776
    Output file [x13776.chips]:

Go to the input files for this example
Go to the output files for this example

## Command line arguments

    Calculates Nc codon usage statistic
    Version: EMBOSS:6.2.0

       Standard (Mandatory) qualifiers:
      [-seqall]            seqall     Nucleotide sequence(s) filename and optional
                                      format, or reference (input USA)
      [-outfile]           outfile    [*.chips] Output file name

       Additional (Optional) qualifiers: (none)
       Advanced (Unprompted) qualifiers:
       -[no]sum            boolean    [Y] Sum codons over all sequences

       Associated qualifiers:

       "-seqall" associated qualifiers
       -sbegin1            integer    Start of each sequence to be used
       -send1              integer    End of each sequence to be used
       -sreverse1          boolean    Reverse (if DNA)
       -sask1              boolean    Ask for begin/end/reverse
       -snucleotide1       boolean    Sequence is nucleotide
       -sprotein1          boolean    Sequence is protein
       -slower1            boolean    Make lower case
       -supper1            boolean    Make upper case
       -sformat1           string     Input sequence format
       -sdbname1           string     Database name
       -sid1               string     Entryname
       -ufo1               string     UFO features
       -fformat1           string     Features format
       -fopenfile1         string     Features file name

       "-outfile" associated qualifiers
       -odirectory2        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
[-seqall] (Parameter 1) | seqall | Nucleotide sequence(s) filename and optional format, or reference (input USA) | Readable sequence(s) | Required
[-outfile] (Parameter 2) | outfile | Output file name | Output file | <*>.chips
Additional (Optional) qualifiers
(none)
Advanced (Unprompted) qualifiers
-[no]sum | boolean | Sum codons over all sequences | Boolean value Yes/No | Yes
Associated qualifiers
"-seqall" associated seqall qualifiers
-sbegin1 -sbegin_seqall | integer | Start of each sequence to be used | Any integer value | 0
-send1 -send_seqall | integer | End of each sequence to be used | Any integer value | 0
-sreverse1 -sreverse_seqall | boolean | Reverse (if DNA) | Boolean value Yes/No | N
-sask1 -sask_seqall | boolean | Ask for begin/end/reverse | Boolean value Yes/No | N
-snucleotide1 -snucleotide_seqall | boolean | Sequence is nucleotide | Boolean value Yes/No | N
-sprotein1 -sprotein_seqall | boolean | Sequence is protein | Boolean value Yes/No | N
-slower1 -slower_seqall | boolean | Make lower case | Boolean value Yes/No | N
-supper1 -supper_seqall | boolean | Make upper case | Boolean value Yes/No | N
-sformat1 -sformat_seqall | string | Input sequence format | Any string |
-sdbname1 -sdbname_seqall | string | Database name | Any string |
-sid1 -sid_seqall | string | Entryname | Any string |
-ufo1 -ufo_seqall | string | UFO features | Any string |
-fformat1 -fformat_seqall | string | Features format | Any string |
-fopenfile1 -fopenfile_seqall | string | Features file name | Any string |
"-outfile" associated outfile qualifiers
-odirectory2 -odirectory_outfile | 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

A nucleic acid sequence USA.

### Input files for usage example

'tembl:x13776' is a sequence entry in the example nucleic acid database 'tembl'

### Database entry: tembl:x13776

    ID   X13776; SV 1; linear; genomic DNA; STD; PRO; 2167 BP.
    XX
    AC   X13776; M43175;
    XX
    DT   19-APR-1989 (Rel. 19, Created)
    DT   14-NOV-2006 (Rel. 89, Last updated, Version 24)
    XX
    DE   Pseudomonas aeruginosa amiC and amiR gene for aliphatic amidase regulation
    XX
    KW   aliphatic amidase regulator; amiC gene; amiR gene.
    XX
    OS   Pseudomonas aeruginosa
    OC   Bacteria; Proteobacteria; Gammaproteobacteria; Pseudomonadales;
    OC   Pseudomonadaceae; Pseudomonas.
    XX
    RN   [1]
    RP   1167-2167
    RA   Rice P.M.;
    RT   ;
    RL   Submitted (16-DEC-1988) to the EMBL/GenBank/DDBJ databases.
    RL   Rice P.M., EMBL, Postfach 10-2209, Meyerhofstrasse 1, 6900 Heidelberg, FRG.
    XX
    RN   [2]
    RP   1167-2167
    RX   DOI; 10.1016/0014-5793(89)80249-2.
    RX   PUBMED; 2495988.
    RA   Lowe N., Rice P.M., Drew R.E.;
    RT   "Nucleotide sequence of the aliphatic amidase regulator gene (amiR) of
    RT   Pseudomonas aeruginosa";
    RL   FEBS Lett. 246(1-2):39-43(1989).
    XX
    RN   [3]
    RP   1-1292
    RX   PUBMED; 1907262.
    RA   Wilson S., Drew R.;
    RT   "Cloning and DNA sequence of amiC, a new gene regulating expression of the
    RT   Pseudomonas aeruginosa aliphatic amidase, and purification of the amiC
    RT   product";
    RL   J. Bacteriol. 173(16):4914-4921(1991).
    XX
    RN   [4]
    RP   1-2167
    RA   Rice P.M.;
    RT   ;
    RL   Submitted (04-SEP-1991) to the EMBL/GenBank/DDBJ databases.
    RL   Rice P.M., EMBL, Postfach 10-2209, Meyerhofstrasse 1, 6900 Heidelberg, FRG.
    XX
    DR   GOA; Q51417.
    DR   InterPro; IPR003211; AmiSUreI_transpt.
    DR   UniProtKB/Swiss-Prot; Q51417; AMIS_PSEAE.

      [Part of this file has been deleted for brevity]

    FT                   /replace=""
    FT                   /note="ClaI fragment deleted in pSW36,  constitutive
    FT                   phenotype"
    FT   misc_feature    1
    FT                   /note="last base of an XhoI site"
    FT   misc_feature    648..653
    FT                   /note="end of 658bp XhoI fragment, deletion in  pSW3 causes
    FT                   constitutive expression of amiE"
    FT   conflict        1281
    FT                   /replace="g"
    FT                   /citation=[3]
    XX
    SQ   Sequence 2167 BP; 363 A; 712 C; 730 G; 362 T; 0 other;
         ggtaccgctg gccgagcatc tgctcgatca ccaccagccg ggcgacggga actgcacgat        60
         ctacctggcg agcctggagc acgagcgggt tcgcttcgta cggcgctgag cgacagtcac       120
         aggagaggaa acggatggga tcgcaccagg agcggccgct gatcggcctg ctgttctccg       180
         aaaccggcgt caccgccgat atcgagcgct cgcacgcgta tggcgcattg ctcgcggtcg       240
         agcaactgaa ccgcgagggc ggcgtcggcg gtcgcccgat cgaaacgctg tcccaggacc       300
         ccggcggcga cccggaccgc tatcggctgt gcgccgagga cttcattcgc aaccgggggg       360
         tacggttcct cgtgggctgc tacatgtcgc acacgcgcaa ggcggtgatg ccggtggtcg       420
         agcgcgccga cgcgctgctc tgctacccga ccccctacga gggcttcgag tattcgccga       480
         acatcgtcta cggcggtccg gcgccgaacc agaacagtgc gccgctggcg gcgtacctga       540
         ttcgccacta cggcgagcgg gtggtgttca tcggctcgga ctacatctat ccgcgggaaa       600
         gcaaccatgt gatgcgccac ctgtatcgcc agcacggcgg cacggtgctc gaggaaatct       660
         acattccgct gtatccctcc gacgacgact tgcagcgcgc cgtcgagcgc atctaccagg       720
         cgcgcgccga cgtggtcttc tccaccgtgg tgggcaccgg caccgccgag ctgtatcgcg       780
         ccatcgcccg tcgctacggc gacggcaggc ggccgccgat cgccagcctg accaccagcg       840
         aggcggaggt ggcgaagatg gagagtgacg tggcagaggg gcaggtggtg gtcgcgcctt       900
         acttctccag catcgatacg cccgccagcc gggccttcgt ccaggcctgc catggtttct       960
         tcccggagaa cgcgaccatc accgcctggg ccgaggcggc ctactggcag accttgttgc      1020
         tcggccgcgc cgcgcaggcc gcaggcaact ggcgggtgga agacgtgcag cggcacctgt      1080
         acgacatcga catcgacgcg ccacaggggc cggtccgggt ggagcgccag aacaaccaca      1140
         gccgcctgtc ttcgcgcatc gcggaaatcg atgcgcgcgg cgtgttccag gtccgctggc      1200
         agtcgcccga accgattcgc cccgaccctt atgtcgtcgt gcataacctc gacgactggt      1260
         ccgccagcat gggcggggga ccgctcccat gagcgccaac tcgctgctcg gcagcctgcg      1320
         cgagttgcag gtgctggtcc tcaacccgcc gggggaggtc agcgacgccc tggtcttgca      1380
         gctgatccgc atcggttgtt cggtgcgcca gtgctggccg ccgccggaag ccttcgacgt      1440
         gccggtggac gtggtcttca ccagcatttt ccagaatggc caccacgacg agatcgctgc      1500
         gctgctcgcc gccgggactc cgcgcactac cctggtggcg ctggtggagt acgaaagccc      1560
         cgcggtgctc tcgcagatca tcgagctgga gtgccacggc gtgatcaccc agccgctcga      1620
         tgcccaccgg gtgctgcctg tgctggtatc ggcgcggcgc atcagcgagg aaatggcgaa      1680
         gctgaagcag aagaccgagc agctccagga ccgcatcgcc ggccaggccc ggatcaacca      1740
         ggccaaggtg ttgctgatgc agcgccatgg ctgggacgag cgcgaggcgc accagcacct      1800
         gtcgcgggaa gcgatgaagc ggcgcgagcc gatcctgaag atcgctcagg agttgctggg      1860
         aaacgagccg tccgcctgag cgatccgggc cgaccagaac aataacaaga ggggtatcgt      1920
         catcatgctg ggactggttc tgctgtacgt tggcgcggtg ctgtttctca atgccgtctg      1980
         gttgctgggc aagatcagcg gtcgggaggt ggcggtgatc aacttcctgg tcggcgtgct      2040
         gagcgcctgc gtcgcgttct acctgatctt ttccgcagca gccgggcagg gctcgctgaa      2100
         ggccggagcg ctgaccctgc tattcgcttt tacctatctg tgggtggccg ccaaccagtt      2160
         cctcgag                                                                2167
    //

## Output file format

If all codons are used, the Nc value will be 61. If only one codon is used for each amino acid the Nc value will be 20. Low values therefore indicate a strong codon bias, and high values indicate a low bias (and possibly a non-coding region).

### Output files for usage example

### File: x13776.chips

    # CHIPS codon usage statistics

    Nc = 32.951

## Data files

chips reads the codon usage file "CODONS/Ehum.cut" from the EMBOSS data directory. It uses the file as a template only and ignores the date itself.

EMBOSS data files are distributed with the application and stored in the standard EMBOSS data directory, which is defined by the EMBOSS environment variable EMBOSS_DATA.

To see the available EMBOSS data files, run:

    % embossdata -showall

To fetch one of the data files (for example 'Exxx.dat') into your current directory for you to inspect or modify, run:

    % embossdata -fetch -file Exxx.dat

Users can provide their own data files in their own directories. Project specific files can be put in the current directory, or for tidier directory listings in a subdirectory called ".embossdata". Files for all EMBOSS runs can be put in the user's home directory, or again in a subdirectory called ".embossdata".

The directories are searched in the following order:

- . (your current directory)
- .embossdata (under your current directory)
- ~/ (your home directory)
- ~/.embossdata

## Notes

This calculation was originally in the EGCG package as "codfish" (codon usage for fission yeast). As Frank Wright is a vegan, we looked for a meat-free name for the EMBOSS version, "chips". The official explanation is "Codon Heterozygosity (Inverse of) in a Protein-coding Sequence".

## References

1. Wright, F. (1990) Gene 87:23-29 "The 'effective number of codons' used in a gene."

## Warnings

The Nc statistic has problems for very short sequences (20 amino acids or less) which are yet to be fully resolved. They are caused by the need to consider amino acids which are missing in the sequence.

chips analyses exclusively protein coding regions. If the provided sequence extends beyond the coding region then the start and/or end positions of the CDS must be specified by using the -sbegin and -send qualifiers that are in-built for all sequence types.

## Diagnostic Error Messages

None.

## Exit status

It always exits with a status of 0.

## Known bugs

None.

## See also

Program name | Description
--- | ---
cai | Calculate codon adaptation index
codcmp | Codon usage table comparison
cusp | Create a codon usage table from nucleotide sequence(s)
syco | Draw synonymous codon usage statistic plot for a nucleotide sequence

## Author(s)

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

## History

1999 - Written - Alan Bleasby.

## Target users

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

## Comments

None