NAME
Bio::CUA::CodonTable -- A package processing genetic codon table
SYNOPSIS
This package is provided to improve portability of http://search.cpan.org/dist/Bio-CUA/, in case that one may not install "http://www.bioperl.org/" in BioPerl which includes huge number of modules.
The package obtains genetic code tables from NCBI at http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=cgencodes
examples:
# get the standard genetic code
my $table = Bio::CUA::CodonTable->new(-id => 1)
# get table from an input file if know genetic codes can not
# satisfy the need.
my $table = Bio::CUA::CodonTable->new(-map_file =>
'codon_to_aa.tsv')
# in 'codon_to_aa.tsv', it looks like this
# GCU A
# AAU N
# CAU H
# ... ...
new
Title : new
Usage : $obj = Bio::CUA::CodonTable->new(-map_file => 'file');
Function: creat an object for processing genetic codon tables
Returns : an object of L<Bio::CUA::CodonTable>
Args : a hash with following keys:
- -id
-
genetic code id. The id follows NCBI's standard, here are the list: 1. The Standard Code 2. The Vertebrate Mitochondrial Code 3. The Yeast Mitochondrial Code 4. The Mold, Protozoan, and Coelenterate Mitochondrial Code and the Mycoplasma/Spiroplasma Code 5. The Invertebrate Mitochondrial Code 6. The Ciliate, Dasycladacean and Hexamita Nuclear Code 9. The Echinoderm and Flatworm Mitochondrial Code 10. The Euplotid Nuclear Code 11. The Bacterial, Archaeal and Plant Plastid Code 12. The Alternative Yeast Nuclear Code 13. The Ascidian Mitochondrial Code 14. The Alternative Flatworm Mitochondrial Code 16. Chlorophycean Mitochondrial Code 21. Trematode Mitochondrial Code 22. Scenedesmus obliquus Mitochondrial Code 23. Thraustochytrium Mitochondrial Code 24. Pterobranchia Mitochondrial Code 25. Candidate Division SR1 and Gracilibacteria Code see L<http://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=tgencodes#SG1> for more details.
- -map_file
-
-map_file = a file containing a mapping between codons to amino acids, one codon per line followed by its amino acid, separated by tab or space.
- -debug
-
a switch to indicate whether to show more warnings which may help to identify sources of errors if any. put 1 to switch it on. The default is off.
Note: argument -map_file has higher priority than -id, and the
default is -id => 1, i.e., the standard genetic code
name
Title : name
Usage : $name = $self->name();
Function: the name of genetic code table in use
Returns : a string for the name
Args : None
id
Title : id
Usage : $id = $self->id();
Function: the id of genetic code table in use
Returns : a integer for the id
Args : None
total_num_of_codons
Title : total_num_of_codons
Usage : $num = $self->total_num_of_codons;
Function: get total codons of the genetic code table in use
Returns : an integer
Args : None
is_valid_codon
Title : is_valid_codon
Usage : $test = $self->is_valid_codon('ACG');
Function: test whether a given character string is a valid codon in
current codon table
Returns : 1 if true, otherwise 0
Args : a codon sequence
all_sense_codons
Title : all_sense_codons
Usage : @codons = $self->all_sense_codons;
Function: get all the sense codons in this genetic code table
Returns : an array of codons, or its reference in scalar context
Args : None
all_amino_acids
Title : all_amino_acids
Usage : @AAs = $self->all_amino_acids
Function: get all the amino acids in this genetic code table
Returns : an array of amino acids, or its reference if in scalar
context
Args : None
all_start_codons
Title : all_start_codons
Usage : @startCodons = $self->all_start_codons;
Function: get all the start codons in the genetic code table in use
Returns : an array of codons, or its reference if in scalar context
Args : None
all_stop_codons
Title : all_stop_codons
Usage : @stopCodons = $self->all_stop_codons;
Function: get all the stop codons in the genetic code table in use
Returns : an array of codons, or its reference if in scalar context
Args : None
codons_of_AA
Title : codons_of_AA
Usage : @codons = $self->codons_of_AA('S');
Function: get codons encoding the given amino acid
Returns : an array of codons, or its reference if in scalar context
Args : a single amino acid; for stop codons, one can give '*' here
codon_to_AA_map
Title : codon_to_AA_map
Usage : $hash = $self->codon_to_AA_map
Function: get the mapping from codon to amino acid in a hash
Returns : a hash reference in which codons are keys and AAs are
values
Args : None
translate
Title : translate
Usage : $AA_string = $self->translate('ATGGCA');
Function: get the translation of input nucleotides
Returns : a string of amino acids, unknown amino acids are
represented as 'X'.
Args : nucleotide sequence.
Note : if the input sequence is not multiple of 3 long, the last
remained 1 or 2 nucleotides would be simply ignored.
is_stop_codon
Title : is_stop_codon
Usage : $test = $self->is_stop_codon('UAG');
Function: check whether this is a stop codon
Returns : 1 if true, otherwise 0
Args : a codon sequence
codon_degeneracy
Title : codon_degeneracy
Usage : $hash = $self->codon_degeneracy;
Function: group AAs and codons into codon degeneracy groups
Returns : reference to a hash in which 1st level key is degeneracy
(i.e., 1,2,6,etc), 2nd level key is amino acids for that degeneracy
group, and 3rd level is reference of arrays containing coding codons
for each amino acid. For example:
{ 2 => { D => [GAU, GAC],
C => [UGU, UGC],
... ...
},
4 => { A => [GCU, GCC, GCA, GCG],
... ...
},
... ... ...
}
Args : None
AUTHOR
Zhenguo Zhang, <zhangz.sci at gmail.com>
BUGS
Please report any bugs or feature requests to bug-bio-cua at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bio-CUA. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Bio::CUA::CodonTable
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2015 Zhenguo Zhang.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.