[Bioperl-l] RE: About reverse translation using.....

Sun, Jian jsun at utdallas.edu
Mon Sep 27 10:59:56 EDT 2004

Thanks a lot. Todd. While accroding to the CodonUsage table, I still have a question. For example, I want to use the Drosophila melanogaster codonUsage table, (its corresponding genetic code table is, id=>5). From the site-www.kazusa.or.jp./codon/, I get the species name  for 'Drosophila melanogaster' ($organism = "Drosophila melanogaster") and tried the program. And a warning message shows as below: 
MSG: too many species - not a unique species id - .......
The how can get the unique species id?
Thanks a lot
Jian Sun
University of Texas at Dallas


From: Todd Naumann [mailto:tan10 at psu.edu]
Sent: Fri 9/24/2004 2:52 PM
To: jsun at utdallas.edu
Cc: bioperl-l at portal.open-bio.org
Subject: Re:About reverse translation using.....


The following program takes a species, genetic code i.d., and peptide sequence as input. It then retrieves data from the web using Bio::DB::CUTG to create a Bio::CodonUsage::Table object. (Check out www.kazusa.or.jp./codon/ to find correct species name to use, for E. coli there are several). I then use Bio::Tools::CodonTable to do the reverse translation and Bio::CodonUsage to determine which of the codons is most frequent. The output is then the oligo sequence matching the given peptide using the most frequent codons. I think this or something similar is what you are trying to do. If not maybe it will help put you on the right track. 



use strict; 
use warnings; 
#use lib "/Users/todd/.cpan/build/bioperl-1.4"; 
use Bio::CodonUsage::Table; 
use Bio::DB::CUTG; 

my $organism = "Escherichia coli K12"; 
my $gc = "11"; 
my $amino_acids = "AKLMG"; 
my @peptide = split //, $amino_acids; 
my $oligo; 

# get a codon usage table from web database 
my $db = Bio::DB::CUTG->new(-sp => $organism, 
-gc => $gc); 
my $CUT = $db->get_request(); # This is Bio::CondonUsage::Table object 

# use Bio::Tools::CodonTable to do the reverse translation 
# with a specified table 
my $CodonTable = Bio::Tools::CodonTable->new(-id => $gc); 

# Loop throught the amino acids and pick most frequent 
# codon 
foreach (@peptide) { 
my @possible_codons = $CodonTable->revtranslate($_); 
my $most_frequent = shift @possible_codons; 
foreach my $next_codon (@possible_codons) { 
if ($CUT->codon_rel_frequency($next_codon) > $CUT->codon_rel_frequency($most_frequent)) { 
$most_frequent = $next_codon; 
$oligo .= $most_frequent; 
print "The DNA sequence is: $oligo.\n\n"; 

Todd Naumann 
Post-Doc, Stephen Benkovic lab 
Dept. of Chemistry 
Penn State University 
University Park, PA 16801

More information about the Bioperl-l mailing list