User Tools

Site Tools


bio:tools:codonopttable

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
bio:tools:codonopttable [2009/11/06 09:59] 172.26.0.166bio:tools:codonopttable [2010/05/22 14:19] – external edit 127.0.0.1
Line 6: Line 6:
  
 http://kobesearch.cpan.org/htdocs/Bio-Tools-CodonOptTable/README.html http://kobesearch.cpan.org/htdocs/Bio-Tools-CodonOptTable/README.html
-http://search.cpan.org/~shardiwal/Bio-Tools-CodonOptTable-0.07/lib/Bio/Tools/CodonOptTable.pm+
  
 Installation from cpan Installation from cpan
 <code>cpan>install  Bio::Tools::CodonOptTable</code> <code>cpan>install  Bio::Tools::CodonOptTable</code>
-depends on GD::Graph and Bio::Perl+depends on **GD::Graph** and **Bio::Perl** 
 + 
 +http://search.cpan.org/~shardiwal/Bio-Tools-CodonOptTable-0.07/lib/Bio/Tools/CodonOptTable.pm 
 + 
 +====USES or Examples==== 
 + 
 +You can use this module in the following ways 
 +<code> 
 +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, 
 +                                   ); 
 +</code> 
 +B<#If you wanna read from file> 
 +<code> 
 +my $seqobj = Bio::Tools::CodonOptTable->new(-file => "contig.fasta", 
 + 
 +                                             -format => 'Fasta', 
 +                                             -genetic_code => 1, 
 +                                             ); 
 +</code> 
 +B<#If you have Accession number and want to get file from NCBI> <code>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"; 
 +        } 
 +        } 
 +</code> 
 +B<# To get the prefered codon list based on RSCU & RAC Values ><code> my $prefered_codons = $seqobj->prefered_codon($myCodons); 
 + 
 +while ( my ($amino_acid, $codon) = each(%$prefered_codons) ) { 
 + 
 +print "AminoAcid : $amino_acid \t Codon : $codon\n";
 +</code> 
 +B<# To produce a graph between RSCU & RAC> # Graph output file extension should be GIF, we support GIF only 
 +<code> 
 +$seqobj->generate_graph($myCodons,"myoutput.gif");</code> 
 +====Creating a gui for CodonOptTable==== 
 + 
 +Here is a python script that provides a Graphical User Interface: 
 +You need to have wxpython installed on your system. 
 +<code python> 
 +#!/usr/bin/python 
 +import wx 
 +import os 
 +import random 
 +class testgui(wx.Frame): 
 +    def __init__(self, parent, id, title): 
 +        wx.Frame.__init__(self, parent, id, title, size=(600,300)) 
 +        # Menu stuff 
 +        menubar =wx.MenuBar() 
 +        menufile =wx.Menu() 
 +        menuhelp =wx.Menu() 
 +        self.SetMenuBar(menubar) 
 +        menubar.Append(menufile, '&File'
 +        menubar.Append(menuhelp, '&Help'
 +        exitmenu =menufile.Append(-1, 'Quit', 'Exit Application'
 +        about =menuhelp.Append(-1, 'About', 'About us') 
 +        #panel creation and sizer 
 +        panel =wx.Panel(self, -1) 
 +        hbsizer =wx.BoxSizer(wx.VERTICAL) 
 +        self.orig_text =wx.TextCtrl(panel,-1,size=(250,150),style=wx.TE_MULTILINE) 
 +       # self.orig_text =wx.TextCtrl(panel,-1) 
 +#Objects 
 +        self.orig_label =wx.StaticText(panel,-1, 'Paste Your Sequence here:'
 + ok_button =wx.Button(panel,-1,'Run CodonOptTable'
 + cancel_button =wx.Button(panel,-1,'Clear'
 + exit_button=wx.Button(panel,-1,'Exit'
 + disp =wx.StaticText(panel,-1,''
 +  
 + vsizer1 =wx.BoxSizer(wx.HORIZONTAL) 
 + vsizer4 =wx.BoxSizer(wx.HORIZONTAL) 
 + vsizer5 =wx.BoxSizer(wx.HORIZONTAL) 
 + vsizer6 =wx.BoxSizer(wx.HORIZONTAL) 
 + vsizer2 =wx.BoxSizer(wx.HORIZONTAL) 
 +  
 + vsizer1.Add(self.orig_label,1,wx.CENTRE,10) 
 + vsizer2.Add(self.orig_text,1,wx.CENTRE,10) 
 +  
 + vsizer5.Add(ok_button,1,wx.RIGHT,1) 
 + vsizer5.Add(cancel_button,1,wx.RIGHT,1) 
 + vsizer5.Add(exit_button,1,wx.RIGHT,1) 
 +  
 + vsizer6.Add(disp,1,wx.CENTER,1) 
 +  
 + hbsizer.Add(vsizer1,0,wx.CENTER|wx.ALL,1) 
 +# hbsizer.Add(self.orig_text,0, wx.CENTER|wx.ALL,1) 
 + hbsizer.Add(vsizer2,0, wx.CENTER|wx.ALL,1) 
 + hbsizer.Add(vsizer4,0, wx.CENTER|wx.ALL,1) 
 + hbsizer.Add(vsizer5,0,wx.ALIGN_RIGHT|wx.RIGHT,1) 
 + hbsizer.Add(vsizer6,0,wx.CENTER,1) 
 +  
 + #events 
 + self.Bind(wx.EVT_BUTTON,self.executa,ok_button) 
 + self.Bind(wx.EVT_MENU, self.soja, exitmenu) 
 + self.Bind(wx.EVT_BUTTON,self.clear,cancel_button) 
 + self.Bind(wx.EVT_BUTTON,self.soja,exit_button) 
 + #panel.CreateStatusBar() 
 + panel.SetSizer(hbsizer)  
 + self.Centre() 
 + 
 +        self.Show(True) 
 +    def clear(self,event=None): 
 + self.orig_text.SetValue(''
 +  
 +    def soja(self, event=None): 
 +        self.Close(True) 
 +    def executa(self,event=None): 
 + recordid=random.randint(20,10055) 
 + originator=self.orig_text.GetValue() 
 + os.system('perl /home/obiero/codonopt/codonOpt-test.pl %s' %originator) 
 + wx.MessageBox('DONE! check the output in you folder', 'CodonOptTable Info'    
 +app =wx.App() 
 +testgui(None, -1, 'CodonOptTable GUI'
 +app.MainLoop() 
 +</code> 
 +This is used together with the perl script: 
 +<code perl>#!/bin/perl 
 +use Bio::Tools::CodonOptTable; 
 +$sequence = $ARGV[0]; 
 +sub codon { 
 +my ($mysequence)=@_; 
 +print $mysequence; 
 +my $seqobj = Bio::Tools::CodonOptTable->new ( -seq => $mysequence, 
 +                                                -id  => 'GeneFragment-12', 
 +                                                -accession_number => 'Myseq1', 
 +                                                -alphabet => 'dna', 
 +                                                -is_circular => 1, 
 +                                                -genetic_code => 1, 
 +                                   ); 
 +#my $seqobj = Bio::Tools::CodonOptTable->new(-file => $mysequence, 
 +
 +#                                             -format => 'Fasta', 
 +#                                             -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"; 
 +        } 
 +        } 
 + 
 + while ( my ($amino_acid, $codon) = each(%$prefered_codons) ) { 
 + 
 +print "AminoAcid : $amino_acid \t Codon : $codon\n";
 +$seqobj->generate_graph($myCodons,"/home/obiero/codonopt/myoutput.gif"); 
 +
 +codon($sequence); </code> 
 +<note warning> Note: You have to edit the paths to suite your setup. </note> 
 +==== Usefull ReGex ==== 
 +---- 
 +Merge sequence lines using sed:  
 + 
 +<code>$ grep -v Tp sequence | tr -d "\n" > new_sequence_file</code>
  
 +<code>$ grep -o <pattern> </code> This will grep only the part of matching line that matching the pattern eg How many occurence of "ATCG"  in a sequence?
bio/tools/codonopttable.txt · Last modified: 2010/06/30 19:52 by 172.26.15.75