The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

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

VERSION

Version 0.04

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,
				   );

    #If you wanna read from file
    my $seqobj = Bio::Tools::CodonOptTable->new(-file => "contig.fasta",
                                             -format => 'Fasta',
                                             -genetic_code => 1,
                                             );

    #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->[1]->{'codon'},"\t";
			print "Frequency  : ",$each_aa->[1]->{'frequency'},"\t";
			print "AminoAcid  : ",$each_aa->[1]->{'aa_name'},"\t";
			print "RSCU Value : ",$each_aa->[1]->{'rscu'},"\t"; #Relative Synonymous Codons Uses
			print "RAC Value  : ",$each_aa->[1]->{'rac'},"\t"; #Relative Adaptiveness of a Codon
			print "\n";
		    }
	}
    
    # 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

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.