NAME

Bio::CUA::Summarizer - a class to summarize features of sequences.

SYNOPSIS

This class provides convenience for its child classes with methods summarizing sequence features, such as counting and listing amino acids and codons, retrieving amino acids with certain degree degeneracy in a genetic table. Refer to the "Methods" section for more details.

use Bio::CUA::Summarizer;

my $summarizer = Bio::CUA::Summarizer->new(
                 codon_table => 1 ); # using stardard genetic code

# get codons in a sequence file
my $codonList = $summarizer->tabulate_codons('seqs.fa');
# get the codon table object of this summarizer
my $table = $summarizer->codon_table;
# get all sense codons in the genetic codon table
my @senseCodons = $summarizer->all_sense_codons;
# get codons encoding an amino acid
my @codons = $summarizer->codons_of_AA('Ser');

new

Title   : new
Usage   : $obj=Bio::CUA::Summarizer->new(%args);
Function: create an object which can be used to summarizing sequence
features.
Returns : an object of this or child class
Args    : a hash with a key 'codon_table', acceptable values are
 codon_table => id of genetic codon table # 1
 codon_table => Bio::CUA::CodonTable object # 2
 codon_table => 'map-file' # 3
  1. id of genetic codon table can be found from NCBI genetic codes. A valid id is an integer.

  2. an object of Bio::CUA::CodonTable. One can directly provide an object to the method.

  3. If genetic code in analyzed sequences is not included in NCBI, one can also provide its own genetic code in a map-file, in the format of codon1<tab>AA1 codon2<tab>AA2, ... ... ....

Note all the analyzed sequences will use this provided genetic codon table to map between amino acids and codons.

codon_table

Title   : codon_table
Usage   : $table = $self->codon_table;
Function: get associated codon table of this object
Returns : an object of L<Bio::CUA::CodonTable>
Args    : None

bases

get the 4 nucleotides A,T,C,G always in this order, to keep consistency among different classes

get_codon_list

Title   : get_codon_list
Usage   : $codonList = $self->get_codon_list($input)
Function: get codons and their counts in input
Returns : reference to a hash containing codons as keys and counts
as values.
Args    : seq string, seq object, seq file, or another codon list

tabulate_codons

Title   : tabulate_codons
Usage   : $codonList = $self->tabulate_codons($input,[$each]);
Function: count codons in the input sequences
Returns : reference to a hash in which codon is the key and counts as
values. If $each is true, then each sequence is separately processed
and stored in a larger hash. The count of a codon in a sequence can
be retrieved like this: $codonList->{'seqId'}->{'codon'}.
Args    : accepted arguments are as follows:
I<input> = name of a file containing fasta sequences
I<each>  = optional, if TRUE (i.e., non-zero values), each sequence is
separately processed.

This is a companionate method of "get_codon_list" for situations when one want to get codon counts for each sequence separately.

tabulate_AAs

Title   : tabulate_AAs
Usage   : $AAList = $self->tabulate_AAs($input,[$each]);
Function: similar to L</tabulate_codons>, but for counting amino acids
Returns : the same as L</tabulate_codons>, but for amino acids
Args    : refer to L</tabulate_codons>.

all_sense_codons

get all sense codons in the genetic codon table of this object

all_AAs_in_table

get all the amino acids coded in the genetic code table of this object

codons_of_AA

get codons coding the given amino acid, e.g.,

my @codons = $self->codons_of_AA('Ser');

aa_degeneracy_classes

 Title   : aa_degeneracy_classes
 Usage   : $hashRef = $self->aa_degeneracy_classes;
 Function: get amino acid degeneracy classes according to the
 associated genetic code table
 Returns : a hash reference in which first level key is degeneracy
 degrees such as 1,2,3,4,6, second level is amino acid, the value is
 reference to the corresponding codon array. For example:
 
 { 2 => { D => [GAU, GAC],
          C => [UGU, UGC],
		  ...  ...
 		},
   4 => { A => [GCU, GCC, GCA, GCG],
          ...  ...
        },
	...  ...  ...
 }

 Args    : None

codons_by_degeneracy

Title   : codons_by_degeneracy
Usage   : @codons = $self->codons_by_degeneracy(2);
Function: get all the codons of AAs which have the specified degree
of degeneracy, for example, codons of amino acids with degenracy
degree 2.
Returns : an array of codons, or its reference in scalar context
Args    : an integer for degeneracy degree

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

You can also look for information at:

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/.