bio:tools:codonopttable
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
bio:tools:codonopttable [2010/02/15 10:16] – 172.26.0.166 | bio:tools:codonopttable [2010/06/30 19:52] (current) – 172.26.15.75 | ||
---|---|---|---|
Line 70: | Line 70: | ||
Here is a python script that provides a Graphical User Interface: | Here is a python script that provides a Graphical User Interface: | ||
You need to have wxpython installed on your system. | You need to have wxpython installed on your system. | ||
- | <file> | + | <code python> |
# | # | ||
import wx | import wx | ||
import os | import os | ||
import random | import random | ||
+ | import re | ||
class testgui(wx.Frame): | class testgui(wx.Frame): | ||
def __init__(self, | def __init__(self, | ||
- | wx.Frame.__init__(self, | + | wx.Frame.__init__(self, |
# Menu stuff | # Menu stuff | ||
menubar =wx.MenuBar() | menubar =wx.MenuBar() | ||
Line 90: | Line 91: | ||
panel =wx.Panel(self, | panel =wx.Panel(self, | ||
hbsizer =wx.BoxSizer(wx.VERTICAL) | hbsizer =wx.BoxSizer(wx.VERTICAL) | ||
- | self.orig_text =wx.TextCtrl(panel, | + | self.orig_text =wx.TextCtrl(panel, |
# self.orig_text =wx.TextCtrl(panel, | # self.orig_text =wx.TextCtrl(panel, | ||
- | #Objects | + | #Objects |
self.orig_label =wx.StaticText(panel, | self.orig_label =wx.StaticText(panel, | ||
- | ok_button =wx.Button(panel, | + | |
- | cancel_button =wx.Button(panel, | + | cancel_button =wx.Button(panel, |
- | exit_button=wx.Button(panel, | + | |
- | disp =wx.StaticText(panel, | + | rhead =wx.Button(panel, |
- | + | | |
- | vsizer1 =wx.BoxSizer(wx.HORIZONTAL) | + | disp =wx.StaticText(panel, |
- | vsizer4 =wx.BoxSizer(wx.HORIZONTAL) | + | vsizer1 =wx.BoxSizer(wx.HORIZONTAL) |
- | vsizer5 =wx.BoxSizer(wx.HORIZONTAL) | + | vsizer4 =wx.BoxSizer(wx.HORIZONTAL) |
- | vsizer6 =wx.BoxSizer(wx.HORIZONTAL) | + | vsizer5 =wx.BoxSizer(wx.HORIZONTAL) |
- | vsizer2 =wx.BoxSizer(wx.HORIZONTAL) | + | vsizer6 =wx.BoxSizer(wx.HORIZONTAL) |
- | + | vsizer2 =wx.BoxSizer(wx.HORIZONTAL) | |
- | vsizer1.Add(self.orig_label, | + | |
- | vsizer2.Add(self.orig_text, | + | vsizer1.Add(self.orig_label, |
- | + | vsizer2.Add(self.orig_text, | |
- | vsizer5.Add(ok_button, | + | |
- | vsizer5.Add(cancel_button, | + | vsizer5.Add(rhead, |
- | vsizer5.Add(exit_button, | + | |
- | + | vsizer5.Add(ok_button, | |
- | vsizer6.Add(disp, | + | vsizer5.Add(cancel_button, |
- | + | vsizer5.Add(exit_button, | |
- | hbsizer.Add(vsizer1, | + | |
- | # | + | vsizer6.Add(disp, |
- | hbsizer.Add(vsizer2, | + | |
- | hbsizer.Add(vsizer4, | + | hbsizer.Add(vsizer1, |
- | hbsizer.Add(vsizer5, | + | # |
- | hbsizer.Add(vsizer6, | + | hbsizer.Add(vsizer2, |
- | + | hbsizer.Add(vsizer4, | |
+ | hbsizer.Add(vsizer5, | ||
+ | hbsizer.Add(vsizer6, | ||
+ | |||
#events | #events | ||
- | self.Bind(wx.EVT_BUTTON, | + | self.Bind(wx.EVT_BUTTON, |
- | self.Bind(wx.EVT_MENU, | + | self.Bind(wx.EVT_BUTTON, |
- | self.Bind(wx.EVT_BUTTON, | + | |
- | self.Bind(wx.EVT_BUTTON, | + | self.Bind(wx.EVT_MENU, |
- | #panel.CreateStatusBar() | + | self.Bind(wx.EVT_BUTTON, |
- | panel.SetSizer(hbsizer) | + | self.Bind(wx.EVT_BUTTON, |
- | self.Centre() | + | #pane l.CreateStatusBar() |
- | + | panel.SetSizer(hbsizer) | |
- | | + | self.Centre() |
+ | self.Show(True) | ||
def clear(self, | def clear(self, | ||
self.orig_text.SetValue('' | self.orig_text.SetValue('' | ||
- | + | def format_seq(self, | |
+ | originator=self.orig_text.GetValue() | ||
+ | comm=re.sub(' | ||
+ | self.orig_text.SetValue(comm) | ||
+ | def rheader(self, | ||
+ | originator=self.orig_text.GetValue() | ||
+ | comm=re.sub('> | ||
+ | self.orig_text.SetValue(comm) | ||
def soja(self, event=None): | def soja(self, event=None): | ||
- | | + | self.Close(True) |
def executa(self, | def executa(self, | ||
recordid=random.randint(20, | recordid=random.randint(20, | ||
Line 144: | Line 156: | ||
testgui(None, | testgui(None, | ||
app.MainLoop() | app.MainLoop() | ||
- | </ | + | |
+ | </code> | ||
+ | This is used together with the perl script: | ||
+ | <code perl># | ||
+ | use Bio:: | ||
+ | $sequence = $ARGV[0]; | ||
+ | sub codon { | ||
+ | my ($mysequence)=@_; | ||
+ | print $mysequence; | ||
+ | my $seqobj = Bio:: | ||
+ | -id => ' | ||
+ | -accession_number => ' | ||
+ | -alphabet => ' | ||
+ | -is_circular => 1, | ||
+ | -genetic_code => 1, | ||
+ | ); | ||
+ | #my $seqobj = Bio:: | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | # ); | ||
+ | my $myCodons = $seqobj-> | ||
+ | |||
+ | if($myCodons) | ||
+ | |||
+ | { | ||
+ | for my $each_aa (@$myCodons) | ||
+ | { | ||
+ | print " | ||
+ | print " | ||
+ | print " | ||
+ | print "RSCU Value : ", | ||
+ | print "RAC Value : ", | ||
+ | print " | ||
+ | } | ||
+ | } | ||
+ | |||
+ | while ( my ($amino_acid, | ||
+ | |||
+ | print " | ||
+ | $seqobj-> | ||
+ | } | ||
+ | codon($sequence); | ||
+ | <note warning> Note: You have to edit the paths to suite your setup. </ | ||
+ | |||
+ | ==== Usefull ReGex ==== | ||
+ | ---- | ||
+ | Merge sequence lines using sed: | ||
+ | |||
+ | < | ||
+ | |||
+ | < |
bio/tools/codonopttable.1266228962.txt.gz · Last modified: 2010/05/22 14:19 (external edit)