NAME
Bio::Tools::CodonOptTable - A more elaborative way to check the codons usage.
VERSION
Version 0.06
DESCRIPTION
The purpose of this module is to show codon usage.
We produces each codon frequency, Relative Synonymous Codons Uses and Relative Adaptiveness of a Codon table and bar graph that will help you to calculate the Codon Adaptation Index (CAI) of a gene, to see the gene expression level.
Relative Synonymous Codons Uses(RSCU) values are the number of times a particular codon is observed, relative to the number of times that the codon would be observed in the absence of any codon usage bias.
In the absence of any codon usage bias, the RSCU value would be 1.00. A codon that is used less frequently than expected will have a value of less than 1.00 and vice versa for a codon that is used more frequently than expected.
Genetics Code: NCBI takes great care to ensure that the translation for each coding sequence (CDS) present in GenBank records is correct. Central to this effort is careful checking on the taxonomy of each record and assignment of the correct genetic code (shown as a /transl_table qualifier on the CDS in the flat files) for each organism and record. This page summarizes and references this work. http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi
SYNOPSIS
use Bio::Tools::CodonOptTable;
my $seqobj = Bio::Tools::CodonOptTable->new ( -seq => 'ATGGGGTGGGCACCATGCTGCTGTCGTGAATTTGGGCACGATGGTGTACGTGCTCGTAGCTAGGGTGGGTGGTTTG',
-id => 'GeneFragment-12',
-accession_number => 'Myseq1',
-alphabet => 'dna',
-is_circular => 1,
-genetic_code => 1,
);
B<#If you wanna read from file>
my $seqobj = Bio::Tools::CodonOptTable->new(-file => "contig.fasta",
-format => 'Fasta',
-genetic_code => 1,
);
B<#If you have Accession number and want to get file from NCBI>
my $seqobj = Bio::Tools::CodonOptTable->new(-ncbi_id => "J00522",
-genetic_code => 1,);
my $myCodons = $seqobj->rscu_rac_table();
if($myCodons)
{
for my $each_aa (@$myCodons)
{
print "Codon : ",$each_aa->{'codon'},"\t";
print "Frequency : ",$each_aa->{'frequency'},"\t";
print "AminoAcid : ",$each_aa->{'aa_name'},"\t";
print "RSCU Value : ",$each_aa->{'rscu'},"\t"; #Relative Synonymous Codons Uses
print "RAC Value : ",$each_aa->{'rac'},"\t"; #Relative Adaptiveness of a Codon
print "\n";
}
}
B<# To get the prefered codon list based on RSCU & RAC Values >
my $prefered_codons = $seqobj->prefered_codon($myCodons);
while ( my ($amino_acid, $codon) = each(%$prefered_codons) ) {
print "AminoAcid : $amino_acid \t Codon : $codon\n";
}
B<# To produce a graph between RSCU & RAC>
# Graph output file extension should be GIF, we support GIF only
$seqobj->generate_graph($myCodons,"myoutput.gif");
...
METHODS
Constructor
Title : new
Usage1 : $seq = Bio::Tools::CodonOptTable->new( -seq => 'ATGGGGGTGGTGGTACCCT',
-id => 'human_id',
-accession_number => 'AL000012',
-genetic_code => 1,
);
Usage2 : $seq = Bio::Tools::CodonOptTable->new( -file => 'myseq.fasta',
-format => 'fasta',
-genetic_code => 1,
);
Usage3 : $seq = Bio::Tools::CodonOptTable->new( -ncbi_id => 'J00522',
-genetic_code => 1,
);
Function: Returns a new primary seq object from
basic constructors, being a string for the sequence
and strings for id and accession_number.
Returns : a new Bio::PrimarySeq object
Args : -seq => sequence string
-display_id => display id of the sequence (locus name)
-accession_number => accession number
-primary_id => primary id (Genbank id)
-desc => description text
-alphabet => molecule type (dna,rna,protein)
-id => alias for display id
-file => file location
-format => file format
-ncbi_id => NCBI accession number
-genetic_code => 1 (Default)
# See this list to know more about genetic_code
# http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi
Note : IF you are reading sequence from file it will call _read_localfile method
IF you are fetching file form NCBI it will call _read_remotefile method
Calculate RSCU
Title : calculate_rscu
Function: Calculate the RSCU(Relative Synonymous Codons Uses).
Note : The formula is used in the following references.
http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pubmed&pubmedid=3547335
Calculate RAC
Title : calculate_rac
Function: Calculate the RAC(Relative Adaptiveness of a Codon).
Note : The formula is used in the following references.
http://www.pubmedcentral.nih.gov/articlerender.fcgi?tool=pubmed&pubmedid=3547335
Get Prefered Codons based on RAC & RSCU
Title : prefered_codon
Function: Give you prefered codons list.
Produce RSCU & RAC Graph
Title : generate_graph
Function: Produce a bar graph between RAC(Relative Adaptiveness of a Codon) & RSCU(Relative Synonymous Codons Uses).
AUTHOR
Rakesh Kumar Shardiwal, <rakesh.shardiwal at gmail.com>
BUGS
Please report any bugs or feature requests to bug-bio-tools-codonopttable at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bio-Tools-CodonOptTable. 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::Tools::CodonOptTable
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Bio-Tools-CodonOptTable
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
Lalchand Kumawat <lalchand82@gmail.com> Rajneesh Kumar Sharma <biorajneesh@gmail.com>
COPYRIGHT & LICENSE
Copyright 2008 Rakesh Kumar Shardiwal, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
9 POD Errors
The following errors were encountered while parsing the POD:
- Around line 215:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 260:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 282:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 301:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 317:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 351:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 394:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 423:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content
- Around line 444:
=pod directives shouldn't be over one line long! Ignoring all 2 lines of content