Biology Stack Exchange is a question and answer site for biology researchers, academics, and students. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm interested in a statistical tool to get bacterial codon usage at genomic level. Ideally, the tool should be flexible to analyse hundreds of bacterial genomes.

I've looked in MeSH terms database but I'm a bit lost when I search for "Genetic Code" and Software.

I'm looking for an output like this one:

enter link description here

share|improve this question
Please clarify a little. What is "genetic code usage"? Do you mean the code that a species uses or are you thinking of codon biases? What are you trying to do with MESH? How do you get aa composition at the genome level? You mean the usage ratio of aas in the whole proteome? Please edit your post and include the actual scientific question you are trying to answer. – terdon Oct 21 '13 at 15:38
Just to amplify the comment from @terdon - do you mean the amino acid composition of the proteome (i.e. taking into account protein abundance) or do you mean that simply calculated from the translation of all open reading frames? – Alan Boyd Oct 21 '13 at 16:13
In response to the comments, I edited my question and added my ideal output. – biotech Oct 24 '13 at 8:14
check this. You can get the tables for multiple genomes and then apply your statistics. You can use a script to automate the download – WYSIWYG Oct 24 '13 at 10:48
You should also be aware that within subsets of the genome, there are different codon biases. For example, metabolic genes use a different codon bias than whole-genome transcript bias. Also, mitochondrial DNA has a different codon bias from genomic DNA codon bias. – user560 Oct 24 '13 at 23:00

I have written a script that will get you started. It downloads all protein coding transcripts of the species of interest from Ensembl and prints the codon use for each codon on each transcript.

You will need to install the Bio::EnsEMBL::Registry Perl module, see here for instructions. The script also uses the Math::Round module, everything else should be installed by default with your Perl distribution. Finally, the script expects to be run from a Unix/Linux operating system.

Example run human > human.csv

Example output

Gene Name   Gene ID      Transcript ID  Ala_GCC Ala_GCC_% Ala_GCA Ala_GCA_% Ala_GCG Ala_GCG_% Ala_GCT Ala_GCT_%
CRLF2   ENSG00000205755 ENST00000400841    6       40        6      40         0       0         3       20

In the example above, the transcript ENST00000400841 of the human CRLF2 gene, contains a total of 15 Alanine residues, 6 of which are coded for by the GCC codon (40%), 6 by the GCA codon (40%) and 3 by the GCT codon (20%). The GCG codon is not used (0%).

This is a cut version of the output, the actual output lines are much longer since they include all codons and there will be one line per protein coding transcript.

This script should at least get you started since it will provide you with the raw data needed to perform your statistical analyses. If you use it in published work, I would appreciate it if you could let me know (my email is included in the script) and perhaps mention me in the acknowledgements :).

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.