++ed by:
1 non-PAUSE user
Author image Rakesh Kumar Shardiwal

NAME

Bio::Tools::CodonOptTable - A more elaborative way to check the codons usage.

VERSION

Version 0.07

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:

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 206:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 265:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 287:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 306:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 320:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 348:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 392:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 421:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content

Around line 442:

=pod directives shouldn't be over one line long! Ignoring all 2 lines of content