Bio-Tools-CodonOptTable
view release on metacpan or search on metacpan
lib/Bio/Tools/CodonOptTable.pm view on Meta::CPAN
open( GPH, ">$line_file" )
|| die("\nFailed to save graph to file: $line_file. $!");
binmode(GPH);
print GPH $plot->gif();
close(GPH);
}
sub generate_report {
my ( $self, $out_file ) = @_;
my $myCodons = $self->rscu_rac_table();
my $sequence_id = $self->id;
my $genetic_code = $self->{genetic_code};
my $monomers = $self->{monomers_count};
my $cai = $self->calculate_cai($myCodons);
my %colors = (
'Ala' => '#f4f4f4', 'Arg' => '#FF99FF', 'Asn' => '#CC99CC',
'Asp' => '#99FFCC', 'Cys' => '#99CC99', 'Gln' => '#CCFF00',
'Glu' => '#FF00CC', 'Gly' => '#33FFCC', 'His' => '#66CCFF',
'Ile' => '#c9c9c9', 'Leu' => '#CCFFFF', 'Lys' => '#FFFFCC',
'Met' => '#FFFF66', 'Phe' => '#FFCC00', 'Pro' => '#F4F4F4',
'Ser' => '#FF99FF', 'Thr' => '#CC99CC', 'Trp' => '#99FFCC',
'Tyr' => '#CCFF00', 'Val' => '#33FFCC', 'Asx' => '#6666CC',
'glx' => '#FF00CC', 'Xaa' => '#cccccc', 'Stop' => '#f8f8f8'
);
my $codons = "|%{color:red}CODON%|";
my $aa_name = "|%{color:red}AMINOACID%|";
my $counts = "|%{color:red}COUNT%|";
my $rscu = "|%{color:red}RSCU%|";
my $rac = "|%{color:red}RAC%|";
foreach my $each_codon (@$myCodons) {
my $frequency = $each_codon->{frequency} || 'O';
my $amino_acid = $each_codon->{aa_name};
my $codon = $each_codon->{codon};
my $rscu_value = $each_codon->{rscu};
my $rac_value = $each_codon->{rac};
my $aa_color = $colors{$amino_acid};
$codons .= "%{background:$aa_color}$codon%|";
$aa_name .= "%{background:$aa_color}$amino_acid%|";
$counts .= "%{background:$aa_color}$frequency%|";
$rscu .= "%{background:$aa_color}$rscu_value%|";
$rac .= "%{background:$aa_color}$rac_value%|";
}
my $codon_uses = "$codons\n$aa_name\n$counts\n";
my $rscu_uses = "$codons\n$aa_name\n$rscu\n";
my $rac_uses = "$codons\n$aa_name\n$rac\n";
my $mono_mers =
"|%{color:red}A%|"
. $monomers->{A} . "|\n"
. "|%{color:red}T%|"
. $monomers->{T} . "|\n"
. "|%{color:red}G%|"
. $monomers->{G} . "|\n"
. "|%{color:red}C%|"
. $monomers->{C} . "|\n";
my $gc_percentage =
( ( $monomers->{G} + $monomers->{C} ) /
( $monomers->{A} + $monomers->{T} + $monomers->{G} + $monomers->{C} )
) * 100;
$gc_percentage = sprintf( "%.2f", $gc_percentage );
my $REPORT = <<EOT;
h1. Bio::Tools::CodonOptTable
%{color:green}Report for $sequence_id%
%{color:red}Codon Adaptation Index (CAI) for sequence% : $cai
%{color:red}GC percentage for sequence% : $gc_percentage%
%{color:red}GENETIC CODE USED% : $genetic_code "--more about genetic code--":http://www.ncbi.nlm.nih.gov/Taxonomy/Utils/wprintgc.cgi
%{background:#336699;color:white;padding:5px}++**CODON USAGE**++%
$codon_uses
%{background:#336699;color:white;padding:5px}++**Relative Synonimous Codon Usage (RSCU)**++%
$rscu_uses
%{background:#336699;color:white;padding:5px}++**Relative Adaptiveness of Codon**++%
$rac_uses
%{background:#336699;color:white;padding:5px}++**Monomers**++%
$mono_mers
"Source code":http://search.cpan.org/~shardiwal/Bio-Tools-CodonOptTable-$VERSION/lib/Bio/Tools/CodonOptTable.pm is available.
EOT
my $html = textile($REPORT);
write_file( $out_file, $html );
}
1; # End of Bio::Tools::CodonOptTable
__END__
=head1 NAME
Bio::Tools::CodonOptTable - A more elaborative way to check the codons usage!
=head1 VERSION
Version 1.05
=head1 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
( run in 0.528 second using v1.01-cache-2.11-cpan-39bf76dae61 )